ANDROID: GKI: 5/7 KMI update

Set KMI_GENERATION=4 for 5/7 KMI update

Leaf changes summary: 2821 artifacts changed
Changed leaf types summary: 17 leaf types changed
Removed/Changed/Added functions summary: 1 Removed, 2752 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 49 Changed, 1 Added variable

1 Removed function:

  [D] 'function file* filp_open(const char*, int, umode_t)'

1 Added function:

  [A] 'function int __traceiter_android_vh_of_i2c_get_board_info(void*, device_node*, const char**)'

2752 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 0x53dbf80f to 0x27c5b1f0

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

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

  ... 2749 omitted; 2752 symbols have only CRC changes

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_of_i2c_get_board_info'

49 Changed variables:

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

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

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

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

'enum android_debug_symbol at android_debug_symbols.h:9:1' changed:
  type size hasn't changed
  7 enumerator insertions:
    'android_debug_symbol::ADS_TOTAL_CMA' value '7'
    'android_debug_symbol::ADS_SLAB_CACHES' value '8'
    'android_debug_symbol::ADS_SLAB_MUTEX' value '9'
    'android_debug_symbol::ADS_MIN_LOW_PFN' value '10'
    'android_debug_symbol::ADS_MAX_PFN' value '11'
    'android_debug_symbol::ADS_PAGE_OWNER_ENABLED' value '12'
    'android_debug_symbol::ADS_SLUB_DEBUG' value '13'
  1 enumerator change:
    'android_debug_symbol::ADS_END' from value '7' to '14' at android_debug_symbols.h:9:1
  one impacted interface

'enum binder_work_type at binder_internal.h:174:1' changed:
  type size hasn't changed
  1 enumerator insertion:
    'binder_work_type::BINDER_WORK_TRANSACTION_ONEWAY_SPAM_SUSPECT' value '3'
  5 enumerator changes:
    'binder_work_type::BINDER_WORK_RETURN_ERROR' from value '3' to '4' at binder_internal.h:174:1
    'binder_work_type::BINDER_WORK_NODE' from value '4' to '5' at binder_internal.h:174:1
    'binder_work_type::BINDER_WORK_DEAD_BINDER' from value '5' to '6' at binder_internal.h:174:1
    'binder_work_type::BINDER_WORK_DEAD_BINDER_AND_CLEAR' from value '6' to '7' at binder_internal.h:174:1
    'binder_work_type::BINDER_WORK_CLEAR_DEATH_NOTIFICATION' from value '7' to '8' at binder_internal.h:174:1
  5 impacted interfaces
'struct binder_alloc at binder_alloc.h:96:1' changed:
  type size changed from 1024 to 1088 (in bits)
  1 data member insertion:
    'bool oneway_spam_detected', at offset 1024 (in bits) at binder_alloc.h:115:1
  5 impacted interfaces

'struct binder_buffer at binder_alloc.h:40:1' changed:
  type size hasn't changed
  1 data member insertion:
    'unsigned int oneway_spam_suspect', at offset 4 (in bits) at binder_alloc.h:50:1
  there are data member changes:
    'unsigned int debug_id' offset changed (by +1 bits)
  4 impacted interfaces

'struct binder_proc at binder_internal.h:436:1' changed:
  type size changed from 4480 to 4672 (in bits)
  1 data member insertion:
    'bool oneway_spam_detection_enabled', at offset 4608 (in bits) at binder_internal.h:471:1
  there are data member changes:
    type 'struct binder_stats' of 'binder_proc::stats' changed:
      type size changed from 1664 to 1696 (in bits)
      there are data member changes:
        type 'atomic_t[19]' of 'binder_stats::br' changed:
          type name changed from 'atomic_t[19]' to 'atomic_t[20]'
          array type size changed from 608 to 640
          array type subrange 1 changed length from 19 to 20
        3 ('atomic_t bc[19]' .. 'atomic_t obj_deleted[7]') offsets changed (by +32 bits)
      5 impacted interfaces
    7 ('list_head delivered_death' .. 'dentry* debugfs_entry') offsets changed (by +64 bits)
    type 'struct binder_alloc' of 'binder_proc::alloc' changed, as reported earlier
    and offset changed from 3264 to 3328 (in bits) (by +64 bits)
    4 ('binder_context* context' .. 'dentry* binderfs_entry') offsets changed (by +128 bits)
  5 impacted interfaces

'struct binder_stats at binder_internal.h:157:1' changed:
  details were reported earlier

'struct binder_thread at binder_internal.h:507:1' changed (indirectly):
  type size changed from 3264 to 3328 (in bits)
  there are data member changes:
    type 'struct binder_stats' of 'binder_thread::stats' changed, as reported earlier
    2 ('atomic_t tmp_ref' .. 'bool is_dead') offsets changed (by +32 bits)
    'task_struct* task' offset changed (by +64 bits)
  4 impacted interfaces

