Todd Kjos 14fbfc9c0e ANDROID: GKI: 5/21 KMI update
Set KMI_GENERATION=5 for 5/21 KMI update

Leaf changes summary: 3222 artifacts changed
Changed leaf types summary: 28 leaf types changed
Removed/Changed/Added functions summary: 2 Removed, 3129 Changed, 1 Added function
Removed/Changed/Added variables summary: 1 Removed, 60 Changed, 1 Added variable

2 Removed functions:

  [D] 'function int __traceiter_android_vh_gic_v3_set_affinity(void*, irq_data*, const cpumask*, u64*, bool, void*)'
  [D] 'function ssize_t kernel_read(file*, void*, size_t, loff_t*)'

1 Added function:

  [A] 'function int __traceiter_android_rvh_gic_v3_set_affinity(void*, irq_data*, const cpumask*, u64*, bool, void*)'

3129 functions with some sub-type change:

  [C] 'function void* PDE_DATA(const inode*)' at generic.c:799:1 has some sub-type changes:
    CRC (modversions) changed from 0x27c5b1f0 to 0xff685e4c

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

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

  ... 3126 omitted; 3129 symbols have only CRC changes

1 Removed variable:

  [D] 'tracepoint __tracepoint_android_vh_gic_v3_set_affinity'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_rvh_gic_v3_set_affinity'

