ANDROID: GKI: 6/18/2021 KMI update

Set KMI_GENERATION=7 for 6/18 KMI update

Leaf changes summary: 2925 artifacts changed
Changed leaf types summary: 24 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2847 Changed, 3 Added functions
Removed/Changed/Added variables summary: 0 Removed, 51 Changed, 0 Added variable

3 Added functions:

  [A] 'function void pci_disable_sriov(pci_dev*)'
  [A] 'function int pci_enable_sriov(pci_dev*, int)'
  [A] 'function int pci_vfs_assigned(pci_dev*)'

2847 functions with some sub-type change:

  [C] 'function int __traceiter_android_vh_gic_resume(void*, irq_domain*, void*)' at gic.h:15:1 has some sub-type changes:
    CRC (modversions) changed from 0x79c6efed to 0xd99a1ac6
    parameter 3 of type 'void*' was removed
    parameter 2 of type 'irq_domain*' changed:
      pointer type changed from: 'irq_domain*' to: 'gic_chip_data*'

  [C] 'function void* PDE_DATA(const inode*)' at proc_fs.h:112:1 has some sub-type changes:
    CRC (modversions) changed from 0x121116eb to 0x1c3ef274

  [C] 'function void __ClearPageMovable(page*)' at compaction.c:138:1 has some sub-type changes:
    CRC (modversions) changed from 0xc952c645 to 0xdc28d620

  [C] 'function void __SetPageMovable(page*, address_space*)' at compaction.c:130:1 has some sub-type changes:
    CRC (modversions) changed from 0x6c94b8ab to 0xd7b7b883

  ... 2843 omitted; 2846 symbols have only CRC changes

51 Changed variables:

  [C] 'pglist_data contig_page_data' was changed at memblock.c:96:1:
    CRC (modversions) changed from 0x1f395adc to 0x7ce0db01
    type of variable changed:
      type size hasn't changed
      1 data member insertion:
        'bool proactive_compact_trigger', at offset 41152 (in bits) at mmzone.h:786:1
      there are data member changes:
        'unsigned long int totalreserve_pages' offset changed (by +64 bits)
      3752 impacted interfaces

  [C] 'bus_type amba_bustype' was changed at bus.c:215:1:
    CRC (modversions) changed from 0x1782f569 to 0x13c06cac

  [C] 'neigh_table arp_tbl' was changed at arp.c:152:1:
    CRC (modversions) changed from 0x832f8bb5 to 0x56697f62

  [C] 'const address_space_operations balloon_aops' was changed at balloon_compaction.c:253:1:
    CRC (modversions) changed from 0x31e6cab1 to 0xf0207a10

  ... 47 omitted; 50 symbols have only CRC changes

'struct dev_pm_qos_request at pm_qos.h:107:1' changed (indirectly):
  type size changed from 576 to 704 (in bits)
  there are data member changes:
    type 'union {plist_node pnode; pm_qos_flags_request flr; freq_qos_request freq;}' of 'dev_pm_qos_request::data' changed:
      type size changed from 448 to 576 (in bits)
      there are data member changes:
        type 'struct freq_qos_request' of '__anonymous_union__::freq' changed:
          type size changed from 448 to 576 (in bits)
          1 data member insertion:
            'u64 android_oem_data1[2]', at offset 448 (in bits) at pm_qos.h:96:1
          3755 impacted interfaces
    'device* dev' offset changed (by +128 bits)
  3752 impacted interfaces

'struct devfreq at devfreq.h:172:1' changed (indirectly):
  type size changed from 16512 to 16768 (in bits)
  there are data member changes:
    type 'struct dev_pm_qos_request' of 'devfreq::user_min_freq_req' changed, as reported earlier
    type 'struct dev_pm_qos_request' of 'devfreq::user_max_freq_req' changed, as reported earlier
    and offset changed from 9152 to 9280 (in bits) (by +128 bits)
    10 ('unsigned long int scaling_min_freq' .. 'notifier_block nb_max') offsets changed (by +256 bits)
  59 impacted interfaces

