Driver core fixes for 6.19-rc7
Subsystems (2)
Danilo Krummrich
maintainerHi Linus,
Please pull these driver-core fixes.
All commits have been in linux-next for a couple rounds; no conflicts expected.
I held back two fixes [1, 2] originally intended for -rc7. Patch [1] uncovered potential deadlocks that require a few driver fixes; [2] is one such fix.
Given how late we are in the cycle, I want to give these more time in linux-next to ensure we have identified all affected drivers. Expect to see these in the upcoming -rc1 pull request.
- Danilo
[1] https://patch.msgid.link/[email protected]
[2] https://patch.msgid.link/[email protected]
The following changes since commit 0f61b1860cc3f52aef9036d7235ed1f017632193:
Linux 6.19-rc5 (2026-01-11 17:03:14 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git tags/driver-core-6.19-rc7
for you to fetch changes up to a995fe1a3aa78b7d06cc1cc7b6b8436c5e93b07f:
rust: driver: drop device private data post unbind (2026-01-16 01:17:29 +0100)
----------------------------------------------------------------
Driver core fixes for 6.19-rc7
- Always inline I/O and IRQ methods using build_assert!() to avoid false positive build errors.
- Do not free the driver's device private data in I2C shutdown() avoiding race conditions that can lead to UAF bugs.
- Drop the driver's device private data after the driver has been fully unbound from its device to avoid UAF bugs from &Device<Bound> scopes, such as IRQ callbacks.
----------------------------------------------------------------
Alexandre Courbot (2):
rust: io: always inline functions using build_assert with arguments
rust: irq: always inline functions using build_assert with arguments
Danilo Krummrich (6):
rust: i2c: do not drop device private data on shutdown()
rust: auxiliary: add Driver::unbind() callback
rust: driver: introduce a DriverLayout trait
rust: driver: add DEVICE_DRIVER_OFFSET to the DriverLayout trait
rust: driver: add DriverData type to the DriverLayout trait
rust: driver: drop device private data post unbind
drivers/base/dd.c | 2 ++ include/linux/device/driver.h | 9 +++++++++ rust/kernel/auxiliary.rs | 41 +++++++++++++++++++++++++++++++++-------- rust/kernel/device.rs | 20 +++++++++++--------- rust/kernel/driver.rs | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- rust/kernel/i2c.rs | 31 ++++++++++++++++++++----------- rust/kernel/io.rs | 9 ++++++--- rust/kernel/io/resource.rs | 2 ++ rust/kernel/irq/flags.rs | 2 ++ rust/kernel/pci.rs | 27 ++++++++++++++++++--------- rust/kernel/platform.rs | 27 ++++++++++++++++++--------- rust/kernel/usb.rs | 27 ++++++++++++++++++--------- 12 files changed, 209 insertions(+), 74 deletions(-)
The pull request you sent on Sat, 24 Jan 2026 15:05:54 +0100:
The pull request you sent on Sat, 24 Jan 2026 15:05:54 +0100:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.gittags/driver-core-6.19-rc7
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/5dbeeb268b63ea2d9795b3e5e8ffb48c236f5bb0
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html