Todd Kjos dfbe3db20d ANDROID: refresh ABI XML before enabling KMI enforcement
Leaf changes summary: 2670 artifacts changed
Changed leaf types summary: 22 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2573 Changed, 19 Added functions
Removed/Changed/Added variables summary: 0 Removed, 49 Changed, 7 Added variables

19 Added functions:

  [A] 'function void __cfi_slowpath(uint64_t, void*, void*)'
  [A] 'function void* android_debug_per_cpu_symbol(android_debug_per_cpu_symbol)'
  [A] 'function void* android_debug_symbol(android_debug_symbol)'
  [A] 'function long int copy_from_kernel_nofault(void*, void*, size_t)'
  [A] 'function irq_desc** ipi_desc_get()'
  [A] 'function unsigned int kstat_irqs_cpu(unsigned int, int)'
  [A] 'function unsigned int kstat_irqs_usr(unsigned int)'
  [A] 'function char* log_buf_addr_get()'
  [A] 'function u32 log_buf_len_get()'
  [A] 'function int nr_ipi_get()'
  [A] 'function int pci_dev_present(const pci_device_id*)'
  [A] 'function phys_addr_t per_cpu_ptr_to_phys(void*)'
  [A] 'function int register_die_notifier(notifier_block*)'
  [A] 'function int register_module_notifier(notifier_block*)'
  [A] 'function int sched_setattr(task_struct*, const sched_attr*)'
  [A] 'function int seq_buf_printf(seq_buf*, const char*, ...)'
  [A] 'function int sysfs_emit(char*, const char*, ...)'
  [A] 'function int unregister_die_notifier(notifier_block*)'
  [A] 'function int unregister_module_notifier(notifier_block*)'

2573 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 0x8f0b8b7c to 0x44ca679

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

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

  ... 2570 omitted; 2573 symbols have only CRC changes

7 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_ftrace_dump_buffer'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_format_check'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_oops_enter'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_oops_exit'
  [A] 'tracepoint __tracepoint_android_vh_ftrace_size_check'
  [A] 'kernel_stat kstat'
  [A] 'int nr_irqs'

49 Changed variables:

  [C] 'task_struct init_task' was changed at init_task.c:64:1:
    size of symbol changed from 4288 to 4480
    CRC (modversions) changed from 0x81ecaff to 0x44b5de7e
    type of variable changed:
      type size changed from 34304 to 35840 (in bits)
      10 data member insertions:
        'unsigned long int last_switch_count', at offset 15680 (in bits) at sched.h:972:1
        'unsigned long int last_switch_time', at offset 15744 (in bits) at sched.h:973:1
        'u64 android_kabi_reserved1', at offset 26304 (in bits) at sched.h:1374:1
        'u64 android_kabi_reserved2', at offset 26368 (in bits) at sched.h:1375:1
        'u64 android_kabi_reserved3', at offset 26432 (in bits) at sched.h:1376:1
        'u64 android_kabi_reserved4', at offset 26496 (in bits) at sched.h:1377:1
        'u64 android_kabi_reserved5', at offset 26560 (in bits) at sched.h:1378:1
        'u64 android_kabi_reserved6', at offset 26624 (in bits) at sched.h:1379:1
        'u64 android_kabi_reserved7', at offset 26688 (in bits) at sched.h:1380:1
        'u64 android_kabi_reserved8', at offset 26752 (in bits) at sched.h:1381:1
      there are data member changes:
        type 'struct sched_entity' of 'task_struct::se' changed:
          type size changed from 3584 to 4096 (in bits)
          4 data member insertions:
            'u64 android_kabi_reserved1', at offset 3584 (in bits) at sched.h:490:1
            'u64 android_kabi_reserved2', at offset 3648 (in bits) at sched.h:491:1
            'u64 android_kabi_reserved3', at offset 3712 (in bits) at sched.h:492:1
            'u64 android_kabi_reserved4', at offset 3776 (in bits) at sched.h:493:1
          2709 impacted interfaces
        type 'struct sched_rt_entity' of 'task_struct::rt' changed:
          type size changed from 384 to 640 (in bits)
          4 data member insertions:
            'u64 android_kabi_reserved1', at offset 384 (in bits) at sched.h:513:1
            'u64 android_kabi_reserved2', at offset 448 (in bits) at sched.h:514:1
            'u64 android_kabi_reserved3', at offset 512 (in bits) at sched.h:515:1
            'u64 android_kabi_reserved4', at offset 576 (in bits) at sched.h:516:1
          2709 impacted interfaces
        and offset changed from 5120 to 5632 (in bits) (by +512 bits)
        76 ('task_group* sched_task_group' .. 'nameidata* nameidata') offsets changed (by +768 bits)
        57 ('fs_struct* fs' .. 'tlbflush_unmap_batch tlb_ubc') offsets changed (by +896 bits)
        while looking at anonymous data member 'union {refcount_t rcu_users; callback_head rcu;}':
        the internal name of that anonymous data member changed from:
         __anonymous_union__42
        to:
         __anonymous_union__7
         This is usually due to an anonymous member type being added or removed from the containing type
        and offset changed from 19648 to 20544 (in bits) (by +896 bits)
        20 ('pipe_inode_info* splice_pipe' .. 'u64 android_oem_data1[6]') offsets changed (by +896 bits)
        'thread_struct thread' offset changed (by +1408 bits)
      2709 impacted interfaces

  [C] 'task_group root_task_group' was changed at core.c:7333:1:
    CRC (modversions) changed from 0x9b394bce to 0x5a6eab97
    type of variable changed:
      type size hasn't changed
      4 data member insertions:
        'u64 android_kabi_reserved1', at offset 3200 (in bits) at sched.h:433:1
        'u64 android_kabi_reserved2', at offset 3264 (in bits) at sched.h:434:1
        'u64 android_kabi_reserved3', at offset 3328 (in bits) at sched.h:435:1
        'u64 android_kabi_reserved4', at offset 3392 (in bits) at sched.h:436:1
      2709 impacted interfaces

  [C] 'rq runqueues' was changed at core.c:49:1:
    CRC (modversions) changed from 0xdbe39db6 to 0xfbaeea47
    type of variable changed:
      type size hasn't changed
      4 data member insertions:
        'u64 android_kabi_reserved1', at offset 32832 (in bits) at sched.h:1072:1
        'u64 android_kabi_reserved2', at offset 32896 (in bits) at sched.h:1073:1
        'u64 android_kabi_reserved3', at offset 32960 (in bits) at sched.h:1074:1
        'u64 android_kabi_reserved4', at offset 33024 (in bits) at sched.h:1075:1
      2709 impacted interfaces

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

  [C] 'const clk_ops clk_fixed_factor_ops' was changed at clk-fixed-factor.c:60:1:
    CRC (modversions) changed from 0x3c1cb271 to 0x8a6ece13

  [C] 'const clk_ops clk_fixed_rate_ops' was changed at clk-fixed-rate.c:46:1:
    CRC (modversions) changed from 0xd36c1692 to 0x3ea7e2f0

  ... 43 omitted; 46 symbols have only CRC changes

