Merge branch 'android14-5.15' into branch 'android14-5.15-lts'

Catch up with changes made in android14-5.15, including new symbols to
track the ABI.  Changes included here are the following:

* d83231efe4bf ANDROID: 16K: Handle pad VMA splits and merges
* 19d6e7eb47dc ANDROID: 16K: madvise_vma_pad_pages: Remove filemap_fault check
* ae44e8dac851 ANDROID: 16K: Only madvise padding from dynamic linker context
* ae67f18944e3 ANDROID: Enable CONFIG_LAZY_RCU in x86 gki_defconfig
* d38091b4ff77 ANDROID: Enable CONFIG_LAZY_RCU in arm64 gki_defconfig
* 37b02c190cbf FROMLIST: rcu: Provide a boot time parameter to control lazy RCU
* 4adb60810c9f ANDROID: rcu: Add a minimum time for marking boot as completed
* 16ea06fe4410 UPSTREAM: rcu/kvfree: Move need_offload_krc() out of krcp->lock
* 5d1a3986c20e UPSTREAM: rcu/kfree: Fix kfree_rcu_shrink_count() return value
* 88587c183867 UPSTREAM: rcu/kvfree: Update KFREE_DRAIN_JIFFIES interval
* 5b47d8411d6c UPSTREAM: rcu/kvfree: Remove useless monitor_todo flag
* 84828604c729 UPSTREAM: scsi/scsi_error: Use call_rcu_hurry() instead of call_rcu()
* a4124a21b121 ANDROID: rxrpc: Use call_rcu_hurry() instead of call_rcu()
* 930bdc092484 UPSTREAM: net: devinet: Reduce refcount before grace period
* 706e751b3331 UPSTREAM: rcu: Disable laziness if lazy-tracking says so
* 856859371956 UPSTREAM: rcu: Track laziness during boot and suspend
* f12c162eac7c UPSTREAM: net: Use call_rcu_hurry() for dst_release()
* ff22b562f0a6 UPSTREAM: percpu-refcount: Use call_rcu_hurry() for atomic switch
* a4cc1aa22dd3 UPSTREAM: rcu/sync: Use call_rcu_hurry() instead of call_rcu
* 222a4cd66cd4 UPSTREAM: rcu: Refactor code a bit in rcu_nocb_do_flush_bypass()
* f4abe7bb5f00 BACKPORT: rcu: Shrinker for lazy rcu
* e0297c38a54d BACKPORT: rcu: Make call_rcu() lazy to save power
* 276d33f21a0e UPSTREAM: rcu: Fix late wakeup when flush of bypass cblist happens
* 24e6758060b8 BACKPORT: rcu: Fix missing nocb gp wake on rcu_barrier()
* fb310d468a41 UPSTREAM: netfilter: nft_set_pipapo: do not free live element
* 444a497469b1 ANDROID: GKI: Update lenovo symbol list
* 978f805a2d4b ANDROID: GKI: Export css_task_iter_start()
* 0ae4f32634d0 FROMGIT: coresight: etm4x: Fix access to resource selector registers
* 8ba180228744 BACKPORT: FROMGIT: coresight: etm4x: Safe access for TRCQCLTR
* 6a08c9fb9d47 FROMGIT: coresight: etm4x: Do not save/restore Data trace control registers
* a02278f9908e FROMGIT: coresight: etm4x: Do not hardcode IOMEM access for register restore
* e8e652b8c81a UPSTREAM: af_unix: Fix garbage collector racing against connect()
* 65e0a92c6d27 UPSTREAM: af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
* 5725caa2965e FROMLIST: scsi: ufs: Check for completion from the timeout handler
* 8563ce589546 BACKPORT: FROMLIST: scsi: ufs: Make the polling code report which command has been completed
* 0fcd7a1c7ca4 BACKPORT: FROMLIST: scsi: ufs: Make ufshcd_poll() complain about unsupported arguments
* aa07d6b28d2c ANDROID: scsi: ufs: Unexport ufshcd_mcq_poll_cqe_nolock()
* 25ebc0917814 ANDROID: mm: fix incorrect unlock mmap_lock for speculative swap fault
* 264477e0d844 ANDROID: Update the ABI symbol list
* 084d22016cca ANDROID: 16K: Separate padding from ELF LOAD segment mappings
* 37ea0e848513 ANDROID: 16K: Exclude ELF padding for fault around range
* e7bff50b229b ANDROID: 16K: Use MADV_DONTNEED to save VMA padding pages.
* 38cccb91549e ANDROID: 16K: Introduce ELF padding representation for VMAs
* 9274c308d846 ANDROID: 16K: Introduce /sys/kernel/mm/pgsize_miration/enabled
* ceb8c595f807 UPSTREAM: netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
* ea419cda5cbb UPSTREAM: netfilter: nf_tables: release batch on table validation from abort path
* 6b883cdac21f UPSTREAM: netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
* f395ea0980ef ANDROID: GKI: update mtktv symbol
* a5d03f57d6c2 UPSTREAM: netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
* 0cf6fdfb0a99 UPSTREAM: HID: playstation: support updated DualSense rumble mode.
* e3da19b2180f UPSTREAM: HID: playstation: stop DualSense output work on remove.
* 62085a0e6d90 UPSTREAM: HID: playstation: convert to use dev_groups
* adce8aae671e UPSTREAM: HID: playstation: fix return from dualsense_player_led_set_brightness()
* c996cb50e262 UPSTREAM: HID: playstation: expose DualSense player LEDs through LED class.
* f011142fea04 UPSTREAM: leds: add new LED_FUNCTION_PLAYER for player LEDs for game controllers.
* 19cbe3164231 UPSTREAM: HID: playstation: expose DualSense lightbar through a multi-color LED.
* 3507c287a681 UPSTREAM: mm: update mark_victim tracepoints fields
* cd4da4b74814 Revert "FROMGIT: mm: update mark_victim tracepoints fields"
* 948f42ca2bc5 UPSTREAM: netfilter: nft_set_pipapo: release elements in clone only from destroy path
* 6a45518094ac ANDROID: GKI: Update symbol list for Amlogic
* 3de9177e8168 ANDROID: GKI: Update symbol list for lenovo
* 668dfb812db7 FROMLIST: binder: check offset alignment in binder_get_object()
* 3b3c1c80e894 ANDROID: GKI: Update the ABI symbol list
* f600c62d2552 ANDROID: GKI: Update symbol list for Amlogic
* d154026d33f2 ANDROID: GKI: Update the ABI symbol list
* 5f12c91ab00f Merge tag 'android14-5.15.148_r00' into android14-5.15
* ec86765bae82 ANDROID: KVM: arm64: Fix TLB invalidation when coalescing into a block
* 5854f4c2aff0 ANDROID: KVM: arm64: Fix missing trace event for nVHE dyn HVCs
* 865e6d9df1de UPSTREAM: netfilter: nf_tables: disallow timeout for anonymous sets
* 537e133918a2 UPSTREAM: arm64: Apply dynamic shadow call stack patching in two passes
* 96305e30e970 ANDROID: userfaultfd: abort uffdio ops if mmap_lock is contended
* 3673533a09b6 ANDROID: userfaultfd: add MMAP_TRYLOCK mode for COPY/ZEROPAGE
* 3fd32dc1716d ANDROID: fix isolate_migratepages_range return value
* 483395b4453a Revert "ANDROID: Add CONFIG_BLK_DEV_NULL_BLK=m to gki_defconfig"
* 7b301c70795e ANDROID: fips140 - fix integrity check by unapplying dynamic SCS
* b1f8c250264b ANDROID: fips140 - add option for debugging the integrity check
* 1225d7ed6c88 ANDROID: fuse-bpf: Fix readdir for getdents
* 37b83a89de42 BACKPORT: f2fs: split initial and dynamic conditions for extent_cache
* ac4797cea538 UPSTREAM: usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group
* 5aed5c34359c ANDROID: uid_sys_stat: fix data-error of cputime and io
* c3b70e94f10c UPSTREAM: usb: typec: class: fix typec_altmode_put_partner to put plugs
* 282bfc6c30c0 UPSTREAM: Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
* 2390d5886287 ANDROID: GKI: Update the ABI symbol list
* 0d0784d6b2c1 ANDROID: Update ABI for userfaultfd_ctx
* ee9964b308a6 ANDROID: userfaultfd: allow SPF for UFFD_FEATURE_SIGBUS on private+anon
* 9cef46f39ee9 ANDROID: remove LTO check from build.config.gki.aarch64.fips140
* b74b4cbe62ed Revert "interconnect: Fix locking for runpm vs reclaim"
* f115661832fb Revert "interconnect: Teach lockdep about icc_bw_lock order"
* d96725ec1af6 BACKPORT: FROMGIT: PM: runtime: add tracepoint for runtime_status changes
* 4403e2517ad8 UPSTREAM: netfilter: nft_set_rbtree: skip end interval element from gc
* 288abb8b19f7 ANDROID: PCI: dwc: Wait for the link only if it has been started
* ff1e211db631 ANDROID: null_blk: Support configuring the maximum segment size
* 0ffd03e67d6d ANDROID: scsi_debug: Support configuring the maximum segment size
* 3ef8e9009c27 ANDROID: block: Make sub_page_limit_queues available in debugfs
* bed88e7c4f1b ANDROID: block: Add support for filesystem requests and small segments
* e99e7de8a6e4 ANDROID: block: Support submitting passthrough requests with small segments
* 3f6018f1b624 ANDROID: block: Support configuring limits below the page size
* 025c278e8431 ANDROID: block: Prepare for supporting sub-page limits
* f56ddffe05c0 ANDROID: block: Use pr_info() instead of printk(KERN_INFO ...)