60 Changed variables:

  [C] 'pglist_data contig_page_data' was changed at memblock.c:96:1:
    size of symbol changed from 7296 to 5696
    CRC (modversions) changed from 0x4532035d to 0x173fa7a5
    type of variable changed:
      type size changed from 58368 to 45568 (in bits)
      there are data member changes:
        type 'zone[4]' of 'pglist_data::node_zones' changed:
          type name changed from 'zone[4]' to 'zone[3]'
          array type size changed from 51200 to 38400
          array type subrange 1 changed length from 4 to 3
          array element type 'struct zone' changed:
            type size hasn't changed
            there are data member changes:
              type 'long int[4]' of 'zone::lowmem_reserve' changed:
                type name changed from 'long int[4]' to 'long int[3]'
                array type size changed from 256 to 192
                array type subrange 1 changed length from 4 to 3
              11 ('pglist_data* zone_pgdat' .. 'int initialized') offsets changed (by -64 bits)
            3470 impacted interfaces
        'zonelist node_zonelists[1]' offset changed (by -128 bits)
        11 ('int nr_zones' .. 'int kswapd_order') offsets changed (by -12928 bits)
        type 'enum zone_type' of 'pglist_data::kswapd_highest_zoneidx' changed:
          type size hasn't changed
          1 enumerator deletion:
            'zone_type::ZONE_DMA' value '0'
          4 enumerator changes:
            'zone_type::ZONE_DMA32' from value '1' to '0' at mmzone.h:350:1
            'zone_type::ZONE_NORMAL' from value '2' to '1' at mmzone.h:350:1
            'zone_type::ZONE_MOVABLE' from value '3' to '2' at mmzone.h:350:1
            'zone_type::__MAX_NR_ZONES' from value '4' to '3' at mmzone.h:350:1
          3471 impacted interfaces
        and offset changed from 53664 to 40736 (in bits) (by -12928 bits)
        2 ('int kswapd_failures' .. 'int kcompactd_max_order') offsets changed (by -12928 bits)
        type 'enum zone_type' of 'pglist_data::kcompactd_highest_zoneidx' changed, as reported earlier
        and offset changed from 53760 to 40832 (in bits) (by -12928 bits)
        3 ('wait_queue_head_t kcompactd_wait' .. 'unsigned long int totalreserve_pages') offsets changed (by -12928 bits)
        8 ('zone_padding _pad1_' .. 'atomic_long_t vm_stat[38]') offsets changed (by -12800 bits)
      3470 impacted interfaces

  [C] 'task_struct init_task' was changed at init_task.c:64:1:
    CRC (modversions) changed from 0xff3c49af to 0x62435c95
    type of variable changed:
      type size hasn't changed
      1 data member deletion:
        'kunit* kunit_test', at offset 21184 (in bits) at sched.h:1255:1
      there are data member changes:
        19 ('unsigned long int trace' .. 'u64 android_kabi_reserved8') offsets changed (by -64 bits)
        type 'struct thread_struct' of 'task_struct::thread' changed:
          type size hasn't changed
          1 data member deletion:
            'u64 sctlr_tcf0', at offset 8576 (in bits) at processor.h:159:1
          1 data member insertion:
            'u64 sctlr_user', at offset 8640 (in bits) at processor.h:161:1
          there are data member changes:
            'u64 gcr_user_excl' offset changed (by -64 bits)
          3470 impacted interfaces
        and offset changed from 26880 to 26752 (in bits) (by -128 bits)
      3470 impacted interfaces

  [C] 'kmem_cache* kmalloc_caches[3][14]' was changed to 'kmem_cache* kmalloc_caches[2][14]' at slab_common.c:593:1:
    size of symbol changed from 336 to 224
    CRC (modversions) changed from 0x409fadd6 to 0x7eb5b122
    type of variable changed:
      type name changed from 'kmem_cache*[3][14]' to 'kmem_cache*[2][14]'
      array type size changed from 2688 to 1792
      array type subrange 1 changed length from 3 to 2

  [C] 'rq runqueues' was changed at core.c:49:1:
    size of symbol changed from 4160 to 4416
    CRC (modversions) changed from 0xa1b6d508 to 0xe2c232cf
    type of variable changed:
      type size changed from 33280 to 35328 (in bits)
      there are data member changes:
        'uclamp_rq uclamp[2]' size changed from 768 to 2688 (in bits) (by +1920 bits)
        'unsigned int uclamp_flags' offset changed (by +1920 bits)
        61 ('cfs_rq cfs' .. 'u64 android_kabi_reserved4') offsets changed (by +2048 bits)
      3470 impacted interfaces

  [C] 'static_key sched_feat_keys[22]' was changed to 'static_key sched_feat_keys[24]' at debug.c:80:1:
    size of symbol changed from 352 to 384
    CRC (modversions) changed from 0xcaebe5d2 to 0xef80ba0e
    type of variable changed:
      type name changed from 'static_key[22]' to 'static_key[24]'
      array type size changed from 2816 to 3072
      array type subrange 1 changed length from 22 to 24

  [C] 'const char* const sched_feat_names[22]' was changed to 'const char* const sched_feat_names[24]' at debug.c:51:1:
    size of symbol changed from 176 to 192
    CRC (modversions) changed from 0xaba74316 to 0x8ecc1cca
    type of variable changed:
      type name changed from 'const char* const[22]' to 'const char* const[24]'
      array type size changed from 1408 to 1536
      array type subrange 1 changed length from 22 to 24

  [C] 'vm_event_state vm_event_states' was changed at vmstat.c:108:1:
    size of symbol changed from 728 to 704
    CRC (modversions) changed from 0x62cac127 to 0xbe72514d
    type of variable changed:
      type size changed from 5824 to 5632 (in bits)
      there are data member changes:
        type 'unsigned long int[91]' of 'vm_event_state::event' changed:
          type name changed from 'unsigned long int[91]' to 'unsigned long int[88]'
          array type size changed from 5824 to 5632
          array type subrange 1 changed length from 91 to 88
      one impacted interface

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

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

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

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

'enum zone_type at mmzone.h:350:1' changed:
  enum type 'enum zone_type' changed at mmzone.h:350:1, as reported earlier
'struct amba_device at bus.h:64:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device_dma_parameters' of 'amba_device::dma_parms' changed:
      type size hasn't changed
      1 data member insertion:
        'unsigned int min_align_mask', at offset 32 (in bits) at device.h:294:1
      3470 impacted interfaces
  4 impacted interfaces

'struct blk_mq_tags at blk-mq-tag.h:8:1' changed:
  type size changed from 1536 to 1600 (in bits)
  1 data member insertion:
    'spinlock_t lock', at offset 1536 (in bits) at blk-mq-tag.h:28:1
  3470 impacted interfaces

