Linux kernel source tree
Go to file
Todd Kjos 8a4d1dc880 ANDROID: first 4/9/2021 KMI update
Update KMI with most 4/9 changes (one more coming)

Leaf changes summary: 576 artifacts changed
Changed leaf types summary: 9 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 554 Changed, 7 Added functions
Removed/Changed/Added variables summary: 0 Removed, 4 Changed, 2 Added variables

7 Added functions:

  [A] 'function ieee802154_hw* ieee802154_alloc_hw(size_t, const ieee802154_ops*)'
  [A] 'function void ieee802154_free_hw(ieee802154_hw*)'
  [A] 'function int ieee802154_register_hw(ieee802154_hw*)'
  [A] 'function void ieee802154_rx_irqsafe(ieee802154_hw*, sk_buff*, u8)'
  [A] 'function void ieee802154_unregister_hw(ieee802154_hw*)'
  [A] 'function void ieee802154_wake_queue(ieee802154_hw*)'
  [A] 'function void ieee802154_xmit_complete(ieee802154_hw*, sk_buff*, bool)'

554 functions with some sub-type change:

  [C] 'function int ___pskb_trim(sk_buff*, unsigned int)' at skbuff.c:1928:1 has some sub-type changes:
    CRC (modversions) changed from 0x750d7278 to 0x81d5292f

  [C] 'function sk_buff* __alloc_skb(unsigned int, gfp_t, int, int)' at skbuff.c:182:1 has some sub-type changes:
    CRC (modversions) changed from 0x35ad9f50 to 0xc662eb3c

  [C] 'function sk_buff* __cfg80211_alloc_event_skb(wiphy*, wireless_dev*, nl80211_commands, nl80211_attrs, unsigned int, int, int, gfp_t)' at nl80211.c:10274:1 has some sub-type changes:
    CRC (modversions) changed from 0x8515ad95 to 0x55be0cb8

  ... 551 omitted; 554 symbols have only CRC changes

2 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_cpu_cgroup_online'
  [A] 'tracepoint __tracepoint_android_rvh_replace_next_task_fair'

4 Changed variables:

  [C] 'net init_net' was changed at net_namespace.c:47:1:
    CRC (modversions) changed from 0xae43d102 to 0x75836cf9

  [C] 'pid_namespace init_pid_ns' was changed at pid.c:75:1:
    CRC (modversions) changed from 0xbf931239 to 0x30fc5784

  [C] 'const dev_pm_ops snd_soc_pm_ops' was changed at soc-core.c:2028:1:
    CRC (modversions) changed from 0x785e2782 to 0xab291a76

  ... 1 omitted; 4 symbols have only CRC changes

'struct bpf_prog_aux at bpf.h:757:1' changed:
  type size changed from 5120 to 5056 (in bits)
  1 data member deletion:
    'bpf_tramp_prog_type trampoline_prog_type', at offset 1024 (in bits) at bpf.h:783:1
  there are data member changes:
    29 ('hlist_node tramp_hlist' .. 'bpf_prog_stats* stats') offsets changed (by -64 bits)
    while looking at anonymous data member 'union {work_struct work; callback_head rcu;}':
    the internal name of that anonymous data member changed from:
     __anonymous_union__27
    to:
     __anonymous_union__28
     This is usually due to an anonymous member type being added or removed from the containing type
    and offset changed from 4864 to 4800 (in bits) (by -64 bits)
  2740 impacted interfaces

'struct bpf_trampoline at bpf.h:586:1' changed:
  type size changed from 3008 to 1280 (in bits)
  1 data member deletion:
    'bpf_ksym ksym', at offset 1280 (in bits) at bpf.h:610:1
  there are data member changes:
    type 'void*' of 'bpf_trampoline::image' changed:
      pointer type changed from: 'void*' to: 'bpf_tramp_image*'
    and name of 'bpf_trampoline::image' changed to 'bpf_trampoline::cur_image' at bpf.h:624:1
  2740 impacted interfaces

'struct io_pgtable_ops at io-pgtable.h:150:1' changed:
  type size changed from 256 to 384 (in bits)
  2 data member insertions:
    'int (io_pgtable_ops*, unsigned long int, typedef phys_addr_t, typedef size_t, typedef size_t, int, typedef gfp_t, size_t*)* map_pages', at offset 64 (in bits) at io-pgtable.h:155:1
    'typedef size_t (io_pgtable_ops*, unsigned long int, typedef size_t, typedef size_t, iommu_iotlb_gather*)* unmap_pages', at offset 256 (in bits) at io-pgtable.h:163:1
  there are data member changes:
    2 ('int (io_pgtable_ops*, unsigned long int, scatterlist*, unsigned int, int, typedef gfp_t, size_t*)* map_sg' .. 'typedef size_t (io_pgtable_ops*, unsigned long int, typedef size_t, iommu_iotlb_gather*)* unmap') offsets changed (by +64 bits)
    'typedef phys_addr_t (io_pgtable_ops*, unsigned long int)* iova_to_phys' offset changed (by +128 bits)
  2 impacted interfaces