'struct dwc3 at core.h:1080:1' changed:
  type size changed from 9216 to 9984 (in bits)
  5 data member insertions:
    'mutex mutex', at offset 2624 (in bits) at core.h:1115:1
    'u64 android_kabi_reserved1', at offset 9728 (in bits) at core.h:1302:1
    'u64 android_kabi_reserved2', at offset 9792 (in bits) at core.h:1303:1
    'u64 android_kabi_reserved3', at offset 9856 (in bits) at core.h:1304:1
    'u64 android_kabi_reserved4', at offset 9920 (in bits) at core.h:1305:1
  there are data member changes:
    type 'struct dwc3_request' of 'dwc3::ep0_usb_req' changed:
      type size changed from 1472 to 1600 (in bits)
      2 data member insertions:
        'u64 android_kabi_reserved1', at offset 1472 (in bits) at core.h:947:1
        'u64 android_kabi_reserved2', at offset 1536 (in bits) at core.h:948:1
      2 impacted interfaces
    2 ('completion ep0_in_setup' .. 'spinlock_t lock') offsets changed (by +128 bits)
    53 ('device* dev' .. 'u8 num_eps') offsets changed (by +384 bits)
    type 'struct dwc3_hwparams' of 'dwc3::hwparams' changed:
      type size changed from 288 to 448 (in bits)
      3 data member insertions:
        'u32 hwparams9', at offset 288 (in bits) at core.h:872:1
        'u64 android_kabi_reserved1', at offset 320 (in bits) at core.h:874:1
        'u64 android_kabi_reserved2', at offset 384 (in bits) at core.h:875:1
      2 impacted interfaces
    and offset changed from 8512 to 8896 (in bits) (by +384 bits)
    13 ('dentry* root' .. 'u16 imod_interval') offsets changed (by +512 bits)
  2 impacted interfaces

'struct dwc3_ep at core.h:696:1' changed:
  type size changed from 1664 to 1792 (in bits)
  2 data member insertions:
    'u64 android_kabi_reserved1', at offset 1664 (in bits) at core.h:761:1
    'u64 android_kabi_reserved2', at offset 1728 (in bits) at core.h:762:1
  2 impacted interfaces

'struct dwc3_event_buffer at core.h:646:1' changed:
  type size changed from 384 to 448 (in bits)
  1 data member insertion:
    'u64 android_kabi_reserved1', at offset 384 (in bits) at core.h:666:1
  2 impacted interfaces

'struct dwc3_hwparams at core.h:851:1' changed:
  details were reported earlier

'struct dwc3_request at core.h:902:1' changed:
  details were reported earlier

'struct mod_arch_specific at module.h:17:1' changed:
  type size changed from 256 to 448 (in bits)
  4 data member insertions:
    'const Elf64_Rela* text_relocations', at offset 256 (in bits) at module.h:25:1
    'const Elf64_Rela* rodata_relocations', at offset 320 (in bits) at module.h:26:1
    'int num_text_relocations', at offset 384 (in bits) at module.h:27:1
    'int num_rodata_relocations', at offset 416 (in bits) at module.h:28:1
  2074 impacted interfaces

'struct module at module.h:367:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct mod_arch_specific' of 'module::arch' changed, as reported earlier
    41 ('unsigned long int taints' .. 'u64 android_kabi_reserved4') offsets changed (by +192 bits)
  2074 impacted interfaces

'struct queue_limits at blkdev.h:318:1' changed:
  type size changed from 896 to 960 (in bits)
  1 data member insertion:
    '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)
  2075 impacted interfaces

'struct request_queue at blkdev.h:396:1' changed (indirectly):
  type size changed from 15104 to 15168 (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)
  2074 impacted interfaces

'struct rproc_ops at remoteproc.h:380:1' changed:
  type size hasn't changed
  there are data member changes:
    type 'void* (rproc*, typedef u64, typedef size_t)*' of 'rproc_ops::da_to_va' changed:
      pointer type changed from: 'void* (rproc*, typedef u64, typedef size_t)*' to: 'void* (rproc*, typedef u64, typedef size_t, bool*)*'
  17 impacted interfaces

Bug: 187507598
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I70911d8a70cb00828dcc6ce601e97a5a4ef1eace
2 files changed
tree: ecb82e5d2e0451414b8b11c72069307fcbc2d802
  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.x86_64
  44. build.config.gki_kasan
  45. build.config.gki_kasan.aarch64
  46. build.config.gki_kasan.x86_64
  47. build.config.gki_kprobes
  48. build.config.gki_kprobes.aarch64
  49. build.config.gki_kprobes.x86_64
  50. build.config.hikey960
  51. build.config.khwasan
  52. build.config.x86_64
  53. COPYING
  54. CREDITS
  55. Kbuild
  56. Kconfig
  57. MAINTAINERS
  58. Makefile
  59. OWNERS
  60. README
  61. 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)