'struct class at class.h:54:1' changed:
  type size changed from 960 to 1024 (in bits)
  1 data member insertion:
    'u64 android_kabi_reserved1', at offset 960 (in bits) at class.h:79:1
  2709 impacted interfaces

'struct cma at cma.h:7:1' changed:
  type size changed from 1280 to 1472 (in bits)
  3 data member insertions:
    'atomic64_t nr_pages_succeeded', at offset 1280 (in bits) at cma.h:27:1
    'atomic64_t nr_pages_failed', at offset 1344 (in bits) at cma.h:29:1
    'cma_kobject* cma_kobj', at offset 1408 (in bits) at cma.h:31:1
  2711 impacted interfaces

'struct device_link at device.h:571:1' changed:
  type size changed from 6976 to 7104 (in bits)
  2 data member insertions:
    'u64 android_kabi_reserved1', at offset 6976 (in bits) at device.h:585:1
    'u64 android_kabi_reserved2', at offset 7040 (in bits) at device.h:586:1
  2 impacted interfaces

'struct device_node at of.h:51:1' changed (indirectly):
  type size changed from 1920 to 1984 (in bits)
  there are data member changes:
    type 'struct fwnode_handle' of 'device_node::fwnode' changed:
      type size changed from 512 to 576 (in bits)
      1 data member insertion:
        'u64 android_kabi_reserved1', at offset 512 (in bits) at fwnode.h:38:1
      2709 impacted interfaces
    8 ('property* properties' .. 'void* data') offsets changed (by +64 bits)
  2709 impacted interfaces

'struct drm_crtc_helper_funcs at drm_modeset_helper_vtables.h:61:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*' of 'drm_crtc_helper_funcs::mode_set_base_atomic' changed:
      pointer type changed from: 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*' to: 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*'
  246 impacted interfaces

'struct fwnode_handle at fwnode.h:30:1' changed:
  details were reported earlier

'struct iommu_flush_ops at io-pgtable.h:39:1' changed:
  type size changed from 256 to 192 (in bits)
  1 data member deletion:
    'void (unsigned long int, typedef size_t, typedef size_t, void*)* tlb_flush_leaf', at offset 128 (in bits) at io-pgtable.h:43:1
  there are data member changes:
    'void (iommu_iotlb_gather*, unsigned long int, typedef size_t, void*)* tlb_add_page' offset changed (by -64 bits)
  one impacted interface

'struct iommu_ops at iommu.h:248:1' changed:
  type size hasn't changed
  there are data member changes:
    type 'void (iommu_domain*)*' of 'iommu_ops::iotlb_sync_map' changed:
      pointer type changed from: 'void (iommu_domain*)*' to: 'void (iommu_domain*, unsigned long int, typedef size_t)*'
  2709 impacted interfaces