'struct iommu_ops at iommu.h:248:1' changed:
  type size changed from 2688 to 2816 (in bits)
  2 data member insertions:
    'int (iommu_domain*, unsigned long int, typedef phys_addr_t, typedef size_t, typedef size_t, int, typedef gfp_t, size_t*)* map_pages', at offset 384 (in bits) at iommu.h:262:1
    'typedef size_t (iommu_domain*, unsigned long int, typedef size_t, typedef size_t, iommu_iotlb_gather*)* unmap_pages', at offset 576 (in bits) at iommu.h:270:1
  there are data member changes:
    2 ('int (iommu_domain*, unsigned long int, scatterlist*, unsigned int, int, typedef gfp_t, size_t*)* map_sg' .. 'typedef size_t (iommu_domain*, unsigned long int, typedef size_t, iommu_iotlb_gather*)* unmap') offsets changed (by +64 bits)
    34 ('void (iommu_domain*)* flush_iotlb_all' .. 'module* owner') offsets changed (by +128 bits)
  2740 impacted interfaces

'struct net_device at netdevice.h:1891:1' changed:
  type size hasn't changed
  2 data member insertions:
    'netdev_ml_priv_type ml_priv_type', at offset 9792 (in bits) at netdevice.h:2151:1
    'union {pcpu_lstats* lstats; pcpu_sw_netstats* tstats; pcpu_dstats* dstats;}', at offset 9856 (in bits) at netdevice.h:2153:1
  there are data member changes:
    anonymous data member union {void* ml_priv; pcpu_lstats* lstats; pcpu_sw_netstats* tstats; pcpu_dstats* dstats;} at offset 9728 (in bits) became data member 'void* ml_priv'
    26 ('device dev' .. 'u64 android_kabi_reserved8') offsets changed (by +128 bits)
  2740 impacted interfaces

'struct phy_device at phy.h:539:1' changed:
  type size changed from 11008 to 11072 (in bits)
  1 data member insertion:
    'int port', at offset 8416 (in bits) at phy.h:581:1
  there are data member changes:
    5 ('int pause' .. 'u8 master_slave_state') offsets changed (by +32 bits)
    22 ('unsigned long int supported[2]' .. 'void (net_device*)* adjust_link') offsets changed (by +64 bits)
  2740 impacted interfaces

'struct rtnl_link_ops at rtnetlink.h:59:1' changed:
  type size hasn't changed
  1 data member insertion:
    'bool netns_refund', at offset 320 (in bits) at rtnetlink.h:68:1
  there are data member changes:
    'unsigned int maxtype' offset changed (by +32 bits)
  2740 impacted interfaces

'struct ufs_hba at ufshcd.h:708:1' changed:
  type size changed from 32448 to 33344 (in bits)
  1 data member insertion:
    'dentry* debugfs_root', at offset 33280 (in bits) at ufshcd.h:837:1
  there are data member changes:
    type 'struct ufs_stats' of 'ufs_hba::ufs_stats' changed:
      type size changed from 11072 to 11904 (in bits)
      12 data member deletions:
        'ufs_err_reg_hist dl_err', at offset 1088 (in bits) at ufshcd.h:450:1
        'ufs_err_reg_hist nl_err', at offset 1920 (in bits) at ufshcd.h:451:1
        'ufs_err_reg_hist tl_err', at offset 2752 (in bits) at ufshcd.h:452:1
        'ufs_err_reg_hist dme_err', at offset 3584 (in bits) at ufshcd.h:453:1
        'ufs_err_reg_hist auto_hibern8_err', at offset 4416 (in bits) at ufshcd.h:456:1
        'ufs_err_reg_hist fatal_err', at offset 5248 (in bits) at ufshcd.h:457:1
        'ufs_err_reg_hist link_startup_err', at offset 6080 (in bits) at ufshcd.h:458:1
        'ufs_err_reg_hist resume_err', at offset 6912 (in bits) at ufshcd.h:459:1
        'ufs_err_reg_hist suspend_err', at offset 7744 (in bits) at ufshcd.h:460:1
        'ufs_err_reg_hist dev_reset', at offset 8576 (in bits) at ufshcd.h:463:1
        'ufs_err_reg_hist host_reset', at offset 9408 (in bits) at ufshcd.h:464:1
        'ufs_err_reg_hist task_abort', at offset 10240 (in bits) at ufshcd.h:465:1
      there are data member changes:
        type 'struct ufs_err_reg_hist' of 'ufs_stats::pa_err' changed:
          entity changed from 'struct ufs_err_reg_hist' to 'ufs_event_hist[13]'
          type size changed from 832 to 11648 (in bits)
        and name of 'ufs_stats::pa_err' changed to 'ufs_stats::event' at ufshcd.h:459:1
      16 impacted interfaces
    33 ('bool force_reset' .. 'blk_keyslot_manager ksm') offsets changed (by +832 bits)
  16 impacted interfaces

'struct ufs_stats at ufshcd.h:441:1' changed:
  details were reported earlier
