Merge branch 'android14-6.1' into 'android14-6.1-lts'

Catches the android14-6.1-lts branch up with the android14-6.1 branch
which has had a lot of changes that are needed here to resolve future
LTS merges and to ensure that the ABI is kept stable.

It contains the following commits:

* 9fd41ac1729d ANDROID: Delete build.config.gki.aarch64.16k.
* 073df44c36d6 FROMGIT: usb: typec: tcpm: Refactor the PPS APDO selection
* 078410e73f08 UPSTREAM: usb: typec: tcpm: Fix response to vsafe0V event
* 722f6cc09c1d ANDROID: Revert "ANDROID: allmodconfig: disable WERROR"
* c2611a04b92f ANDROID: GKI: update symbol list file for xiaomi
* 34fde9ec08a3 FROMGIT: usb: typec: tcpm: not sink vbus if operational current is 0mA
* 3ebafb7b468b BACKPORT: FROMGIT: mm: handle faults that merely update the accessed bit under the VMA lock
* 9e066d4b35fe FROMLIST: mm: Allow fault_dirty_shared_page() to be called under the VMA lock
* 83ab9863246c FROMGIT: mm: handle swap and NUMA PTE faults under the VMA lock
* ffcebdef1657 FROMGIT: mm: run the fault-around code under the VMA lock
* 072c35fb69e2 FROMGIT: mm: move FAULT_FLAG_VMA_LOCK check down from do_fault()
* fa9a8adff04d FROMGIT: mm: move FAULT_FLAG_VMA_LOCK check down in handle_pte_fault()
* dd621869c1e6 BACKPORT: FROMGIT: mm: handle some PMD faults under the VMA lock
* 8594d6a30f8e BACKPORT: FROMGIT: mm: handle PUD faults under the VMA lock
* 66cbbe6b3144 FROMGIT: mm: move FAULT_FLAG_VMA_LOCK check from handle_mm_fault()
* e26044769f1d BACKPORT: FROMGIT: mm: allow per-VMA locks on file-backed VMAs
* 4cb518a06f90 FROMGIT: mm: remove CONFIG_PER_VMA_LOCK ifdefs
* f4b32b7f1543 FROMGIT: mm: fix a lockdep issue in vma_assert_write_locked
* 250f19771f4c FROMGIT: mm: handle userfaults under VMA lock
* e704d0e4f9ee FROMGIT: mm: handle swap page faults under per-VMA lock
* f8a65b694b03 FROMGIT: mm: change folio_lock_or_retry to use vm_fault directly
* 693d905ec0da BACKPORT: FROMGIT: mm: drop per-VMA lock when returning VM_FAULT_RETRY or VM_FAULT_COMPLETED
* 939d4b1ccc06 BACKPORT: FROMGIT: mm: move vma locking out of vma_prepare and dup_anon_vma
* 0f0b09c02c2a BACKPORT: FROMGIT: mm: always lock new vma before inserting into vma tree
* a8a479ed9629 FROMGIT: mm: lock vma explicitly before doing vm_flags_reset and vm_flags_reset_once
* ad1892385654 FROMGIT: mm: replace mmap with vma write lock assertions when operating on a vma
* 5f0ca924aa0f FROMGIT: mm: for !CONFIG_PER_VMA_LOCK equate write lock assertion for vma and mmap
* abb0f2767ee8 FROMGIT: mm: don't drop VMA locks in mm_drop_all_locks()
* 365af746f5ad BACKPORT: riscv: mm: try VMA lock-based page fault handling first
* 3c187b4a1250 BACKPORT: FROMGIT: mm: enable page walking API to lock vmas during the walk
* b6093c47fe2a BACKPORT: mm: lock VMA in dup_anon_vma() before setting ->anon_vma
* 0ee0062c9486 UPSTREAM: mm: fix memory ordering for mm_lock_seq and vm_lock_seq
* 3378cbd2649f FROMGIT: usb: host: ehci-sched: try to turn on io watchdog as long as periodic_count > 0
* 2d3351bd5ef5 FROMGIT: BACKPORT: usb: ehci: add workaround for chipidea PORTSC.PEC bug
* 7fa88611307e UPSTREAM: tty: n_gsm: fix UAF in gsm_cleanup_mux
* 683966ac69a0 UPSTREAM: mm/mmap: Fix extra maple tree write
* f86c79eb86ad FROMGIT: Multi-gen LRU: skip CMA pages when they are not eligible
* 7ae1e02abbfb UPSTREAM: mm: skip CMA pages when they are not available
* 7666325265b2 UPSTREAM: dma-buf: fix an error pointer vs NULL bug
* e61d76121fff UPSTREAM: dma-buf: keep the signaling time of merged fences v3
* fda157ce154f UPSTREAM: netfilter: nf_tables: skip bound chain on rule flush
* 110a26edd100 UPSTREAM: net/sched: sch_qfq: account for stab overhead in qfq_enqueue
* 9db143723846 UPSTREAM: net/sched: sch_qfq: refactor parsing of netlink parameters
* 76881029499a UPSTREAM: netfilter: nft_set_pipapo: fix improper element removal
* 37f450940760 ANDROID: Add checkpatch target.
* d7dacaa439c7 UPSTREAM: USB: Gadget: core: Help prevent panic during UVC unconfigure
* 4dc009c3a8aa ANDROID: GKI: Update symbols to symbol list
* fadc35923d8b ANDROID: vendor_hook: fix the error record position of mutex
* 3fc69d3f70e1 ANDROID: ABI: add allowed list for galaxy
* a5a662187fe2 ANDROID: gfp: add __GFP_CMA in gfpflag_names
* b520b909137c ANDROID: ABI: Update to fix slab-out-of-bounds in xhci_vendor_get_ops
* c2cbb3cc2468 ANDROID: usb: host: fix slab-out-of-bounds in xhci_vendor_get_ops
* 64787ee45196 ANDROID: GKI: update pixel symbol list for xhci
* b0c06048a8ff FROMGIT: fs: drop_caches: draining pages before dropping caches
* 2f76bb83b14d ANDROID: GKI: update symbol list file for xiaomi
* 8e86825eecfa ANDROID: uid_sys_stats: Use a single work for deferred updates
* 960d9828eee1 ANDROID: ABI: Update symbol for Exynos SoC
* 3926cc6ef8cc ANDROID: GKI: Add symbols to symbol list for vivo
* dbb09068c1df ANDROID: vendor_hooks: Add tune scan type hook in get_scan_count()
* 5e1d25ac2ab6 FROMGIT: BACKPORT: Multi-gen LRU: Fix can_swap in lru_gen_look_around()
* addf1a9a65a9 FROMGIT: Multi-gen LRU: Avoid race in inc_min_seq()
* a7adb988970e FROMGIT: Multi-gen LRU: Fix per-zone reclaim
* 03812b904e8d ANDROID: ABI: update symbol list for galaxy
* b283f9b41fc5 ANDROID: oplus: Update the ABI xml and symbol list
* c3d26e2b5aae ANDROID: vendor_hooks: Add hooks for lookaround
* 29e2f3e3d196 ANDROID: ABI: Update STG ABI to format version 2
* 3bd3d137019f ANDROID: ABI: Update symbol list for imx
* ad0b008167cb FROMGIT: erofs: fix wrong primary bvec selection on deduplicated extents
* 126ef64cbaae UPSTREAM: media: Add ABGR64_12 video format
* 86e2e8fd053e BACKPORT: media: Add BGR48_12 video format
* 892293272c10 UPSTREAM: media: Add YUV48_12 video format
* b2cf7e426877 UPSTREAM: media: Add Y212 v4l2 format info
* 0f3f7a21aff3 UPSTREAM: media: Add Y210, Y212 and Y216 formats
* ca7b45b12894 UPSTREAM: media: Add Y012 video format
* 343b85ecadc2 UPSTREAM: media: Add P012 and P012M video format
* 7beed73af066 ANDROID: GKI: Create symbol files in include/config
* 295e779e8f89 ANDROID: fuse-bpf: Use stored bpf for create_open
* 74d9daa59a1e ANDROID: fuse-bpf: Add bpf to negative fuse_dentry
* 6aef06abbad4 ANDROID: fuse-bpf: Check inode not null
* 4bbda90bd875 ANDROID: fuse-bpf: Fix flock test compile error
* 84ac22a0d31a ANDROID: fuse-bpf: Add partial ioctl support
* e341d2312c5f ANDROID: ABI: Update oplus symbol list
* f5c707dc65df UPSTREAM: mm/mempolicy: Take VMA lock before replacing policy
* 890b1aabb1f6 BACKPORT: mm: lock_vma_under_rcu() must check vma->anon_vma under vma lock
* d3b37a712ab7 BACKPORT: FROMGIT: irqchip/gic-v3: Workaround for GIC-700 erratum 2941627
* a89e2cbbc026 ANDROID: GKI: update xiaomi symbol list
* 371f8d901ab5 UPSTREAM: mm: lock newly mapped VMA with corrected ordering
* 0d9960403cb0 UPSTREAM: fork: lock VMAs of the parent process when forking
* e3601b25aeae UPSTREAM: mm: lock newly mapped VMA which can be modified after it becomes visible
* 05f7c7fe72fe UPSTREAM: mm: lock a vma before stack expansion
* c0ba567af11a ANDROID: GKI: bring back find_extend_vma()
* 188ce9572f11 BACKPORT: mm: always expand the stack with the mmap write lock held
* 74efdc0966f5 BACKPORT: execve: expand new process stack manually ahead of time
* c8ad90684960 ANDROID: abi_gki_aarch64_qcom: ufshcd_mcq_poll_cqe_lock
* 1afccd425597 UPSTREAM: mm: make find_extend_vma() fail if write lock not held
* 4087cac574fe UPSTREAM: powerpc/mm: convert coprocessor fault to lock_mm_and_find_vma()
* 6c33246824a5 UPSTREAM: mm/fault: convert remaining simple cases to lock_mm_and_find_vma()
* add0a1ea04ff UPSTREAM: arm/mm: Convert to using lock_mm_and_find_vma()
* 9f136450af1a UPSTREAM: riscv/mm: Convert to using lock_mm_and_find_vma()
* 053053fc68a4 UPSTREAM: mips/mm: Convert to using lock_mm_and_find_vma()
* 9cdce804c05a UPSTREAM: powerpc/mm: Convert to using lock_mm_and_find_vma()
* 1016faf50999 BACKPORT: arch/arm64/mm/fault: Fix undeclared variable error in do_page_fault()
* 89298b8b3ce6 BACKPORT: arm64/mm: Convert to using lock_mm_and_find_vma()
* cf70cb4f1f14 UPSTREAM: mm: make the page fault mmap locking killable
* 544ae28cf6b5 ANDROID: Inherit "user-aware property" across rtmutex.
* 5e4a5dc82033 BACKPORT: blk-crypto: use dynamic lock class for blk_crypto_profile::lock
* db2c29e53dfe ANDROID: ABI: update symbol list for Xclipse GPU
* 7edb035c79ac ANDROID: drm/ttm: export ttm_tt_unpopulate()
* b61f298c0d9a ANDROID: GKI: Add ABI symbol list(devlink) for MTK
* ec419af28fdd ANDROID: devlink: Select CONFIG_NET_DEVLINK in Kconfig.gki
* 1e114e6efac1 ANDROID: KVM: arm64: Fix memory ordering for pKVM module callbacks
* 3803ae4a2832 BACKPORT: mm: introduce new 'lock_mm_and_find_vma()' page fault helper
* 66b5ad35078b BACKPORT: maple_tree: fix potential out-of-bounds access in mas_wr_end_piv()
* 19dd4101e0e4 UPSTREAM: x86/smp: Cure kexec() vs. mwait_play_dead() breakage
* 26260c4bd1d0 UPSTREAM: x86/smp: Use dedicated cache-line for mwait_play_dead()
* d8cb0365cbc7 UPSTREAM: x86/smp: Remove pointless wmb()s from native_stop_other_cpus()
* 6744547e9534 UPSTREAM: x86/smp: Dont access non-existing CPUID leaf
* ba2ccba86348 UPSTREAM: x86/smp: Make stop_other_cpus() more robust
* 5c9836e66dde UPSTREAM: x86/microcode/AMD: Load late on both threads too
* 53048f151cd7 BACKPORT: mm, hwpoison: when copy-on-write hits poison, take page offline
* a2dff37b0c2e UPSTREAM: mm, hwpoison: try to recover from copy-on write faults
* 466448f55f0b BACKPORT: mm/mmap: Fix error return in do_vmi_align_munmap()
* 41b30362e991 BACKPORT: mm/mmap: Fix error path in do_vmi_align_munmap()
* d45a054f9ced UPSTREAM: HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
* 0e477a82e6d9 UPSTREAM: HID: hidraw: fix data race on device refcount
* af2d741bf3d9 UPSTREAM: can: isotp: isotp_sendmsg(): fix return error fix on TX path
* 588704049155 UPSTREAM: fbdev: fix potential OOB read in fast_imageblit()
* 6c48edb9c92d ANDROID: GKI: add function symbols for unisoc
* 342aff08ae23 ANDROID: cgroup: Cleanup android_rvh_cgroup_force_kthread_migration
* fcdea346bb07 UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
* f091cc743426 UPSTREAM: netfilter: nf_tables: fix chain binding transaction logic
* 1bb5e7fb374b ANDROID: abi_gki_aarch64_qcom: update abi

