Commit Graph
1455347 Commits
Author SHA1 Message Date
Carlos Llamas 99c032db6c Merge 36808d5e98 ("Merge tag 'driver-core-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/driver-core/driver-core") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Ibf3b13fe48d16fa3a71fbe0210ed42a8400943d1
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-23 07:54:52 -07:00
Ulises Mendez Martinez 4cd831d8f0 ANDROID: Makefile: Revert mixed-build-prefix hack
Last references were removed in http://r.android.com/3552603 and
http://r.android.com/3552602.

Since mixed-build-prefix is no longer used, we can safely remove its
definition and export.

Bug: 205893923
Test: tools/bazel build //common-modules/virtual-device:virtual_device_x86_64
Change-Id: I467d7a01648bbd079640e645e09b9f5edbdee3b3
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
2026-07-23 03:53:01 -07:00
Betty Zhou 291938b5df ANDROID: Update TEST_MAPPING in common/net.
Update TEST_MAPPING in common/net to be import based for majority of tests.

Test: presubmit
Bug: 436349608
Change-Id: I73df7d1b3ea3f4c373de9d0cfb386d24656c36fc
Signed-off-by: Betty Zhou <bettyzhou@google.com>
2026-07-22 16:33:25 -07:00
Betty Zhou 52aa09f754 ANDROID: Add TEST_MAPPING in common/drivers and common/kernel.
Remove TEST_MAPPING in common/drivers/ and common/kernel subfolders and consolidate the tests in upper level at common/drivers in common/kernel.

Test: presubmit
Bug: 436349608
Change-Id: I86f5e951e8bb3b702c21d68afa59e7d0620770a9
Signed-off-by: Betty Zhou <bettyzhou@google.com>
2026-07-22 12:20:25 -07:00
André Draszik bbea9e696f FROMLIST: drm/drm_crtc: ensure dma_fence_ops remain valid during device unbind
In [1], sashiko reported the following issue:

=== snip ===
Looking at how these fences are managed, drm_crtc_create_fence()
creates a dma_fence without taking a reference to the drm_device or
drm_crtc. Because the sync_file framework exposes this fence to
userspace, the fence can outlive the CRTC.

The dma_fence contract requires that data accessed by dma_fence_ops
(like get_driver_name) must remain valid for an RCU grace period after
the fence is signaled. However, drm_crtc_cleanup() and the subsequent
freeing of the device do not wait for an RCU grace period via
synchronize_rcu().

If userspace calls ioctl(SYNC_IOC_FILE_INFO) concurrently with a device
hot-unplug:

CPU1 (Userspace)
sync_file_get_name()
  ops = rcu_dereference(fence->ops);
  if (!dma_fence_test_signaled_flag())
    // Preempted or delayed here

CPU2 (Driver Teardown)
Signals the fence (setting fence->ops = NULL)
Destroys and frees the CRTC without waiting for an RCU grace period

CPU1 (Resumes)
  ops->get_driver_name(fence) -> drm_crtc_fence_get_driver_name()
  crtc = fence_to_crtc(fence); // Casts to the freed CRTC
  return crtc->dev->driver->name; // Use-after-free

...

Does the CRTC or DRM device need to be kept alive for the RCU grace
period, or should the fence hold a proper reference to prevent the
use-after-free when get_driver_name() and get_timeline_name() access
the freed CRTC structure?
=== snap ===

I believe this to be a correct observation and this patch implements
the suggestion of waiting for an RCU grace period before proceeding
with destruction of the drm_crtc, so that get_driver_name() and
get_timeline_name() can still work.

Link: https://sashiko.dev/#/patchset/20260618-linux-drm_crtc_fix2-v1-1-c03e77b36f34@linaro.org?part=1
Fixes: 6d6003c4b6 ("drm/fence: add fence timeline to drm_crtc")
Cc: stable@vger.kernel.org
Reviewed-by: Philipp Stanner <phasta@kernel.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/all/20260721-linux-drm_crtc_fix2-v3-1-afa8c71506e6@linaro.org/
Bug: 521531791
Test: TH
Change-Id: Ib7607bfbf5f619c8c4d19d306dff7288063177f1
Signed-off-by: André Draszik <draszik@google.com>
2026-07-22 11:21:28 -07:00
Carlos Llamas 2530770c26 Revert "ANDROID: GKI: clk: Add support for clock providers with sync state"
This reverts commit 44ee1179cb.

