Merge branch 'android12-5.10' into `android12-5.10-lts`

Sync up with android12-5.10 for the following commits:

870488eb0745 ANDROID: GKI: 7/14/2021 KMI update
e9742a9ea5db ANDROID: Update the ABI symbol list
ec2190fd3f86 FROMLIST: arm64: avoid double ISB on kernel entry
98b2c1dd1c7a FROMLIST: arm64: mte: optimize GCR_EL1 modification on kernel entry/exit
a20103c331f3 BACKPORT: FROMLIST: arm64: mte: avoid TFSR related operations unless in async mode
3972be647aae FROMLIST: Documentation: document the preferred tag checking mode feature
5adf29adb5ce FROMLIST: arm64: mte: introduce a per-CPU tag checking mode preference
ce5ba15abce6 FROMLIST: arm64: move preemption disablement to prctl handlers
6c08feaa27c2 FROMLIST: arm64: mte: change ASYNC and SYNC TCF settings into bitfields
f438cf16cdfb FROMLIST: arm64: mte: rename gcr_user_excl to mte_ctrl
a4c9e551b698 BACKPORT: arm64: pac: Optimize kernel entry/exit key installation code paths
50829b890194 BACKPORT: arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS)
6119d18df769 ANDROID: cleancache: add oem data to cleancache_ops
a0c429e8e1ac ANDROID: blkdev: add oem data to block_device_operations
26cd2564e122 FROMLIST: psi: stop relying on timer_pending for poll_work rescheduling
e85b291d7dd3 ANDROID: GKI: Enable CONFIG_MEMCG
0ed7424fa0cc ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle
4d3095647872 ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle
7786463e48ff ANDROID: GKI: add vendor padding variable in struct sock
280c9b98aa6c ANDROID: GKI: add vendor padding variable in struct nf_conn
9d1b55d20a40 ANDROID: vendor_hooks: add a field in mem_cgroup
65115fdbf84d ANDROID: vendor_hooks: add a field in pglist_data
26920e0f3a62 FROMLIST: usb: dwc3: avoid NULL access of usb_gadget_driver
5bb2dd8d3975 FROMGIT: usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default
79274dbb0011 FROMGIT: usb: dwc3: Resize TX FIFOs to meet EP bursting requirements
1e11f36199bc FROMGIT: usb: gadget: configfs: Check USB configuration before adding
6da5e7afbfc4 FROMGIT: usb: gadget: udc: core: Introduce check_config to verify USB configuration
2ed5fbf26130 ANDROID: GKI: fscrypt: add OEM data to struct fscrypt_operations
194fd9239ae6 ANDROID: GKI: fscrypt: add ABI padding to struct fscrypt_operations
8011eb22150e ANDROID: mm: provision to add shmem pages to inactive file lru head
9bb1247653e0 ANDROID: GKI: Enable CONFIG_CGROUP_NET_PRIO
a1ce719ca7e0 ANDROID: Delete the DMA-BUF attachment sysfs statistics
a2b3afb2f743 ANDROID: android: Add symbols to debug_symbols driver
914a7b14a04b UPSTREAM: USB: UDC core: Add udc_async_callbacks gadget op
9af9ef8dfa1a ANDROID: vendor_hooks: Add oem data to file struct
37485a30251f ANDROID: add kabi padding for structures for the android12 release
429c78f9b03c ANDROID: GKI: device.h: add Android ABI padding to some structures
aea5e1c23028 ANDROID: GKI: elevator: add Android ABI padding to some structures
1b79ef2754b8 ANDROID: GKI: scsi: add Android ABI padding to some structures
33175403b942 ANDROID: GKI: workqueue.h: add Android ABI padding to some structures
d5c344a498f5 ANDROID: GKI: sched: add Android ABI padding to some structures
9c4854fa5a55 ANDROID: GKI: phy: add Android ABI padding to some structures
f4872b23537d ANDROID: GKI: fs.h: add Android ABI padding to some structures
48cddc7c427b ANDROID: GKI: dentry: add Android ABI padding to some structures
b9081a2925c8 ANDROID: GKI: bio: add Android ABI padding to some structures
99bf8cf8fa9d ANDROID: GKI: ufs: add Android ABI padding to some structures
9df147298f55 ANDROID: Update the generic symbol list
12f48605e86d ANDROID: mm: cma do not sleep for __GFP_NORETRY
0e688e972d7e ANDROID: mm: cma: skip problematic pageblock
9938b82be10c ANDROID: mm: bail out tlb free batching on page zapping when cma is going on
c8578a3e9015 ANDROID: mm: lru_cache_disable skips lru cache drainnig
c01ce3b5ef6c ANDROID: mm: do not try test_page_isoalte if migration fails
675e5045983a ANDROID: mm: add cma allocation statistics
b1e4543c2701 UPSTREAM: mm, page_alloc: move draining pcplists to page isolation users
13bc06efd9b1 ANDROID: ALSA: compress: add vendor hook to support pause in draining
2faed7779206 ANDROID: vendor_hooks: add vendor hook in blk_mq_rq_ctx_init()
292baba45a9f ANDROID: abi_gki_aarch64_qcom: Add I3C core symbols to qcom tree
eecc725a8e0b ANDROID: vendor_hooks: add vendor hook in blk_mq_alloc_rqs()
9c2958f454f1 ANDROID: GKI: Export put_task_stack symbol
288805c86a87 ANDROID: abi_gki_aarch64_qcom: Add idr_alloc_u32
e8516fd3af3f ANDROID: sound: usb: add vendor hook for cpu suspend support
d820d22b5d8c ANDROID: mm: page_pinner: use EXPORT_SYMBOL_GPL
efc09793ead7 ANDROID: GKI: update allowed GKI symbol for Exynosauto SoC
67e3e39eb1d3 ANDROID: GKI: sync allowed list for exynosauto SoC
d25e25637394 ANDROID: ABI: add new symbols required by fips140.ko
50661975be74 ANDROID: fips140: add/update module help text
b7397e89db29 ANDROID: fips140: add power-up cryptographic self-tests
bd7d13c36e4b ANDROID: arm64: disable LSE when building the FIPS140 module
1061ef04934b ANDROID: jump_label: disable jump labels in fips140.ko
dcf509fea78c ANDROID: ipv6: add vendor hook for gen ipv6 link-local addr
018332e87198 ANDROID: Revert "scsi: block: Do not accept any requests while suspended"
2ad2c3a25b20 ANDROID: abi_gki_aarch64_qcom: whitelist vm_event_states
7bcfde2601c2 ANDROID: ashmem: Export is_ashmem_file

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7d60121fa9f25f007dab97dd666adcdb1964afc8
tree: 84596e45440a7d8756c437beab2d09f08d4c8793
  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)