'struct driver_info at usbnet.h:94:1' changed:
  type size changed from 1152 to 1280 (in bits)
  2 data member insertions:
    'u64 android_kabi_reserved1', at offset 1152 (in bits) at usbnet.h:183:1
    'u64 android_kabi_reserved2', at offset 1216 (in bits) at usbnet.h:184:1
  10 impacted interfaces

'struct freq_qos_request at pm_qos.h:92:1' changed:
  details were reported earlier

'struct hc_driver at hcd.h:249:1' changed:
  type size changed from 2880 to 3136 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 2880 (in bits) at hcd.h:419:1
    'u64 android_kabi_reserved2', at offset 2944 (in bits) at hcd.h:420:1
    'u64 android_kabi_reserved3', at offset 3008 (in bits) at hcd.h:421:1
    'u64 android_kabi_reserved4', at offset 3072 (in bits) at hcd.h:422:1
  43 impacted interfaces

'struct pci_dev at pci.h:310:1' changed:
  type size changed from 19328 to 24768 (in bits)
  3 data member insertions:
    'union {pci_sriov* sriov; pci_dev* physfn;}', at offset 24128 (in bits) at pci.h:479:1
    'u16 ats_cap', at offset 24192 (in bits) at pci.h:483:1
    'u8 ats_stu', at offset 24208 (in bits) at pci.h:484:1
  there are data member changes:
    type 'resource[11]' of 'pci_dev::resource' changed:
      type name changed from 'resource[11]' to 'resource[17]'
      array type size changed from 8448 to 13056
      array type subrange 1 changed length from 11 to 17
    7 ('bool match_driver' .. 'int rom_attr_enabled') offsets changed (by +4608 bits)
    type 'bin_attribute*[11]' of 'pci_dev::res_attr' changed:
      type name changed from 'bin_attribute*[11]' to 'bin_attribute*[17]'
      array type size changed from 704 to 1088
      array type subrange 1 changed length from 11 to 17
    and offset changed from 17216 to 21824 (in bits) (by +4608 bits)
    type 'bin_attribute*[11]' of 'pci_dev::res_attr_wc' changed:
      type name changed from 'bin_attribute*[11]' to 'bin_attribute*[17]'
      array type size changed from 704 to 1088
      array type subrange 1 changed length from 11 to 17
    and offset changed from 17920 to 22912 (in bits) (by +4992 bits)
    2 ('const attribute_group** msi_irq_groups' .. 'pci_vpd* vpd') offsets changed (by +5376 bits)
    'u16 acs_cap' offset changed (by +5472 bits)
    8 ('phys_addr_t rom' .. 'u64 android_kabi_reserved4') offsets changed (by +5440 bits)
  426 impacted interfaces

'struct pglist_data at mmzone.h:729:1' changed:
  details were reported earlier

'struct snd_compr at compress_driver.h:146:1' changed:
  type size changed from 7168 to 7808 (in bits)
  3 data member insertions:
    'char id[64]', at offset 7136 (in bits) at compress_driver.h:157:1
    'snd_info_entry* proc_root', at offset 7680 (in bits) at compress_driver.h:158:1
    'snd_info_entry* proc_info_entry', at offset 7744 (in bits) at compress_driver.h:159:1
  70 impacted interfaces

'struct snd_pcm at pcm.h:509:1' changed (indirectly):
  type size changed from 15680 to 15808 (in bits)
  there are data member changes:
    'snd_pcm_str streams[2]' size changed from 13440 to 13568 (in bits) (by +128 bits)
    7 ('mutex open_mutex' .. 'bool no_device_suspend') offsets changed (by +128 bits)
  97 impacted interfaces