Upstream reverted the equivalent patch in commit c1855dd0a6 ("clk: qcom:
Revert sync_state based clk_disable_unused") after finding some issues
with this approach [1]. Also, keeping this patch creates build issues
with further upstream patches, so let's just drop it. If this is really
needed please work on landing this functionality upstream.

Bug: 535619959
Cc: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id9f47b9225b14dc8dce29394f4b55534c6c7df34
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-22 15:29:21 +00:00
Carlos Llamas 417c896e8a Revert "ANDROID: GKI: clk: Don't disable unused clocks with sync state support"
This reverts commit ed7a77c50f.

Upstream reverted the equivalent patch in commit c1855dd0a6 ("clk: qcom:
Revert sync_state based clk_disable_unused") after finding some issues
with this approach [1]. Also, keeping this patch creates build issues
with further upstream patches, so let's just drop it. If this is really
needed please work on landing this functionality upstream.

Bug: 535619959
Cc: Greg Kroah-Hartman <gregkh@google.com>
Link: https://lore.kernel.org/all/20230222153415.5npe4axg4mupzvw4@ripper/ [1]
Change-Id: Ie8d6962080e6ddf1f7824910a69399dbfb01d245
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-22 15:29:15 +00:00
Carlos Llamas 14a4868b77 Revert "ANDROID: clk: qcom: Add sync_state = clk_sync_state for db845c clock providers"
This reverts commit fe7d795db4.

Upstream reverted the equivalent patch in commit c1855dd0a6 ("clk: qcom:
Revert sync_state based clk_disable_unused") after finding some issues
with this approach [1]. Also, keeping this patch creates build issues
with further upstream patches, so let's just drop it. If this is really
needed please work on landing this functionality upstream.

Bug: 535619959
Cc: Greg Kroah-Hartman <gregkh@google.com>
Link: https://lore.kernel.org/all/20230222153415.5npe4axg4mupzvw4@ripper/ [1]
Change-Id: Idec2aca7f460322546766eeb68a6f48974e39705
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-22 15:14:47 +00:00
Betty Zhou 7c013a961b ANDROID: Update TEST_MAPPING in common/fs.
The TEST_MAPPING in common/fs is updated to import based for majority of the tests.

Test: presubmit
Bug: 436349608
Change-Id: Ifd4db9082d01d0ef252b5c70324c92c285311fa8
Signed-off-by: Betty Zhou <bettyzhou@google.com>
2026-07-22 01:59:16 -07:00
Betty Zhou 2021831a8f ANDROID: Update TEST_MAPPING in common/mmm.
Update TEST_MAPPING in common/mmm to be mainly import based.

Signed-off-by: Betty Zhou <bettyzhou@google.com>
Test: presubmit
Bug: 436349608
Change-Id: Ifa1499ed16c93709c4eda26b6e82a4fafc2f5fe2
2026-07-21 20:51:17 -07:00
Betty Zhou bbaa00cbbd ANDROID: Update TEST_MAPPING in common/drivers/android.
Update TEST_MAPPING in common/drivers/android to be import based for most of the tests.

Signed-off-by: Betty Zhou <bettyzhou@google.com>
Test: presubmit
Bug: 436349608
Change-Id: I00f768d3efe8b50ac17624e041d7eaf9c8e100d7
2026-07-21 16:28:55 -07:00
Ulises Mendez Martinez 62fd405937 ANDROID: Disable broken tests
* These have been recently broken by a dependency upgrade. This commit
  disables them while they get fixed.

Bug: 536813037
Bug: 536732335
Bug: 536739090
Change-Id: I279fbb2ce563e3597e96ec762b26866d12b0ea22
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
2026-07-20 12:45:50 +00:00
Siddharth Nayyar 96ac8699c8 ANDROID: kleaf: make pahole publicly visible
This will allow mixed builds to use source-built pahole.

Bug: 477549297
Change-Id: Ibc9293bef1fa9ce4ebeb8c0ba1126e9ce0ec0713
Signed-off-by: Siddharth Nayyar <sidnayyar@google.com>
2026-07-16 06:54:05 -07:00
Nikita Ioffe a22b1763db ANDROID: MICRODROID: Remove CONFIG_DMABUF_SYSFS_STATS
This config option is not used by microdroid VMs and already has been
removed upstream.

Bug: 529833761
Test: presubmit
Change-Id: Ie89025a7b3029c16562b1d4f11e9f77f5b7b74d3
Merged-In: Ie89025a7b3029c16562b1d4f11e9f77f5b7b74d3
Signed-off-by: Nikita Ioffe <ioffe@google.com>
(cherry picked from commit 6df17ae72b6245aeb206aff24190a76cf33561c0)
2026-07-16 06:53:56 -07:00
Carlos Llamas 87aba67d69 ANDROID: GKI: CRYPTO_LZ4 is now implicit
The CRYPTO_LZ4 config is now implicitly selected via HIBERNATION, so
remove it from our gki_defconfig files.

Fixes: 2068d7715e ("PM: hibernate: make LZ4 available for hibernation compression")
Change-Id: Ia298ccce5f6c2bd46a767f65dc6d82a0215f965e
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-15 22:00:25 +00:00
Carlos Llamas f8e1521d85 Merge 5504ce0317 ("Merge tag 'pm-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Ic13e31db0176105e2b36af2d855d44bcb05fc948
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-15 21:59:44 +00:00
Carlos Llamas 98077c2b63 Revert "ANDROID: GKI: add a vendor hook in cpufreq_online"
This reverts commit 9bd7b75557.

It creates merge conflicts with upstream patches. Plus, it doesn't seem
to be critical functionality for it to live in android-mainline branch.
However, it can be later reapplied if really needed.

Bug: 312392542
Cc: vincent wang <vincentwang3@lenovo.com>
Change-Id: Ib2fd55877dffb8a0199862780f0f3db71526a921
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-15 21:54:52 +00:00
Carlos Llamas f6be257cd3 Merge f3c4a338b5 ("Merge tag 'thermal-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: I4e4d3dc211fdea0784f79ea2a82606b559eb23ed
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-15 16:29:23 +00:00
Siddharth Nayyar 2a04d82496 ANDROID: kleaf: add pahole argument to kernel_build targets
This makes the kernel builds use source-built pahole.

Bug: 477549297
Change-Id: I7ceb5d5349c1e920ff996a4d629ad0d1ad53948e
Signed-off-by: Siddharth Nayyar <sidnayyar@google.com>
2026-07-15 07:17:44 -07:00
John Stultz c28904303d Revert "ANDROID: gki_defconfig: Disable and remove CONFIG_RCU_LAZY"
This reverts commit 7c4637b548.

Reason for revert: Qais raised some skepticism that the impact is as bad as earlier reported. Wants to have it still as an option to evaluate.

Bug: 458065944
Change-Id: I9ee82670e1a4802486083d987e0646ae3d447d36
Signed-off-by: John Stultz <jstultz@google.com>
2026-07-14 14:52:52 -07:00
Howard Chen 7c4637b548 ANDROID: gki_defconfig: Disable and remove CONFIG_RCU_LAZY
CONFIG_RCU_LAZY causes RCU grace periods to be delayed, which negatively
impacts kfree_rcu() and sheaves freeing performance in SLUB allocations.
Since there is no active benefit or necessity for HZ=1000 in mainline,
disable/remove CONFIG_RCU_LAZY from gki_defconfig to prevent memory
reclamation regressions.

Bug: 458065944
Test: Verified gki_defconfig changes and RCU_LAZY removal
Change-Id: Ib30072f6f1a89a46907eda2167a366fa39139ea1
Signed-off-by: Howard Chen <howardsoc@google.com>
2026-07-14 17:00:48 +08:00
Ryan Neph 7443a0c3c9 ANDROID: gki_defconfig: enable CONFIG_SW_SYNC=y for debug/testing
The sw_sync driver is useful for debugging and testing GPU drivers, and
is leveraged by several tests in the igt-gpu-tools test suite.

The driver carries a warning that it poses a risk of unsafe fence
management that can lead to userspace-initiated system deadlocks, so it
has been disabled in Android kernels to protect against this
possibility.

GMS requirements for Android 12 and newer disallow shipping devices with
debugfs mounted.

Beginning in the Android 4.9 kernel, sw_sync is only exposed through
debugfs, so enabling in newer GKI kernels for debugging and testing no
longer poses the risk to shipping builds.

Bug: 513375529
Test: tools/bazel build //common:kernel_aarch64
Test: tools/bazel build //common:kernel_x86_64
Test: adb shell ls /sys/kernel/debug/sync/sw_sync
Signed-off-by: Ryan Neph <ryanneph@google.com>
Cherrypick-From: https://android-review.googlesource.com/q/commit:f83948e947ffb1a8b1798cd576bc7d58263d9279
Merged-In: I5ab41385c9c30cdb1a4b21123eb4777c17adcb5a
Change-Id: I5ab41385c9c30cdb1a4b21123eb4777c17adcb5a
2026-07-13 13:12:17 -07:00
Sneh Saraff d1414ab62c ANDROID: incfs: Increase maximum Merkle tree hash area size to 1792 MB
To support XL APKs, increase INCFS_MAX_HASH_AREA_SIZE from 1280 MB (1.25 GB) to 1792 MB (1.75 GB). A 1792 MB hash area supports APKs up to about 238 GB (~222 GiB), while keeping total block calculations below the 32-bit signed integer overflow boundary (2.0 GB).

Test:

Without increasing the limit:
adb install -t --incremental large_app_200gb.apk
Performing Incremental Install
Serving...
Failure [INSTALL_FAILED_MEDIA_UNAVAILABLE: Failed to add file to IncFS: large_app_200gb.apk, reason: : makeFile() failed with errno 7]
Install failed.

With the increased limit:
adb install -t --incremental large_app_200gb.apk
Performing Incremental Install
Serving...
Success

Bug: 522943057

Change-Id: I860604030438074048689c4675ea02740f0d5aa8
Signed-off-by: Sneh Saraff <snehsaraff@google.com>
2026-07-13 11:17:57 -07:00
Vova Sharaienko 8a66e2bdde Revert "ANDROID: dm-bow: Fix Race Condition in dm_bow_tablestatus()"
This reverts commit 0259eef8a0.

Reason for revert: http://b/533165921#comment5

Change-Id: I36ce0268cc35c8a3e9915c397d69f1ed0b6b3af3
Signed-off-by: Vova Sharaienko <sharaienko@google.com>
2026-07-09 19:31:15 -07:00
Vova Sharaienko 0259eef8a0 ANDROID: dm-bow: Fix Race Condition in dm_bow_tablestatus()
Acquire bc->ranges_lock earlier in the function to protect
trimmed_list and ranges traversal against concurrent modifications.

Bug: 499160651

Change-Id: I06f034d7e9ddc024930b33216f911f7a321cafe0
Signed-off-by: Vova Sharaienko <sharaienko@google.com>
2026-07-09 16:08:37 -07:00
Jiameng Li 82be0d329b ANDROID: sched: Avoid macro redefinition of TRACE_INCLUDE_PATH
Add missing #undef TRACE_INCLUDE_PATH before #define in include/trace/hooks/sched.h to prevent -Werror,-Wmacro-redefined when multiple trace hook headers are included in the same compilation unit.

Modified files: include/trace/hooks/sched.h

Fixes: a1fc1fba46 ("ANDROID: sched: add restrict vendor hook to modify task placement policy in EAS")
Bug: 532033601
Change-Id: I4218417f58ff15aaa295ffda05ceccc8705bc448
Signed-off-by: Jiameng Li <lijiameng3@xiaomi.corp-partner.google.com>
2026-07-09 04:18:58 -07:00
Tzung-Bi Shih bdc8ab55a8 ANDROID: gki_defconfig: Enable hard lockup detector
Enable hard lockup detector.

This enables hard lockup detection in Android devices.  However, we'll
only enable hardlockup_panic in desktop devices (in a separate CL).

ARM64 devices prefer to use the buddy detector in case the perf detector
isn't available.

Bug: 484396742
Test: cat /proc/sys/kernel/nmi_watchdog -> 1
      echo 1 >/proc/sys/kernel/hardlockup_panic
      echo HARDLOCKUP >/sys/kernel/debug/provoke-crash/DIRECT
      adb shell getprop | grep reason
      cat /sys/fs/pstore/console-ramoops-0
Change-Id: I12c33b998ae30b3a4dc1e168cf25e0fe4d477df5
Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
2026-07-08 21:04:11 -07:00
Carlos Llamas ada56f2640 Merge eed451031f ("Merge tag 'acpi-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Ib6e78da4efa8019b8364ed9bd2ccee8b6bc6e62a
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-08 15:59:17 -07:00
Grzegorz Jaszczyk d0f4c5b708 ANDROID: Update OWNERS_DrNo
Add pKVM-IA (pKVM on x86) team members as OWNERS_DrNo.

Bug: 532154523

Change-Id: I1e4934f0ccf17cd2c78b8be07c6898cfeb4a51c0
Signed-off-by: Grzegorz Jaszczyk <jaszczyk@google.com>
2026-07-07 23:29:35 -07:00
HONG Yifan e23573565c ANDROID: Update to clang r596125
Update the GKI compiler version to r596125.

Bug: 524750479
Test: tools/bazel run //common:kernel_aarch64_dist
Assisted-by: Antigravity:Gemini-Next
Change-Id: Ibb1a89bea6909e309f6945536130a833c147b594
Signed-off-by: HONG Yifan <elsk@google.com>
2026-07-06 13:11:32 -07:00
Maciej Żenczykowski 169543f6c0 ANDROID: bpf: protect against OOB write in general
Bug: 499129914
Test: on QEMU net-test
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Cherrypick-From: https://android-review.googlesource.com/q/commit:0e614c15af5ef6c8351d48cdcbe358f1c4e4104e
Merged-In: I94b00b37483cf0244545464f2a689155764bddc0
Change-Id: I94b00b37483cf0244545464f2a689155764bddc0
2026-07-05 13:16:26 -07:00
Carlos Llamas 7654e42a65 Merge 73f399414a ("Merge tag 'kbuild-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: I9e1abff364f66f69c3c72843f30e102d9092da4e
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-02 14:19:47 +00:00
Carlos Llamas b7afc9c272 ANDROID: kbuild: remove leftover extmod_prefix
This variable was removed upstream in commit bad6beb2c0 ("kbuild:
remove extmod_prefix, MODORDER, MODULES_NSDEPS variables"). However, it
was mistakenly kept during a merge conflict resolution. Drop it!

Fixes: f9d4616300 ("Merge 'Merge tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild'")
Change-Id: I8e5b6c10ab82b8ccc16a1bb575b96c3f68f1f9e5
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-02 14:05:31 +00:00
Carlos Llamas fd4c02ed0a Merge de02909ae8 ("Merge tag 'pull-configfs-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Iaf03a01f756c764a0729872117727fb879e1d97e
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-01 22:48:27 +00:00
Carlos Llamas a54061ac8f Revert "bpf: Add simple xattr support to bpffs"
This reverts commit 9722955b54.

It breaks the genfs use-case for bpffs which is what Android uses. It
can be restored later once a solution is reached upstream.

Bug: 529733987
Change-Id: I2f41e047fd77fc3a5b1c223caee4fc2bcfdf02cd
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-01 22:44:55 +00:00
Carlos Llamas adc1801e57 Merge 7e0e7bd60d ("Merge tag 'vfs-7.2-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: I6bc93df9b87a88b2acc9a85f5d9820b155985e5a
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-01 22:43:48 +00:00
Carlos Llamas 3f688ad55d Merge ff8747aaca ("Merge tag 'vfs-7.2-rc1.xattr' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: I1dedcb26938def8d8de381c73aa6feb56b35c5be
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-01 22:43:48 +00:00
Carlos Llamas a85d7063a9 Merge ec5d1ae94e ("Merge tag 'vfs-7.2-rc1.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Ibbed9e3820914b49aa2b59d15844f6c366c89380
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-07-01 12:48:23 -07:00
Ulises Mendez Martinez 22d483b17f ANDROID: modpost: skip vmlinux.symvers dependency for external modules
When an DDK module is compiled with generate_btf = True against a
mixed-build kernel tree, Kleaf exports KBUILD_MIXED_TREE. This incorrectly
triggers the local mixed-build dependency rule requiring vmlinux.symvers
as a direct make target. Because external module builds omit target
definitions for vmlinux.symvers, Kbuild halts with "No rule to make
target 'vmlinux.symvers'".

Allow external module builds (KBUILD_EXTMOD is set) to skip evaluating
vmlinux.symvers as a local prerequisite of modpost.

Fixes: 5d68de72ab ("ANDROID: kbuild: partially clean up symvers generation for mixed build.")
Bug: 455559871
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Assisted-by: Antigravity:Gemini-Next
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
2026-07-01 08:05:22 -07:00
Vova Sharaienko 902088f65d ANDROID: dm-bow: Fix Use-After-free in dm_bow_dtr()
Reorder resource teardown so that kobject cleanup completes
before destroy_workqueue and dm_bufio_client_destroy. This
ensures all concurrent sysfs accesses (via state_store) complete
safely before underlying context resources are freed.

Bug: 499160651

Change-Id: I45d01a0691b5cbd0f3dacd77a286c12a260d9568
Signed-off-by: Vova Sharaienko <sharaienko@google.com>
2026-06-30 13:31:28 -07:00
Terence Tritton 7eebb4e142 ANDROID: gki_defconfig: Enable CONFIG_CRYPTO_SHA512
CONFIG_CRYPTO_SHA512 was previously included by an implicit dependency
chain. Now this chain has been broken we need to manually add it to the
gki_defconfig.

Bug: 529308895
Fixes: 4061bc8c03 ("crypto: rng - Don't pull in DRBG when CRYPTO_FIPS=n")
Test: atest vts_kernel_net_tests
Change-Id: Iaa3deb56d7ea99bd88e9ba72d0ba2bbc3bb9474f
Signed-off-by: Terence Tritton <ttritton@google.com>
2026-06-30 10:13:14 -07:00
Carlos Llamas e75c396f77 Merge c17fdf62ae ("Merge tag 'vfs-7.2-rc1.writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Id8f574b8675435bef13f0603538b790d3a1abd23
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-06-29 17:42:32 +00:00
Carlos Llamas d8e2d38dc4 Merge 5d15ab717d ("Merge tag 'vfs-7.2-rc1.casefold' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Iaecef0ec7d76ceb94cdc7d5fd9f886774c645099
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-06-29 17:40:34 +00:00
Carlos Llamas a67280de4c Merge 6b5b72ac2c ("Merge tag 'vfs-7.2-rc1.directory.delegations' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs") into android-mainline
Steps on the way to v7.2-rc1

Change-Id: Iba77b2977abbd83e55ef728fddf3c32b24d0b9e6
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-06-29 17:39:49 +00:00
Carlos Llamas d271c24339 Merge tag 'v7.1' into android-mainline
Linux 7.1

Change-Id: I35c779fb5363b2baf3edfaacbee966118682885d
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2026-06-15 15:40:45 +00:00
Linus Torvalds 36808d5e98 Merge tag 'driver-core-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/driver-core/driver-core
Pull driver core updates from Danilo Krummrich:
 "Deferred probe:
   - Fix race where deferred probe timeout work could be permanently
     canceled by using mod_delayed_work()
   - Fix missing jiffies conversion in deferred_probe_extend_timeout()
   - Guard timeout extension with delayed_work_pending() to prevent
     premature firing
   - Use system_percpu_wq instead of the deprecated system_wq
   - Update deferred_probe_timeout documentation

  device:
   - Replace direct struct device bitfield access (can_match, dma_iommu,
     dma_skip_sync, dma_ops_bypass, state_synced, dma_coherent,
     of_node_reused, offline, offline_disabled) with flag-based
     accessors using bit operations
   - Reject devices with unregistered buses
   - Delete unused DEVICE_ATTR_PREALLOC()
   - Add low-level device attribute macros with const show/store
     callbacks, allowing device attributes to reside in read-only memory
   - Move core device attributes to read-only memory
   - Constify group array pointers in driver_add_groups() /
     driver_remove_groups(), struct bus_type, and struct device_driver

  device property:
   - Fix fwnode reference leak in fwnode_graph_get_endpoint_by_id()
   - Initialize all fields of fwnode_handle in fwnode_init()
   - Provide swnode_get()/swnode_put() wrappers around kobject_get/put()
   - Allow passing struct software_node_ref_args pointers directly to
     PROPERTY_ENTRY_REF()

  driver_override:
   - Migrate amba, cdx, vmbus, and rpmsg to the generic driver_override
     infrastructure, fixing a UAF from unsynchronized access to
     driver_override in bus match() callbacks
   - Remove the now-unused driver_set_override()

  firmware loader:
   - Fix recursive lock deadlock in device_cache_fw_images() when async
     work falls back to synchronous execution
   - Fix device reference leak in firmware_upload_register()

  platform:
   - Pass KBUILD_MODNAME through the platform driver registration macro
     to create module symlinks in sysfs for built-in drivers; move
     module_kset initialization to a pure_initcall and tegra cbb
     registration to core_initcall to ensure correct ordering
   - Pass THIS_MODULE implicitly through a coresight_init_driver() macro

  sysfs:
   - Upgrade OOB write detection in sysfs_kf_seq_show() from printk to
     WARN
   - Add return value clamping to sysfs_kf_read()

  Rust:
   - ACPI:

     Fix missing match data for PRP0001 by exporting
     acpi_of_match_device()

   - Auxiliary:

     Replace drvdata() with dedicated registration data on
     auxiliary_device. drvdata() exposed the driver's bus device private
     data beyond the driver's own scope, creating ordering constraints
     and forcing the data to outlive all registrations that access it.
     Registration data is instead scoped structurally to the
     Registration object, making lifecycle ordering enforced by
     construction rather than convention.

   - Rust-native device driver lifetimes (HRT):

     Allow Rust device drivers to carry a lifetime parameter on their
     bus device private data, tied to the device binding scope -- the
     interval during which a bus device is bound to a driver. Device
     resources like pci::Bar<'a> and IoMem<'a> can be stored directly in
     the driver's bus device private data with a lifetime bounded by the
     binding scope, so the compiler enforces at build time that they do
     not outlive the binding. This removes Devres indirection from every
     access site and eliminates try_access() failure paths in
     destructors.

     Bus driver traits use a Generic Associated Type (GAT) Data<'bound>
     to introduce the lifetime on the private data, rather than
     parameterizing the Driver trait itself. Auxiliary registration
     data, where the lifetime is not introduced by a trait callback but
     must be threaded through Registration, uses the ForLt trait (a
     type-level abstraction for types generic over a lifetime).

  Misc:
   - Fix DT overlayed devices not probing by reverting the broken
     treewide overlay fix and re-running fw_devlink consumer pickup when
     an overlay is applied to a bound device
   - Use root_device_register() for faux bus root device; add sanity
     check for failed bus init
   - Fix dev_has_sync_state() data race with READ_ONCE() and move it to
     base.h
   - Avoid spurious device_links warning when removing a device while
     its supplier is unbinding
   - Switch ISA bus to dynamic root device
   - Fix suspicious RCU usage in kernfs_put()
   - Remove devcoredump exit callback
   - Constify devfreq_event_class"

* tag 'driver-core-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/driver-core/driver-core: (81 commits)
  software node: allow passing reference args to PROPERTY_ENTRY_REF()
  driver core: platform: set mod_name in driver registration
  coresight: pass THIS_MODULE implicitly through a macro
  kernel: param: initialize module_kset in a pure_initcall
  soc/tegra: cbb: Move driver registration from pure_initcall to core_initcall
  firmware_loader: Fix recursive lock in device_cache_fw_images()
  driver core: Use system_percpu_wq instead of system_wq
  driver core: remove driver_set_override()
  rpmsg: use generic driver_override infrastructure
  Drivers: hv: vmbus: use generic driver_override infrastructure
  cdx: use generic driver_override infrastructure
  amba: use generic driver_override infrastructure
  rust: devres: add 'static bound to Devres<T>
  samples: rust: rust_driver_auxiliary: showcase lifetime-bound registration data
  rust: auxiliary: generalize Registration over ForLt
  rust: types: add `ForLt` trait for higher-ranked lifetime support
  gpu: nova-core: separate driver type from driver data
  samples: rust: rust_driver_pci: use HRT lifetime for Bar
  rust: io: make IoMem and ExclusiveIoMem lifetime-parameterized
  rust: pci: make Bar lifetime-parameterized
  ...
2026-06-15 12:41:17 +05:30
Linus Torvalds 5504ce0317 Merge tag 'pm-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
 "Over a half of the changes here are cpufreq updates that include core
  modifications, fixes of the old-style governors, new hardware support
  in drivers, assorded driver fixes and cleanups, and the removal of one
  driver (AMD Elan SC4*).

  Apart from that, the intel_idle driver will now be able to avoid
  exposing redundant C-states if PC6 is disabled and there are new
  sysctl knobs for device suspend/resume watchdog timeouts, hibernation
  gets built-in LZ4 support for image compression and there is the usual
  collection of assorted fixes and cleanups.

  Specifics:

   - Fix a race between cpufreq suspend and CPU hotplug during system
     shutdown (Tianxiang Chen)

   - Avoid redundant target() calls for unchanged limits and fix a typo
     in a comment in the cpufreq core (Viresh Kumar)

   - Fix concurrency issues related to sysfs attributes access that
     affect cpufreq governors using the common governor code (Zhongqiu
     Han)

   - Simplify frequency limit handling in the conservative cpufreq
     governor (Lifeng Zheng)

   - Fix descriptions of the conservative governor freq_step tunable and
     the ondemand governor sampling_down_factor tunable in the cpufreq
     documentation (Pengjie Zhang)

   - Fix use-after-free and double free during _OSC evaluation in the
     PCC cpufreq driver (Yuho Choi)

   - Rework the handling of policy min and max frequency values in the
     cpufreq core to allow drivers to specify special initial values for
     the scaling_min_freq and scaling_max_freq sysfs attributes (Pierre
     Gondois)

   - Add cpufreq scaling support for Qualcomm Shikra SoC (Taniya Das,
     Imran Shaik).

   - Improve the warning message on HWP-disabled hybrid processors
     printed by the intel_pstate driver and sync policy->cur during CPU
     offline in it (Yohei Kojima, Fushuai Wang)

   - Drop cpufreq support for AMD Elan SC4* (Sean Young)

   - Minor fixes for cpufreq drivers (Krzysztof Kozlowski, Akashdeep
     Kaur, Hans Zhang, Guangshuo Li, Xueqin Luo)

   - Clean up dead dependencies on X86 in the cpufreq Kconfig (Julian
     Braha)

   - Allow the intel_idle driver to avoid exposing C-states that are
     redundant when PC6 is disabled (Artem Bityutskiy)

   - Fix memory leak and a potential race in the OPP core (Abdun Nihaal,
     Di Shen)

   - Mark Rust OPP methods as inline (Nicolás Antinori)

   - Fix misc device registration failure path in the PM QoS core (Yuho
     Choi)

   - Add sysctl interface for DPM watchdog timeouts (Tzung-Bi Shih)

   - Use complete() instead of complete_all() in device_pm_sleep_init()
     to avoid a false-positive warning from lockdep_assert_RT_in_threaded_ctx()
     when CONFIG_PROVE_RAW_LOCK_NESTING is enabled (Jiakai Xu)

   - Use a flexible array for CRC uncompressed buffers during
     hibernation image saving (Rosen Penev)

   - Make the LZ4 algorithm available for hibernation compression
     (l1rox3)

   - Move the preallocate_image() call during hibernation after the
     "prepare" phase of the "freeze" transition (Matthew Leach)

   - Fix a memory leak in rapl_add_package_cpuslocked() in the
     intel_rapl power capping driver and use sysfs_emit() in
     cpumask_show() in that driver (Sumeet Pawnikar, Yury Norov)

   - Fix ValueError when parsing incomplete device properties in the
     pm-graph utility (Gongwei Li)"

* tag 'pm-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm: (40 commits)
  PM: dpm_watchdog: Add sysctl interface for DPM watchdog timeouts
  PM: QoS: Fix misc device registration unwind
  cpufreq: Use policy->min/max init as QoS request
  cpufreq: Remove driver default policy->min/max init
  cpufreq: Set default policy->min/max values for all drivers
  cpufreq: Extract cpufreq_policy_init_qos() function
  cpufreq: Documentation: fix conservative governor freq_step description
  cpufreq: ti: Add EPROBE_DEFER for K3 SoCs
  cpufreq: qcom: Add cpufreq scaling support for Qualcomm Shikra SoC
  dt-bindings: cpufreq: Document Qualcomm Shikra SoC EPSS
  powercap: intel_rapl: Use sysfs_emit() in cpumask_show()
  cpufreq: governor: Fix stale prev_cpu_nice spike when enabling ignore_nice_load
  cpufreq: governor: Fix data races on per-CPU idle/nice baselines
  PM: hibernate: Use flexible array for CRC uncompressed buffers
  powercap: intel_rapl: Fix memory leak in rapl_add_package_cpuslocked()
  PM: hibernate: make LZ4 available for hibernation compression
  PM: sleep: Use complete() in device_pm_sleep_init()
  opp: rust: mark OPP methods as inline
  cpufreq: intel_pstate: Improve warning message on HWP-disabled hybrid CPUs
  cpufreq: elanfreq: Drop support for AMD Elan SC4*
  ...
2026-06-15 11:37:18 +05:30
Linus Torvalds f3c4a338b5 Merge tag 'thermal-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm
Pull thermal control updates from Rafael Wysocki:
 "These add new hardware support (i.MX93 TMU, Amlogic T7, Intel Arrow
  Lake, QCom Nord, Shikra and Hawi), fix issues in a number of places in
  the thermal control core and drivers, clean up code and refactor it in
  preparation for future changes:

   - Rework the initialization and cleanup of thermal class cooling
     devices to separate DT-based cooling device registration and
     cooling device registration without DT (Daniel Lezcano, Ovidiu
     Panait)

   - Update the cooling device DT bindings to support 3-cell cooling
     device representation, where the additional cell holds an ID to
     select a cooling mechanism for devices that offer multiple cooling
     mechanisms, and adjust the cooling device registration code
     accordingly (Gaurav Kohli, Daniel Lezcano)

   - Remove dead code from two functions in the thermal core and
     simplify the unregistration of thermal governors (Rafael Wysocki)

   - Fix critical temperature attribute removal handling in the generic
     thermal zone hwmon support code and rework that code to register a
     separate hwmon class device for each thermal zone (instead of using
     one hwmon class device for all thermal zones of the same type) to
     address thermal zone removal deadlocks (Rafael Wysocki)

   - Use attribute groups for adding temperature attributes to hwmon
     class devices associated with thermal zones (Rafael Wysocki)

   - Pass WQ_UNBOUND when allocating the thermal workqueue (Marco
     Crivellari)

   - Fix potential shift overflow in ptc_mmio_write() and improve error
     handling in proc_thermal_ptc_add() in the int340x thermal control
     driver (Aravind Anilraj)

   - Use sysfs_emit() for cpumask printing in the Intel powerclamp
     thermal driver (Yury Norov)

   - Add Arrow Lake CPU models to the intel_tcc_cooling driver (Srinivas
     Pandruvada)

   - Add QCom Nord, Shikra and Hawi temperature sensor DT bindings
     (Deepti Jaggi, Gaurav Kohli, Dipa Ramesh Mantre)

   - Use devm_add_action_or_reset() for clock disable on the NVidia
     soctherm and switch it to devm cooling device registration version
     (Daniel Lezcano)

   - Add the Amlogic T7 thermal sensor along with thermal calibration
     data read from SMC calls (Ronald Claveau)

   - Fix atomic temperature read in the QCom tsens driver to comply with
     hardware documentation (Priyansh Jain)

   - Add SpacemiT K1 thermal sensor support (Shuwei Wu)

   - Add i.MX93 temperature sensor support and filter out the invalid
     temperature (Jacky Bai)

   - Enable by default the TMU (Thermal Monitoring Unit) on Exynos
     platform (Krzysztof Kozlowski)

   - Rework interrupt initialization in the Tsens driver and add the
     optional wakeup source (Priyansh Jain)

   - Fix typo in a comment in the TSens QCom driver (Jinseok Kim)

   - Fix trailing whitespace and repeated word in the OF code, remove
     quoted string splitting across lines from the iMX7 driver, and
     remove a stray space from the thermal_trip_of_attr() macro
     definition (Mayur Kumar)

   - Update the thermal testing facility code to avoid NULL pointer
     dereferences by rejecting missing command arguments and replace
     sscanf() with kstrtoint() or kstrtoul() in that code (Ovidiu
     Panait, Samuel Moelius)"

* tag 'thermal-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm: (54 commits)
  thermal: sysfs: Replace sscanf() with kstrtoul()
  thermal: testing: Replace sscanf() with kstrtoint()
  thermal: testing: reject missing command arguments
  thermal: intel: intel_tcc_cooling: Add Arrow Lake CPU models
  thermal/drivers/qcom/tsens: Disable wakeup interrupt setup on automotive targets
  thermal/drivers/qcom/tsens: Switch wake IRQ handling to PM callbacks
  thermal/core: Fix missing stub for devm_thermal_cooling_device_register
  dt-bindings: thermal: cooling-devices: Update support for 3 cells cooling device
  thermal/of: Support cooling device ID in cooling-spec
  thermal/of: Pass cdev_id and introduce devm registration helper
  thermal/of: Add cooling device ID support
  thermal/of: Rename the devm_thermal_of_cooling_device_register() function
  thermal/core: Make cooling device OF node conditional on CONFIG_THERMAL_OF
  thermal/of: Move cooling device OF helpers out of thermal core
  hwmon: Use non-OF thermal cooling device registration API
  thermal/core: Add devm_thermal_cooling_device_register()
  thermal/core: Introduce non-OF thermal_cooling_device_register()
  thermal/drivers/samsung: Enable TMU by default
  thermal/driver/qoriq: Workaround unexpected temperature readings from tmu
  thermal/drivers/qoriq: Add i.MX93 tmu support
  ...
2026-06-15 11:35:11 +05:30
Linus Torvalds eed451031f Merge tag 'acpi-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI support updates from Rafael Wysocki:
 "These update the ACPICA code in the kernel to upstream version
  20260408, introduce support for devres-based management of ACPI notify
  handlers and update some core ACPI device drivers on top of that
  (which includes some fixes and cleanups), add _DEP support for PCI/CXL
  roots and Intel CVS devices, fix a couple of assorted issues and clean
  up code:

   - Fix multiple issues related to probe, removal and missing NVDIMM
     device notifications in the ACPI NFIT driver (Rafael Wysocki)

   - Add support for devres-based management of ACPI notify handlers to
     the ACPI core (Rafael Wysocki)

   - Switch multiple core ACPI device drivers (including the ACPI PAD,
     ACPI video bus, ACPI HED, ACPI thermal zone, ACPI AC, ACPI battery,
     and ACPI NFIT drivers) over to using devres-based resource
     management during probe (Rafael Wysocki)

   - Replace mutex_lock/unlock() with guard()/scoped_guard() in the ACPI
     PMIC driver (Maxwell Doose)

   - Fix message kref handling in the dead device path of the ACPI IPMI
     address space handler (Yuho Choi)

   - Use sysfs_emit() in idlecpus_show() in the ACPI processor
     aggregator device (PAD) driver (Yury Norov)

   - Clean up device_id_scheme initialization in the ACPI video bus
     driver (Jean-Ralph Aviles)

   - Clean up lid handling in the ACPI button driver and
     acpi_button_probe(), reorganize installing and removing event
     handlers in that driver and switch it over to using devres-based
     resource management during probe (Rafael Wysocki)

   - Add support for the Legacy Virtual Register (LVR) field in I2C
     serial bus resource descriptors to ACPICA (Akhil R)

   - Fix multiple issues related to bounds checks, input validation,
     use-after-free, and integer overflow checks in the AML interpreter
     in ACPICA (ikaros)

   - Update the copyright year to 2026 in ACPICA files and make minor
     changes related to ACPI 6.6 support (Pawel Chmielewski)

   - Remove spurious precision from format used to dump parse trees in
     ACPICA (David Laight)

   - Add modern standby DSM GUIDs to ACPICA header files (Daniel
     Schaefer)

   - Fix FADT 32/64X length mismatch warning in ACPICA (Abdelkader
     Boudih)

   - Update D3hot/cold device power states definitions in ACPICA header
     files (Aymeric Wibo)

   - Fix NULL pointer dereference in acpi_ns_custom_package() (Weiming
     Shi)

   - Update ACPICA version to 20260408 (Saket Dumbre)

   - Add cpuidle driver check in acpi_processor_register_idle_driver()
     to avoid evaluating _CST unnecessarily (Tony W Wang-oc)

   - Suppress UBSAN warning caused by field misuse during PCC-based
     register access in the ACPI CPPC library (Jeremy Linton)

   - Add support for CPPC v4 to the ACPI CPPC library (Sumit Gupta)

   - Update the ACPI device enumeration code to honor _DEP for ACPI0016
     PCI/CXL host bridges and make the ACPI PCI root driver clear _DEP
     dependencies for PCI roots that have become operational (Chen Pei)"

* tag 'acpi-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
  ACPI: processor: Add cpuidle driver check in acpi_processor_register_idle_driver()
  ACPI: IPMI: Fix message kref handling on dead device
  ACPI: CPPC: Suppress UBSAN warning caused by field misuse
  ACPI: scan: Honor _DEP for Intel CVS devices
  ACPI: NFIT: core: Fix possible deadlock and missing notifications
  ACPI: NFIT: core: Eliminate redundant local variable
  ACPI: NFIT: core: Fix acpi_nfit_init() error cleanup
  ACPI: NFIT: core: Fix possible NULL pointer dereference
  ACPI: bus: Clean up devm_acpi_install_notify_handler()
  ACPI: button: Switch over to devres-based resource management
  ACPI: button: Reorganize installing and removing event handlers
  ACPI: button: Use string literals for generating netlink messages
  ACPI: button: Clean up adding and removing lid procfs interface
  ACPI: button: Merge two switch () statements in acpi_button_probe()
  ACPI: button: Drop redundant variable from acpi_button_probe()
  ACPI: button: Rework device verification during probe
  ACPI: CPPC: Add support for CPPC v4
  ACPI: PAD: Use sysfs_emit() in idlecpus_show()
  ACPI: scan: Honor _DEP for ACPI0016 PCI/CXL host bridge
  ACPI: PCI: Clear _DEP dependencies after PCI root bridge attach
  ...
2026-06-15 11:32:38 +05:30
Linus Torvalds 966240b990 Merge tag 'nolibc-20260614-for-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc
Pull nolibc updates from Thomas Weißschuh:

 - New architectures: OpenRISC and 32-bit parisc

 - New library functionality: alloca(), assert(), creat() and
   ftruncate()

 - Automatic large file support

 - Proper 64-bit system call argument passing on x32 and MIPS N32

 - Cleanups of the testmatrix

 - Various bugfixes and cleanups

* tag 'nolibc-20260614-for-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc: (37 commits)
  selftests/nolibc: test against -Wwrite-strings
  selftests/nolibc: use mutable buffer for execve() argv string
  tools/nolibc: cast default values of program_invocation_name
  tools/nolibc: add ftruncate()
  tools/nolibc: add a helper to split a 64-bit argument into 32-bit halves
  selftests/nolibc: enable CONFIG_TMPFS for sparc32
  tools/nolibc: stackprotector: Avoid stalling program startup if crng is not init yet
  tools/nolibc: getopt: Fix potential out of bounds access
  selftests/nolibc: test open mode handling
  tools/nolibc: always pass mode to open syscall
  tools/nolibc: split open mode handling into a macro
  tools/nolibc: split implicit open flags into a macro
  tools/nolibc: add support for 32-bit parisc
  selftests/nolibc: avoid function pointer comparisons
  tools/nolibc: add support for OpenRISC / or1k
  selftests/nolibc: use vmlinux for MIPS tests
  selftests/nolibc: trim IMAGE mappings
  selftests/nolibc: trim DEFCONFIG mappings
  selftests/nolibc: trim QEMU_ARCH mappings
  selftests/nolibc: use QEMU_ARCH for QEMU_ARCH_USER
  ...
2026-06-15 11:29:31 +05:30