'struct module at module.h:366:1' changed:
  type size changed from 7680 to 8192 (in bits)
  5 data member insertions:
    'cfi_check_fn cfi_check', at offset 2176 (in bits) at module.h:390:1
    'u64 android_kabi_reserved1', at offset 7744 (in bits) at module.h:550:1
    'u64 android_kabi_reserved2', at offset 7808 (in bits) at module.h:551:1
    'u64 android_kabi_reserved3', at offset 7872 (in bits) at module.h:552:1
    'u64 android_kabi_reserved4', at offset 7936 (in bits) at module.h:553:1
  there are data member changes:
    15 ('mutex param_lock' .. 'int ()* init') offsets changed (by +64 bits)
    40 ('module_layout core_layout' .. 'unsigned int num_ei_funcs') offsets changed (by +512 bits)
  2709 impacted interfaces

'struct root_domain at sched.h:777:1' changed:
  type size changed from 14848 to 15104 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 14848 (in bits) at sched.h:838:1
    'u64 android_kabi_reserved2', at offset 14912 (in bits) at sched.h:839:1
    'u64 android_kabi_reserved3', at offset 14976 (in bits) at sched.h:840:1
    'u64 android_kabi_reserved4', at offset 15040 (in bits) at sched.h:841:1
  2709 impacted interfaces

'struct rq at sched.h:897:1' changed:
  details were reported earlier

'struct sched_entity at sched.h:452:1' changed:
  details were reported earlier

'struct sched_rt_entity at sched.h:490:1' changed:
  details were reported earlier

'struct signal_struct at signal.h:82:1' changed:
  type size changed from 8448 to 8704 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 8448 (in bits) at signal.h:240:1
    'u64 android_kabi_reserved2', at offset 8512 (in bits) at signal.h:241:1
    'u64 android_kabi_reserved3', at offset 8576 (in bits) at signal.h:242:1
    'u64 android_kabi_reserved4', at offset 8640 (in bits) at signal.h:243:1
  2709 impacted interfaces

'struct sk_buff at skbuff.h:714:1' changed:
  type size hasn't changed
  2 data member insertions:
    '__u8 redirected', at offset 5 (in bits) at skbuff.h:856:1
    '__u8 from_ingress', at offset 6 (in bits) at skbuff.h:857:1
  2709 impacted interfaces

'struct sock at sock.h:347:1' changed:
  type size changed from 6144 to 6656 (in bits)
  8 data member insertions:
    'u64 android_kabi_reserved1', at offset 6144 (in bits) at sock.h:525:1
    'u64 android_kabi_reserved2', at offset 6208 (in bits) at sock.h:526:1
    'u64 android_kabi_reserved3', at offset 6272 (in bits) at sock.h:527:1
    'u64 android_kabi_reserved4', at offset 6336 (in bits) at sock.h:528:1
    'u64 android_kabi_reserved5', at offset 6400 (in bits) at sock.h:529:1
    'u64 android_kabi_reserved6', at offset 6464 (in bits) at sock.h:530:1
    'u64 android_kabi_reserved7', at offset 6528 (in bits) at sock.h:531:1
    'u64 android_kabi_reserved8', at offset 6592 (in bits) at sock.h:532:1
  2709 impacted interfaces

'struct task_group at sched.h:379:1' changed:
  details were reported earlier

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

'struct vfsmount at mount.h:71:1' changed:
  type size changed from 192 to 448 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 192 (in bits) at mount.h:77:1
    'u64 android_kabi_reserved2', at offset 256 (in bits) at mount.h:78:1
    'u64 android_kabi_reserved3', at offset 320 (in bits) at mount.h:79:1
    'u64 android_kabi_reserved4', at offset 384 (in bits) at mount.h:80:1
  2709 impacted interfaces

'struct vm_area_struct at mm_types.h:306:1' changed:
  type size changed from 1600 to 1856 (in bits)
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 1600 (in bits) at mm_types.h:388:1
    'u64 android_kabi_reserved2', at offset 1664 (in bits) at mm_types.h:389:1
    'u64 android_kabi_reserved3', at offset 1728 (in bits) at mm_types.h:390:1
    'u64 android_kabi_reserved4', at offset 1792 (in bits) at mm_types.h:391:1
  2709 impacted interfaces

'struct vsock_sock at af_vsock.h:27:1' changed (indirectly):
  type size changed from 10176 to 10688 (in bits)
  there are data member changes:
    type 'struct sock' of 'vsock_sock::sk' changed, as reported earlier
    25 ('const vsock_transport* transport' .. 'void* trans') offsets changed (by +512 bits)
  30 impacted interfaces

'struct zone at mmzone.h:430:1' changed:
  type size hasn't changed
  4 data member insertions:
    'u64 android_kabi_reserved1', at offset 12544 (in bits) at mmzone.h:586:1
    'u64 android_kabi_reserved2', at offset 12608 (in bits) at mmzone.h:587:1
    'u64 android_kabi_reserved3', at offset 12672 (in bits) at mmzone.h:588:1
    'u64 android_kabi_reserved4', at offset 12736 (in bits) at mmzone.h:589:1
  2709 impacted interfaces

Bug: 183615388
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I74a12a1c49d46ea2adddad5272d73f3f3dc2f1c3
2021-03-26 15:57:28 +00:00
2021-03-25 17:15:27 +01: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%