'struct snd_pcm_str at pcm.h:488:1' changed:
  type size changed from 6720 to 6784 (in bits)
  1 data member insertion:
    'snd_info_entry* proc_root', at offset 256 (in bits) at pcm.h:500:1
  there are data member changes:
    2 ('snd_kcontrol* chmap_kctl' .. 'device dev') offsets changed (by +64 bits)
  97 impacted interfaces

'struct snd_pcm_substream at pcm.h:442:1' changed:
  type size changed from 2944 to 3008 (in bits)
  1 data member insertion:
    'snd_info_entry* proc_root', at offset 2880 (in bits) at pcm.h:478:1
  97 impacted interfaces

'struct tcpm_port at tcpm.c:298:1' changed:
  type size changed from 99328 to 99520 (in bits)
  2 data member insertions:
    'u32 snk_vdo_v1[6]', at offset 8768 (in bits) at tcpm.c:405:1
    'unsigned int nr_snk_vdo_v1', at offset 8960 (in bits) at tcpm.c:406:1
  there are data member changes:
    8 ('u32 snk_vdo[6]' .. 'u32 supply_voltage') offsets changed (by +224 bits)
    32 ('power_supply* psy' .. 'u8* logbuffer[1024]') offsets changed (by +192 bits)
  17 impacted interfaces

'struct ufs_hba at ufshcd.h:720:1' changed:
  type size changed from 34176 to 35328 (in bits)
  1 data member insertion:
    'ufs_hba_monitor monitor', at offset 32320 (in bits) at ufshcd.h:866:1
  there are data member changes:
    5 ('ufs_crypto_capabilities crypto_capabilities' .. 'dentry* debugfs_root') offsets changed (by +1152 bits)
  37 impacted interfaces

'struct ufshcd_lrb at ufshcd.h:193:1' changed:
  type size hasn't changed
  1 data member deletion:
    'bool in_use', at offset 1096 (in bits) at ufshcd.h:221:1
  37 impacted interfaces

'struct urb at usb.h:1563:1' changed:
  type size changed from 1472 to 1728 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 1472 (in bits) at usb.h:1625:1
    'u64 android_kabi_reserved2', at offset 1536 (in bits) at usb.h:1626:1
    'u64 android_kabi_reserved3', at offset 1600 (in bits) at usb.h:1627:1
    'u64 android_kabi_reserved4', at offset 1664 (in bits) at usb.h:1628:1
  there are data member changes:
    'usb_iso_packet_descriptor iso_frame_desc[]' offset changed (by +256 bits)
  62 impacted interfaces

'struct usb_bus at usb.h:424:1' changed:
  type size changed from 1152 to 1408 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 1152 (in bits) at usb.h:480:1
    'u64 android_kabi_reserved2', at offset 1216 (in bits) at usb.h:481:1
    'u64 android_kabi_reserved3', at offset 1280 (in bits) at usb.h:482:1
    'u64 android_kabi_reserved4', at offset 1344 (in bits) at usb.h:483:1
  86 impacted interfaces

'struct usb_device at usb.h:631:1' changed:
  type size changed from 11456 to 11712 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 11456 (in bits) at usb.h:729:1
    'u64 android_kabi_reserved2', at offset 11520 (in bits) at usb.h:730:1
    'u64 android_kabi_reserved3', at offset 11584 (in bits) at usb.h:731:1
    'u64 android_kabi_reserved4', at offset 11648 (in bits) at usb.h:732:1
  86 impacted interfaces

'struct usb_driver at usb.h:1186:1' changed:
  type size changed from 2176 to 2432 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 2176 (in bits) at usb.h:1235:1
    'u64 android_kabi_reserved2', at offset 2240 (in bits) at usb.h:1236:1
    'u64 android_kabi_reserved3', at offset 2304 (in bits) at usb.h:1237:1
    'u64 android_kabi_reserved4', at offset 2368 (in bits) at usb.h:1238:1
  2 impacted interfaces