'struct device_dma_parameters at device.h:288:1' changed:
  details were reported earlier

'struct dma_async_tx_descriptor at dmaengine.h:603:1' changed:
  type size changed from 704 to 896 (in bits)
  3 data member insertions:
    'dma_async_tx_descriptor* next', at offset 704 (in bits) at dmaengine.h:617:1
    'dma_async_tx_descriptor* parent', at offset 768 (in bits) at dmaengine.h:618:1
    'spinlock_t lock', at offset 832 (in bits) at dmaengine.h:619:1
  32 impacted interfaces

'struct mmc_bus_ops at core.h:20:1' changed:
  type size changed from 704 to 768 (in bits)
  1 data member insertion:
    'typedef bool (mmc_host*)* cache_enabled', at offset 704 (in bits) at core.h:32:1
  83 impacted interfaces

'struct mmc_host at host.h:276:1' changed:
  type size hasn't changed
  1 data member deletion:
    'notifier_block pm_notify', at offset 6784 (in bits) at host.h:291:1
  1 data member insertion:
    'u64 android_oem_data1', at offset 13184 (in bits) at host.h:488:1
  there are data member changes:
    31 ('wakeup_source* ws' .. 'int detect_change') offsets changed (by -192 bits)
    type 'struct mmc_slot' of 'mmc_host::slot' changed:
      type size changed from 128 to 256 (in bits)
      1 data member insertion:
        'u64 android_oem_data1[2]', at offset 64 (in bits) at host.h:249:1
      there are data member changes:
        'void* handler_priv' offset changed (by +128 bits)
      83 impacted interfaces
    and offset changed from 9728 to 9536 (in bits) (by -192 bits)
    24 ('const mmc_bus_ops* bus_ops' .. 'bool hsq_enabled') offsets changed (by -64 bits)
  83 impacted interfaces

'struct mmc_slot at host.h:244:1' changed:
  details were reported earlier

'struct pci_dev at pci.h:310:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device_dma_parameters' of 'pci_dev::dma_parms' changed, as reported earlier
  417 impacted interfaces

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

'struct platform_device at platform_device.h:22:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device_dma_parameters' of 'platform_device::dma_parms' changed, as reported earlier
  36 impacted interfaces

'struct queue_limits at blkdev.h:318:1' changed:
  type size changed from 960 to 896 (in bits)
  1 data member deletion:
    'unsigned int bio_max_bytes', at offset 0 (in bits) at blkdev.h:319:1
  there are data member changes:
    27 ('unsigned long int bounce_pfn' .. 'blk_zoned_model zoned') offsets changed (by -64 bits)
  3471 impacted interfaces

'struct request_queue at blkdev.h:398:1' changed (indirectly):
  type size changed from 15168 to 15104 (in bits)
  there are data member changes:
    type 'struct queue_limits' of 'request_queue::limits' changed, as reported earlier
    27 ('unsigned int required_elevator_features' .. 'u64 write_hints[5]') offsets changed (by -64 bits)
  3470 impacted interfaces

'struct rq at sched.h:914:1' changed (indirectly):
  details were reported earlier

'struct task_struct at sched.h:652:1' changed:
  details were reported earlier

'struct tcpm_port at tcpm.c:297:1' changed:
  type size changed from 98048 to 98944 (in bits)
  2 data member insertions:
    'hrtimer send_discover_timer', at offset 5376 (in bits) at tcpm.c:371:1
    'kthread_work send_discover_work', at offset 5952 (in bits) at tcpm.c:372:1
  there are data member changes:
    65 ('bool state_machine_running' .. 'u8* logbuffer[1024]') offsets changed (by +896 bits)
  17 impacted interfaces

'struct thread_struct at processor.h:131:1' changed:
  details were reported earlier

'struct track at slab.h:99:1' changed:
  type size changed from 1216 to 1280 (in bits)
  1 data member insertion:
    'u64 android_oem_data1', at offset 1216 (in bits) at slab.h:109:1
  one impacted interface

