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

Sync up with android12-5.10 for the following commits:

32432740cdec ANDROID: GKI: Add symbols abi for USB IP kernel modules.
c27d7f71b501 ANDROID: GKI: Fix file mode on mtk abi file
ca9ee53cea1f UPSTREAM: erofs: fix deadlock when shrink erofs slab
898e7ec950c1 ANDROID: init_task: Init android vendor and oem data
3c5407082307 UPSTREAM: sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
f0a7e5394bd1 ANDROID: Update symbol list for mtk
b943d328889d UPSTREAM: erofs: fix unsafe pagevec reuse of hooked pclusters
028f7128c4fb UPSTREAM: erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
504b13fb83b9 UPSTREAM: usb: dwc3: gadget: Fix null pointer exception
143ac63130f0 ANDROID: fips140: support "evaluation testing" builds via build.sh
cbd64e25c2d6 FROMGIT: sched/scs: Reset task stack state in bringup_cpu()
3ed40fb65a6c ANDROID: dma-buf: heaps: fix dma-buf heap pool pages stat
851990cc99ff ANDROID: ABI: Add several spi_mem related symbols
be30f0ce338a UPSTREAM: spi: spi-mem: add spi_mem_dtr_supports_op()
e5dfa8913863 ANDROID: gki_defconfig: enable CONFIG_SPI_MEM
bb18be4257f8 ANDROID: ABI: Add several iio related symbols
1407b7e1241f ANDROID: ABI: Update symbol list for IMX
575a552ac7c6 ANDROID: usb: gadget: f_accessory: Mitgate handling of non-existent USB request
376046be3b3b ANDROID: GKI: fix up abi break in ehci code
bf13278d66c9 UPSTREAM: usb: ehci: handshake CMD_RUN instead of STS_HALT
c3c2bb34ac8f ANDROID: arm64/mm: Add command line option to make ZONE_DMA32 empty
f8f6c7332b95 ANDROID: GKI: Add newly added vendor hook to abi symbol list
109f31ac23f5 ANDROID: fips140: add userspace interface for evaluation testing
97fb2104fe22 ANDROID: fips140: add support for injecting integrity error
903e97a0ca6d ANDROID: fips140: refactor evaluation testing support
53a812c6bbf3 ANDROID: sched: add hook point in do_sched_yield()
00d29953bb7d ANDROID: GKI: Update symbols to symbol list
7a069c607128 FROMGIT: usb: gadget: f_fs: Use stream_open() for endpoint files

Due to api additions in android12-5.10, this also adds more api symbols
to track:

Leaf changes summary: 44 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 38 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 6 Added variables

38 Added functions:

  [A] 'function int __traceiter_android_rvh_binder_transaction(void*, binder_proc*, binder_proc*, binder_thread*, binder_transaction_data*)'
  [A] 'function int __traceiter_android_rvh_do_sched_yield(void*, rq*)'
  [A] 'function int __traceiter_android_vh_binder_del_ref(void*, task_struct*, uint32_t)'
  [A] 'function int __traceiter_android_vh_binder_new_ref(void*, task_struct*, uint32_t, int)'
  [A] 'function int __traceiter_android_vh_binder_proc_transaction(void*, task_struct*, task_struct*, task_struct*, int, unsigned int, bool)'
  [A] 'function i3c_device* dev_to_i3cdev(device*)'
  [A] 'function spi_mem_dirmap_desc* devm_spi_mem_dirmap_create(device*, spi_mem*, const spi_mem_dirmap_info*)'
  [A] 'function int genphy_restart_aneg(phy_device*)'
  [A] 'function const i3c_device_id* i3c_device_match_id(i3c_device*, const i3c_device_id*)'
  [A] 'function int iio_device_claim_direct_mode(iio_dev*)'
  [A] 'function void iio_device_release_direct_mode(iio_dev*)'
  [A] 'function int iio_push_event(iio_dev*, u64, s64)'
  [A] 'function int iio_read_mount_matrix(device*, const char*, iio_mount_matrix*)'
  [A] 'function ssize_t iio_show_mount_matrix(iio_dev*, uintptr_t, const iio_chan_spec*, char*)'
  [A] 'function int kernel_sock_shutdown(socket*, sock_shutdown_cmd)'
  [A] 'function int kill_pid(pid*, int, int)'
  [A] 'function bool kthread_freezable_should_stop(bool*)'
  [A] 'function int phy_modify_mmd(phy_device*, int, u32, u16, u16)'
  [A] 'function int snd_interval_ranges(snd_interval*, unsigned int, const snd_interval*, unsigned int)'
  [A] 'function int snd_pcm_hw_constraint_ratnums(snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t, const snd_pcm_hw_constraint_ratnums*)'
  [A] 'function int snd_soc_limit_volume(snd_soc_card*, const char*, int)'
  [A] 'function int sock_recvmsg(socket*, msghdr*, int)'
  [A] 'function socket* sockfd_lookup(int, int*)'
  [A] 'function const spi_device_id* spi_get_device_id(const spi_device*)'
  [A] 'function int spi_mem_adjust_op_size(spi_mem*, spi_mem_op*)'
  [A] 'function bool spi_mem_default_supports_op(spi_mem*, const spi_mem_op*)'
  [A] 'function ssize_t spi_mem_dirmap_read(spi_mem_dirmap_desc*, u64, size_t, void*)'
  [A] 'function ssize_t spi_mem_dirmap_write(spi_mem_dirmap_desc*, u64, size_t, void*)'
  [A] 'function int spi_mem_driver_register_with_owner(spi_mem_driver*, module*)'
  [A] 'function void spi_mem_driver_unregister(spi_mem_driver*)'
  [A] 'function bool spi_mem_dtr_supports_op(spi_mem*, const spi_mem_op*)'
  [A] 'function int spi_mem_exec_op(spi_mem*, const spi_mem_op*)'
  [A] 'function const char* spi_mem_get_name(spi_mem*)'
  [A] 'function bool spi_mem_supports_op(spi_mem*, const spi_mem_op*)'
  [A] 'function void touchscreen_parse_properties(input_dev*, bool, touchscreen_properties*)'
  [A] 'function void touchscreen_report_pos(input_dev*, const touchscreen_properties*, unsigned int, unsigned int, bool)'
  [A] 'function int trace_set_clr_event(const char*, const char*, int)'
  [A] 'function int vsscanf(const char*, const char*, va_list)'

6 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_binder_transaction'
  [A] 'tracepoint __tracepoint_android_rvh_do_sched_yield'
  [A] 'tracepoint __tracepoint_android_vh_binder_del_ref'
  [A] 'tracepoint __tracepoint_android_vh_binder_new_ref'
  [A] 'tracepoint __tracepoint_android_vh_binder_proc_transaction'
  [A] 'device platform_bus'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6de103b0d75261c17c11454051e2559bb6d1eecf
tree: d1226b96a41efd1202079fb497936bff3f38d6fe
  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.aarch64.fips140_eval_testing
  45. build.config.gki.x86_64
  46. build.config.gki_kasan
  47. build.config.gki_kasan.aarch64
  48. build.config.gki_kasan.x86_64
  49. build.config.gki_kprobes
  50. build.config.gki_kprobes.aarch64
  51. build.config.gki_kprobes.x86_64
  52. build.config.hikey960
  53. build.config.khwasan
  54. build.config.rockchip
  55. build.config.x86_64
  56. COPYING
  57. CREDITS
  58. Kbuild
  59. Kconfig
  60. MAINTAINERS
  61. Makefile
  62. OWNERS
  63. README
  64. 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)