'struct usb_hcd at hcd.h:81:1' changed:
  type size changed from 4992 to 5504 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 5248 (in bits) at hcd.h:229:1
    'u64 android_kabi_reserved2', at offset 5312 (in bits) at hcd.h:230:1
    'u64 android_kabi_reserved3', at offset 5376 (in bits) at hcd.h:231:1
    'u64 android_kabi_reserved4', at offset 5440 (in bits) at hcd.h:232:1
  there are data member changes:
    type 'struct usb_bus' of 'usb_hcd::self' changed, as reported earlier
    27 ('kref' .. 'gen_pool* localmem_pool') offsets changed (by +256 bits)
    'unsigned long int hcd_priv[]' offset changed (by +512 bits)
  43 impacted interfaces

'struct usb_host_bos at usb.h:396:1' changed:
  type size changed from 384 to 640 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 384 (in bits) at usb.h:412:1
    'u64 android_kabi_reserved2', at offset 448 (in bits) at usb.h:413:1
    'u64 android_kabi_reserved3', at offset 512 (in bits) at usb.h:414:1
    'u64 android_kabi_reserved4', at offset 576 (in bits) at usb.h:415:1
  86 impacted interfaces

'struct usb_interface at usb.h:232:1' changed:
  type size changed from 7104 to 7360 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 7104 (in bits) at usb.h:262:1
    'u64 android_kabi_reserved2', at offset 7168 (in bits) at usb.h:263:1
    'u64 android_kabi_reserved3', at offset 7232 (in bits) at usb.h:264:1
    'u64 android_kabi_reserved4', at offset 7296 (in bits) at usb.h:265:1
  94 impacted interfaces

'struct usb_tt at hcd.h:554:1' changed:
  type size changed from 640 to 896 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 640 (in bits) at hcd.h:575:1
    'u64 android_kabi_reserved2', at offset 704 (in bits) at hcd.h:576:1
    'u64 android_kabi_reserved3', at offset 768 (in bits) at hcd.h:577:1
    'u64 android_kabi_reserved4', at offset 832 (in bits) at hcd.h:578:1
  86 impacted interfaces

'struct usbnet at usbnet.h:27:1' changed:
  type size changed from 5120 to 5376 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 5120 (in bits) at usbnet.h:89:1
    'u64 android_kabi_reserved2', at offset 5184 (in bits) at usbnet.h:90:1
    'u64 android_kabi_reserved3', at offset 5248 (in bits) at usbnet.h:91:1
    'u64 android_kabi_reserved4', at offset 5312 (in bits) at usbnet.h:92:1
  10 impacted interfaces

'struct vm_fault at mm.h:528:1' changed:
  type size changed from 1088 to 1216 (in bits)
  1 data member insertion:
    'u64 android_oem_data1[2]', at offset 1088 (in bits) at mm.h:576:1
  3752 impacted interfaces

Bug: 190227201
Signed-off-by: Sandeep Patil <sspatil@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1e308417a29408190a4deffa965edb454ca5c34d
3 files changed
tree: a4421bd38d7978880de184f2aa7a3fa21a8faa7b
  1. android/
  2. arch/
  3. block/
  4. certs/
  5. crypto/
  6. Documentation/
  7. drivers/
  8. fs/
  9. include/
  10. init/
  11. ipc/
  12. kernel/
  13. lib/
  14. LICENSES/
  15. mm/
  16. net/
  17. samples/
  18. scripts/
  19. security/
  20. sound/
  21. tools/
  22. usr/
  23. virt/
  24. .clang-format
  25. .cocciconfig
  26. .get_maintainer.ignore
  27. .gitattributes
  28. .gitignore
  29. .mailmap
  30. build.config.aarch64
  31. build.config.allmodconfig
  32. build.config.allmodconfig.aarch64
  33. build.config.allmodconfig.arm
  34. build.config.allmodconfig.x86_64
  35. build.config.amlogic
  36. build.config.arm
  37. build.config.common
  38. build.config.db845c
  39. build.config.gki
  40. build.config.gki-debug.aarch64
  41. build.config.gki-debug.x86_64
  42. build.config.gki.aarch64
  43. build.config.gki.aarch64.fips140
  44. build.config.gki.x86_64
  45. build.config.gki_kasan
  46. build.config.gki_kasan.aarch64
  47. build.config.gki_kasan.x86_64
  48. build.config.gki_kprobes
  49. build.config.gki_kprobes.aarch64
  50. build.config.gki_kprobes.x86_64
  51. build.config.hikey960
  52. build.config.khwasan
  53. build.config.x86_64
  54. COPYING
  55. CREDITS
  56. Kbuild
  57. Kconfig
  58. MAINTAINERS
  59. Makefile
  60. OWNERS
  61. README
  62. README.md