Change-Id: I6834aac2be94f461b9f59baa696d5d130fc295d9
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
tree: 31eb7dd582d7403cc25836864504df1f3db94425
  1. android/
  2. arch/
  3. block/
  4. certs/
  5. crypto/
  6. Documentation/
  7. drivers/
  8. fs/
  9. include/
  10. init/
  11. io_uring/
  12. ipc/
  13. kernel/
  14. lib/
  15. LICENSES/
  16. mm/
  17. net/
  18. samples/
  19. scripts/
  20. security/
  21. sound/
  22. tools/
  23. usr/
  24. virt/
  25. .clang-format
  26. .cocciconfig
  27. .get_maintainer.ignore
  28. .gitattributes
  29. .gitignore
  30. .mailmap
  31. BUILD.bazel
  32. build.config.aarch64
  33. build.config.allmodconfig
  34. build.config.allmodconfig.aarch64
  35. build.config.allmodconfig.arm
  36. build.config.allmodconfig.x86_64
  37. build.config.amlogic
  38. build.config.arm
  39. build.config.common
  40. build.config.constants
  41. build.config.db845c
  42. build.config.gki
  43. build.config.gki-debug.aarch64
  44. build.config.gki-debug.x86_64
  45. build.config.gki.aarch64
  46. build.config.gki.aarch64.fips140
  47. build.config.gki.x86_64
  48. build.config.gki_kasan
  49. build.config.gki_kasan.aarch64
  50. build.config.gki_kasan.x86_64
  51. build.config.gki_kprobes
  52. build.config.gki_kprobes.aarch64
  53. build.config.gki_kprobes.x86_64
  54. build.config.khwasan
  55. build.config.rockpi4
  56. build.config.x86_64
  57. COPYING
  58. CREDITS
  59. Kbuild
  60. Kconfig
  61. Kconfig.ext
  62. MAINTAINERS
  63. Makefile
  64. modules.bzl
  65. OWNERS
  66. README
  67. 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 scripts/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)