Bug: 184983567
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I9e1533bae92343335000a50b79a2acae02cc9c3e
2021-04-09 22:05:09 -07:00
android ANDROID: first 4/9/2021 KMI update 2021-04-09 22:05:09 -07:00
arch Revert "Revert "bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG"" 2021-04-09 21:09:05 -07:00
block ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS 2021-04-03 14:11:30 +00:00
certs certs: Fix blacklist flag type confusion 2021-03-04 11:37:59 +01:00
crypto ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS 2021-04-03 14:11:30 +00:00
Documentation FROMGIT: userfaultfd: update documentation to describe minor fault handling 2021-04-09 15:35:59 -07:00
drivers FROMLIST: iommu/arm-smmu: Implement the map_pages() IOMMU driver callback 2021-04-09 21:09:07 -07:00
fs BACKPORT: FROMGIT: userfaultfd: support minor fault handling for shmem 2021-04-09 15:36:00 -07:00
include BACKPORT: FROMLIST: iommu: Add a map_pages() op for IOMMU drivers 2021-04-09 21:09:06 -07:00
init BACKPORT: FROMGIT: userfaultfd: add minor fault registration mode 2021-04-09 15:35:59 -07:00
ipc ipc: adjust proc_ipc_sem_dointvec definition to match prototype 2020-09-05 12:14:29 -07:00
kernel Revert "Revert "bpf: Fix fexit trampoline."" 2021-04-09 21:09:04 -07:00
lib Merge branch 'android12-5.10-lts' into 'android12-5.10' 2021-03-26 08:25:46 +01:00
LICENSES LICENSES/deprecated: add Zlib license text 2020-09-16 14:33:49 +02:00
mm FROMLIST: userfaultfd/shmem: fix minor fault page leak 2021-04-09 15:36:02 -07:00
net Revert "Revert "net: introduce CAN specific pointer in the struct net_device"" 2021-04-09 21:09:05 -07:00
samples samples, bpf: Add missing munmap in xdpsock 2021-03-17 17:06:12 +01:00
scripts Merge 5.10.27 into android12-5.10 2021-04-02 15:25:50 +02:00
security Merge 5.10.27 into android12-5.10 2021-04-02 15:25:50 +02:00
sound Revert "ANDROID: GKI: hack to handle genksyms change in sound/soc/soc-core.c" 2021-04-09 21:09:04 -07:00
tools BACKPORT: FROMGIT: userfaultfd/selftests: unify error handling 2021-04-09 15:36:01 -07:00
usr Merge branch 'work.fdpic' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-08-07 13:29:39 -07:00
virt KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped() 2021-02-26 10:13:01 +01:00
.clang-format RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore FROMLIST: kbuild: lto: fix module versioning 2020-12-16 08:56:32 -08:00
.mailmap mailmap: add two more addresses of Uwe Kleine-König 2020-12-06 10:19:07 -08:00
build.config.aarch64 ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64 2020-11-10 12:14:17 -08:00
build.config.allmodconfig ANDROID: allmodconfig: drop openssl from ADDITIONAL_HOST_TOOLS 2021-03-04 20:48:17 +00:00
build.config.allmodconfig.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.allmodconfig.arm ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.allmodconfig.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.amlogic ANDROID: GKI: amlogic: add DTB overlays 2021-02-12 10:08:04 +01:00
build.config.arm ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for arm 2021-03-24 09:21:58 -07:00
build.config.common ANDROID: clang: update to 12.0.4 2021-03-22 14:57:21 -07:00
build.config.db845c ANDROID: db845c: Use FRAGMENT_CONFIG 2021-02-10 06:08:17 +00:00
build.config.gki
build.config.gki_kasan ANDROID: build.config: Disable LTO for KASAN and Kprobes builds 2021-03-08 00:31:49 +00:00
build.config.gki_kasan.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki_kasan.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki_kprobes ANDROID: build.config: Disable LTO for KASAN and Kprobes builds 2021-03-08 00:31:49 +00:00
build.config.gki_kprobes.aarch64 ANDROID: Adding kprobes build configs for Cuttlefish 2021-03-03 02:03:02 +00:00
build.config.gki_kprobes.x86_64 ANDROID: Adding kprobes build configs for Cuttlefish 2021-03-03 02:03:02 +00:00
build.config.gki-debug.aarch64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki-debug.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.gki.aarch64 ANDROID: Add a new core symbol list 2021-04-09 21:09:08 -07:00
build.config.gki.x86_64 ANDROID: drop KERNEL_DIR setting in build.config.common 2020-08-31 15:20:37 +00:00
build.config.hikey960 ANDROID: Add hikey960 build infrastructure file 2021-02-18 23:59:34 +00:00
build.config.khwasan ANDROID: Add a build config fragment for KHWASan. 2021-04-06 10:01:56 +00:00
build.config.x86_64 ANDROID: x86: Add objtool to MAKE_GOALS 2021-01-28 22:19:23 +00:00
COPYING
CREDITS MAINTAINERS: Move Jason Cooper to CREDITS 2020-11-30 10:20:34 +01:00
Kbuild
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Merge 5.10.26 into android12-5.10-lts 2021-03-25 17:15:27 +01:00
Makefile Merge 5.10.28 into android12-5.10 2021-04-09 09:29:17 +02:00
OWNERS ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS 2021-04-03 14:11:30 +00:00
README
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)