Change-Id: I6f86301f218a60c00d03e09a4e3bfebe42bad0d5
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
tree: b28b7878cce04c60ec9279aa0ad020c60630c57d
  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. rust/
  19. samples/
  20. scripts/
  21. security/
  22. sound/
  23. tools/
  24. usr/
  25. virt/
  26. .clang-format
  27. .cocciconfig
  28. .get_maintainer.ignore
  29. .gitattributes
  30. .gitignore
  31. .mailmap
  32. .rustfmt.toml
  33. BUILD.bazel
  34. build.config.aarch64
  35. build.config.allmodconfig
  36. build.config.allmodconfig.aarch64
  37. build.config.allmodconfig.arm
  38. build.config.allmodconfig.x86_64
  39. build.config.amlogic
  40. build.config.arm
  41. build.config.common
  42. build.config.constants
  43. build.config.db845c
  44. build.config.gki
  45. build.config.gki-debug.aarch64
  46. build.config.gki-debug.x86_64
  47. build.config.gki.aarch64
  48. build.config.gki.aarch64.fips140
  49. build.config.gki.riscv64
  50. build.config.gki.x86_64
  51. build.config.gki_kasan
  52. build.config.gki_kasan.aarch64
  53. build.config.gki_kasan.x86_64
  54. build.config.gki_kprobes
  55. build.config.gki_kprobes.aarch64
  56. build.config.gki_kprobes.x86_64
  57. build.config.khwasan
  58. build.config.riscv64
  59. build.config.rockpi4
  60. build.config.x86_64
  61. COPYING
  62. CREDITS
  63. Kbuild
  64. Kconfig
  65. Kconfig.ext
  66. MAINTAINERS
  67. Makefile
  68. modules.bzl
  69. OWNERS
  70. OWNERS_DrNo
  71. README
  72. 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)