README.md

How do I submit patches to Android Common Kernels

  1. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.

    • Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux, additions of EXPORT_SYMBOL_GPL() require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export.
    • When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
  2. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.

Common Kernel patch requirements

  • All patches must conform to the Linux kernel coding standards and pass script/checkpatch.pl
  • Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
  • If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch: UPSTREAM:, BACKPORT:, FROMGIT:, FROMLIST:, or ANDROID:.
  • All patches must have a Change-Id: tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
  • If an Android bug has been assigned, there must be a Bug: tag.
  • All patches must have a Signed-off-by: tag by the author and the submitter

Additional requirements are listed below based on patch type

Requirements for backports from mainline Linux: UPSTREAM:, BACKPORT:

  • If the patch is a cherry-pick from Linux mainline with no changes at all
    • tag the patch subject with UPSTREAM:.
    • add upstream commit information with a (cherry picked from commit ...) line
    • Example:
      • if the upstream commit message is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
  • then Joe Smith would upload the patch for the common kernel as
        UPSTREAM: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch requires any changes from the upstream version, tag the patch with BACKPORT: instead of UPSTREAM:.
    • use the same tags as UPSTREAM:
    • add comments about the changes under the (cherry picked from commit ...) line
    • Example:
        BACKPORT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
        [joe: Resolved minor conflict in drivers/foo/bar.c ]
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for other backports: FROMGIT:, FROMLIST:,

  • If the patch has been merged into an upstream maintainer tree, but has not yet been merged into Linux mainline
    • tag the patch subject with FROMGIT:
    • add info on where the patch came from as (cherry picked from commit <sha1> <repo> <branch>). This must be a stable maintainer branch (not rebased, so don't use linux-next for example).
    • if changes were required, use BACKPORT: FROMGIT:
    • Example:
      • if the commit message in the maintainer tree is
        important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>
  • then Joe Smith would upload the patch for the common kernel as
        FROMGIT: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
         https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch has been submitted to LKML, but not accepted into any maintainer tree
    • tag the patch subject with FROMLIST:
    • add a Link: tag with a link to the submittal on lore.kernel.org
    • add a Bug: tag with the Android bug (required for patches not accepted into a maintainer tree)
    • if changes were required, use BACKPORT: FROMLIST:
    • Example:
        FROMLIST: important patch from upstream

        This is the detailed description of the important patch

        Signed-off-by: Fred Jones <fred.jones@foo.org>

        Bug: 135791357
        Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>

Requirements for Android-specific patches: ANDROID:

  • If the patch is fixing a bug to Android-specific code
    • tag the patch subject with ANDROID:
    • add a Fixes: tag that cites the patch with the bug
    • Example:
        ANDROID: fix android-specific bug in foobar.c

        This is the detailed description of the important fix

        Fixes: 1234abcd2468 ("foobar: add cool feature")
        Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
        Signed-off-by: Joe Smith <joe.smith@foo.org>
  • If the patch is a new feature
    • tag the patch subject with ANDROID:
    • add a Bug: tag with the Android bug (required for android-specific features)