'struct uclamp_rq at sched.h:899:1' changed:
  type size changed from 384 to 1344 (in bits)
  there are data member changes:
    type 'uclamp_bucket[5]' of 'uclamp_rq::bucket' changed:
      type name changed from 'uclamp_bucket[5]' to 'uclamp_bucket[20]'
      array type size changed from 320 to 1280
      array type subrange 1 changed length from 5 to 20
  3470 impacted interfaces

'struct uclamp_se at sched.h:623:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    2 ('unsigned int active' .. 'unsigned int user_defined') offsets changed (by +2 bits)
  3470 impacted interfaces

'struct ucsi_connector at ucsi.h:311:1' changed:
  type size changed from 6592 to 6720 (in bits)
  there are data member changes:
    type 'u32[4]' of 'ucsi_connector::src_pdos' changed:
      type name changed from 'u32[4]' to 'u32[7]'
      array type size changed from 128 to 224
      array type subrange 1 changed length from 4 to 7
    'int num_pdos' offset changed (by +96 bits)
    'usb_role_switch* usb_role_sw' offset changed (by +128 bits)
  7 impacted interfaces

'struct user_namespace at user_namespace.h:57:1' changed:
  type size changed from 4416 to 4480 (in bits)
  1 data member insertion:
    'bool parent_could_setfcap', at offset 2240 (in bits) at user_namespace.h:70:1
  there are data member changes:
    10 ('list_head keyring_name_list' .. 'u64 android_kabi_reserved2') offsets changed (by +64 bits)
  3470 impacted interfaces

'struct v4l2_ctrl_ref at v4l2-ctrls.h:317:1' changed:
  type size changed from 512 to 448 (in bits)
  1 data member deletion:
    'v4l2_ctrl_ref* req', at offset 384 (in bits) at v4l2-ctrls.h:324:1
  1 data member insertion:
    'bool valid_p_req', at offset 336 (in bits) at v4l2-ctrls.h:326:1
  there are data member changes:
    'v4l2_ctrl_ptr p_req' offset changed (by -64 bits)
  31 impacted interfaces

'struct virt_dma_desc at virt-dma.h:15:1' changed (indirectly):
  type size changed from 896 to 1088 (in bits)
  there are data member changes:
    type 'struct dma_async_tx_descriptor' of 'virt_dma_desc::tx' changed, as reported earlier
    2 ('dmaengine_result tx_result' .. 'list_head node') offsets changed (by +192 bits)
  3 impacted interfaces

'struct vm_event_state at vmstat.h:54:1' changed:
  details were reported earlier

'struct vm_struct at vmalloc.h:51:1' changed:
  type size changed from 512 to 576 (in bits)
  1 data member insertion:
    'u64 android_oem_data1', at offset 512 (in bits) at vmalloc.h:61:1
  3470 impacted interfaces

'struct zone at mmzone.h:431:1' changed:
  details were reported earlier

'struct zonelist at mmzone.h:704:1' changed:
  type size changed from 640 to 512 (in bits)
  there are data member changes:
    type 'zoneref[5]' of 'zonelist::_zonerefs' changed:
      type name changed from 'zoneref[5]' to 'zoneref[4]'
      array type size changed from 640 to 512
      array type subrange 1 changed length from 5 to 4
  3470 impacted interfaces

Bug: 188840887
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I734ae5ca74071150e0097dfa22c53296872b8af7
2021-05-21 13:17:10 -07:00
2021-05-21 13:17:10 -07:00
2021-05-15 09:28:55 +02:00
2021-05-20 15:35:25 +02:00
2021-05-20 15:35:25 +02:00
2021-05-20 15:35:25 +02:00
2021-05-20 15:35:25 +02:00
2021-05-20 15:35:25 +02:00
2021-05-20 15:35:25 +02:00

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)
Description
No description provided
Readme 7.9 GiB
Languages
C 97.7%
Assembly 1.6%
Makefile 0.3%
Perl 0.1%