Merge branch 'android13-5.15' into branch 'android13-5.15-lts'

This catches the android13-5.15-lts branch up with a lot of recent
changes that have gone into the android13-5.15 branch, including new
symbols that need to be tracked properly.

Included in here are the following changes:

* eff6178f9e5e ANDROID: ABI: Update pixel symbol list
* c43b7972a727 Merge tag 'android13-5.15.137_r00' into android13-5.15
* d2d389f5962c UPSTREAM: USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()
* f4fd913e2773 UPSTREAM: USB: core: Change usb_get_device_descriptor() API
* a0f42bab1c7a UPSTREAM: USB: core: Unite old scheme and new scheme descriptor reads
* 2550d09b4bb1 UPSTREAM: drm/qxl: fix UAF on handle creation
* d6f794bc2a40 FROMGIT: usb:gadget:uvc Do not use worker thread to pump isoc usb requests
* 19914a12f7ce FROMGIT: usb: gadget: uvc: Fix use-after-free for inflight usb_requests
* d1028058de7d FROMGIT: usb: gadget: uvc: move video disable logic to its own function
* 17f7b0639832 FROMGIT: usb: gadget: uvc: Allocate uvc_requests one at a time
* e7ed9e42ff20 FROMGIT: usb: gadget: uvc: prevent use of disabled endpoint
* b2017f5a8d39 ANDROID: fuse-bpf: Add NULL pointer check in fuse_release_in
* 18865dbcb84a FROMGIT: Input: uinput - allow injecting event times
* e039fcabed80 ANDROID: ABI: Update oplus symbol list
* 0eb66ec39ca8 ANDROID: vendor_hooks: Add hooks for binder
* 169630111a05 BACKPORT: dma-buf: add dma_fence_unwrap v2
* 67e5ffd3b00d UPSTREAM: dma-buf: Add dma_fence_array_for_each (v2)
* 20b2d562d55e UPSTREAM: dma-buf: add dma_fence_chain_contained helper
* a2a56bf85da1 BACKPORT: blk-ioprio: Introduce promote-to-rt policy
* a0c7043a7dd4 BACKPORT: block: Always initialize bio IO priority on submit
* 739e44e72855 BACKPORT: block: Initialize bio priority earlier
* b029b5369d66 BACKPORT: blk-ioprio: Convert from rqos policy to direct call
* 0468dbfadd95 ANDROID: KVM: arm64: Fix error path in pkvm_mem_abort()
* d8156345d8c5 ANDROID: GKI: Add symbol list for Transsion
* 690e148c4df8 ANDROID: GKI: Update symbol list for Amlogic
* cd7989c58bc7 ANDROID: mm: add vendor hook in isolate_freepages()
* 6dcfedcb7cf5 UPSTREAM: kthread: dynamically allocate memory to store kthread's full name
* e3eb2bbc882e BACKPORT: firmware_loader: Abort all upcoming firmware load request once reboot triggered
* 29ee4272dc34 UPSTREAM: firmware_loader: Refactor kill_pending_fw_fallback_reqs()
* 46b8053e2a3a UPSTREAM: vringh: don't use vringh_kiov_advance() in vringh_iov_xfer()
* e4cb5eaa4286 FROMGIT: ufs: core: wlun send SSU timeout recovery
* f0033a7e61fa ANDROID: abi_gki_aarch64_qcom: Update QCOM symbol list
* 85ccc4a25c60 ANDROID: ABI: Update symbols to unisoc whitelist
* c85178cecaaf UPSTREAM: netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
* 373d8674e643 BACKPORT: usb: gadget: uvc: Add missing initialization of ssp config descriptor
* df15bb1463b6 BACKPORT: usb: gadget: unconditionally allocate hs/ss descriptor in bind operation
* 85156cffb220 UPSTREAM: usb: gadget: f_uvc: change endpoint allocation in uvc_function_bind()
* b153f0c5b29b UPSTREAM: usb: gadget: function: Remove unused declarations
* 0f24a9edd057 UPSTREAM: usb: gadget: uvc: clean up comments and styling in video_pump
* ff6428453d8e UPSTREAM: ravb: Fix use-after-free issue in ravb_tx_timeout_work()
* a82ccd72a629 UPSTREAM: ravb: Fix up dma_free_coherent() call in ravb_remove()
* 10277013993b ANDROID: GKI: Update symbol list for Tuxera
* d0a5b5f66cca ANDROID: GKI: Update symbol list for Amlogic
* d7644c8942d6 ANDROID: mm: allow hooks into __alloc_pages()
* 50b7feda1560 UPSTREAM: netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP
* e89b1266f784 ANDROID: fuse-bpf: Add NULL pointer check in fuse_entry_revalidate
* f637dd4cd6f4 UPSTREAM: net: xfrm: Fix xfrm_address_filter OOB read
* 72d0bfc6310d UPSTREAM: igb: set max size RX buffer when store bad packet is enabled
* 4d065e6a9b19 ANDROID: abi_gki_aarch64_qcom: Add wait_for_device_probe symbol
* ac1789875840 ANDROID: GKI: Update symbol list for Amlogic
* 488dcc05293f BACKPORT: take care to handle NULL ->proc_lseek()
* d4c2ea3e9037 ANDROID: GKI: Update symbol list for Amlogic
* dc8e07a5946f ANDROID: vendor_hooks: add vendor hook in __alloc_pages()
* be34ad9457d9 UPSTREAM: netfilter: xt_sctp: validate the flag_info count
* c7d73c915500 BACKPORT: xhci: Keep interrupt disabled in initialization until host is running.
* 9ab4afca0cec BACKPORT: f2fs: allocate node blocks for atomic write block replacement
* 48c18bb04366 BACKPORT: f2fs: use cow inode data when updating atomic write
* 313762931f88 BACKPORT: f2fs: fix to check return value of inc_valid_block_count()
* 2dfe664897d7 BACKPORT: f2fs: fix to check return value of f2fs_do_truncate_blocks()
* f3f08c64a4ee BACKPORT: f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block
* 1625f1a6b07e BACKPORT: f2fs: synchronize atomic write aborts
* 4f5933690d7b BACKPORT: f2fs: fix to handle F2FS_IOC_START_ATOMIC_REPLACE in f2fs_compat_ioctl()
* 7ce5c702a6c0 BACKPORT: f2fs: fix to abort atomic write only during do_exist()
* 709e51bafa6a BACKPORT: f2fs: clear atomic_write_task in f2fs_abort_atomic_write()
* 11cc01ee6304 BACKPORT: f2fs: introduce trace_f2fs_replace_atomic_write_block
* c148d63e31ad BACKPORT: f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE
* a9fafdc4fd7f BACKPORT: f2fs: correct i_size change for atomic writes
* c964e0fbcb98 BACKPORT: f2fs: change to use atomic_t type form sbi.atomic_files
* 8074e8d195ab BACKPORT: f2fs: clean up f2fs_abort_atomic_write()
* 407a7bfa059d BACKPORT: f2fs: fix null-ptr-deref in f2fs_get_dnode_of_data
* 5000638ea3e4 BACKPORT: f2fs: revive F2FS_IOC_ABORT_VOLATILE_WRITE
* 97451746960e BACKPORT: f2fs: introduce sysfs atomic write statistics
* 255af4c3ea75 BACKPORT: f2fs: add a sysfs entry to show zone capacity
* e09231905e3f BACKPORT: f2fs: replace F2FS_I(inode) and sbi by the local variable
* 6f1a8b7df49c BACKPORT: f2fs: avoid unneeded error handling for revoke_entry_slab allocation
* a7ad89157e84 BACKPORT: f2fs: kill volatile write support
* 76ca4a07659a BACKPORT: f2fs: change the current atomic write way
* 048853c59052 UPSTREAM: netfilter: xt_u32: validate user space input
* 562550212a6a UPSTREAM: netfilter: nfnetlink_osf: avoid OOB read
* 5ccdde76b139 UPSTREAM: net/sched: Retire rsvp classifier
* e01c180a43a7 UPSTREAM: ipv4: fix null-deref in ipv4_link_failure
* bab11339549f UPSTREAM: netfilter: nf_tables: disallow rule removal from chain binding
* 8a0ac15c3162 FROMGIT: usb: typec: ucsi: Clear EVENT_PENDING bit if ucsi_send_command fails
* 05167f08a090 UPSTREAM: f2fs: fix deadlock in i_xattr_sem and inode page lock
* 082a5bf28b5f UPSTREAM: mmc:block:fix in_flight[issue_type] value error
* 87478bdad12e Merge tag 'android13-5.15.123_r00' into android13-5.15
* 4655b13f8a67 UPSTREAM: net: sched: sch_qfq: Fix UAF in qfq_dequeue()
* 3844902e0a76 UPSTREAM: net/sched: sch_hfsc: Ensure inner classes have fsc curve
* d34029c8258b UPSTREAM: tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
* 35fa35373d6e BACKPORT: mm: page_alloc: fix CMA and HIGHATOMIC landing on the wrong buddy list
* 3ac536f88c90 UPSTREAM: ARM: ptrace: Restore syscall skipping for tracers
* 3c5af9e0ebe7 UPSTREAM: ARM: ptrace: Restore syscall restart tracing
* c8443a21d84c ANDROID: ABI: Update oplus symbol list
* 09f3b2441a67 ANDROID: vendor_hooks: Add hooks for oem percpu-rwsem optimaton
* 0007dae4cde3 ANDROID: Update abi_gki_aarch64_qcom for usb typec orientation
* 5d6584e02ef2 ANDROID: GKI: Update symbol list for Amlogic
* 46fbfc12002a ANDROID: vendor_hooks: add vendor hook in xhci_urb_suitable_for_idt()
* ee2fd6623c13 ANDROID: GKI: Update symbol list for mtk
* 60f97c6435d7 ANDROID: tools/resolve_btfids: Pass CFLAGS to libsubcmd build via EXTRA_CFLAGS
* 8f75dab19c30 ANDROID: libsubcmd: Hoist iterator variable declarations in parse_options_subcommand()
* 9a8c25bee627 ANDROID: enable CONFIG_USB_XHCI_PCI_RENESAS in gki_defconfig
* 74e3fb486ae0 ANDROID: GKI: Update oplus symbol list
* d6c24c3a6356 ANDROID: vendor_hooks: Add hooks for adjusting alloc_flags
* c1fa53f3cf85 ANDROID: uid_sys_stat: instead update_io_stats_uid_locked to update_io_stats_uid
* c949fbdce0bc ANDROID: uid_sys_stat: split the global lock uid_lock to the fine-grained locks for each hlist in hash_table.
* f9a1230327dc ANDROID: GKI: Update symbol list for Amlogic
* 965abef6ee9f BACKPORT: FROMLIST: ovl: get_acl: Fix null pointer dereference at realinode in rcu-walk mode
* 676f9ba1502e BACKPORT: FROMLIST: ovl: ovl_permission: Fix null pointer dereference at realinode in rcu-walk mode
* 66c03b82a646 BACKPORT: FROMLIST: ovl: Let helper ovl_i_path_real() return the realinode
* c9f05404e3f6 UPSTREAM: netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
* 9798dc0c8510 ANDROID: vendor_hooks: add missing forward declare for struct cma
* 734916f1fc96 ANDROID: GKI: Add thermal genl vendor hook
* b4d311315663 ANDROID: thermal: Add vendor thermal genl check
* c5757900e1ad BACKPORT: printk: ringbuffer: Fix truncating buffer size min_t cast
* 154a18b264de ANDROID: ABI: Update symbols to unisoc whitelist
* dac9a9b19c52 UPSTREAM: block/mq-deadline: Set the fifo_time member also if inserting at head
* fcc304623680 UPSTREAM: block/mq-deadline: Prioritize high-priority requests
* 8ecb51cdac26 UPSTREAM: block/mq-deadline: Stop using per-CPU counters
* 2a8fbb97add6 UPSTREAM: block/mq-deadline: Add an invariant check
* b7deb9747bdd UPSTREAM: block/mq-deadline: Improve request accounting further
* 92babd44e9c5 BACKPORT: mm/filemap.c: fix update prev_pos after one read request done
* 4097bc85c296 UPSTREAM: af_unix: Fix null-ptr-deref in unix_stream_sendpage().
* cc960d6cc5cd ANDROID: GKI: Update symbol list for Amlogic
* d1051298accf ANDROID: vendor_hooks: add vendor hook in cma_alloc()
* 73528dcb047b ANDROID: GKI: Update symbol list for sunxi
* 1ee5e96a7d7b ANDROID: abi_gki_aarch64_qcom: Add blk_ksm_reprogram_all_keys symbol
* d4f95b543e9e BACKPORT: block/mq-deadline: use correct way to throttle write requests
* e71ded6c4cb8 BACKPORT: mm: avoid unnecessary flush on change_huge_pmd()
* 49745e7a736c BACKPORT: mm/mprotect: do not flush when not required architecturally
* 8923a83d5f88 BACKPORT: mm/mprotect: use mmu_gather
* d73fc26d75f7 ANDROID: uid_sys_stats: Use llist for deferred work
* f37ba43f9ba8 ANDROID: uid_sys_stats: Use a single work for deferred updates
* 622c14181024 ANDROID: fuse-bpf: Align data structs for 32-bit kernels
* a1f654ede48b ANDROID: fuse-bpf: Get correct inode in mkdir
* 15945636eb1f ANDROID: GKI: prevent removal of monitored symbols
* 31c3f0ea226e BACKPORT: net: nfc: Fix use-after-free caused by nfc_llcp_find_local
* 6b6ab2b915f9 UPSTREAM: netfilter: nf_tables: deactivate catchall elements in next generation
* 17f6f4f3e06d ANDROID: Fix unaligned memory access
* c4a8b3a5fc0c ANDROID: GKI: Update symbol list for Amlogic
* f60d8b8d8b39 ANDROID: GKI: Introduce new ABI symbol list
* 462a6aa95a05 ANDROID: GKI: Update abi_gki_aarch64_qcom for page_owner symbols
* d403c3023cef ANDROID: mm: Export page_owner_inited and __set_page_owner
* 032485190333 FROMGIT: pstore/ram: Check start of empty przs during init
* 4b2aadebd694 UPSTREAM: exfat: check if filename entries exceeds max filename length
* 55bd8a97d603 ANDROID: GKI: Update symbol list for Amlogic
* 6d71772c1d2f ANDROID: ABI: Update oplus symbol list
* 0e5b29019b9f ANDROID: vendor_hooks: Add hooks for waking up and exiting control
* ae0fb8d614c2 ANDROID: Hack to support ABI stable accept_ra_min_lft
* 7bd837eaa864 BACKPORT: FROMGIT: netfilter: nfnetlink_log: always add a timestamp

Change-Id: I267c60244b56c3445e38267d3fd2eba53a6b05fe
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
tree: 011404dbd8926f9512853b7137b66eda08ca3a3f
  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.gce.x86_64
  43. build.config.gki
  44. build.config.gki-debug.aarch64
  45. build.config.gki-debug.x86_64
  46. build.config.gki.aarch64
  47. build.config.gki.aarch64.fips140
  48. build.config.gki.x86_64
  49. build.config.gki_kasan
  50. build.config.gki_kasan.aarch64
  51. build.config.gki_kasan.x86_64
  52. build.config.gki_kprobes
  53. build.config.gki_kprobes.aarch64
  54. build.config.gki_kprobes.x86_64
  55. build.config.khwasan
  56. build.config.rockpi4
  57. build.config.x86_64
  58. COPYING
  59. CREDITS
  60. Kbuild
  61. Kconfig
  62. Kconfig.ext
  63. MAINTAINERS
  64. Makefile
  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)