[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <DFWVL46MM928.V9LOBRWI8BLZ@kernel.org>
Date: Sat, 24 Jan 2026 15:05:54 +0100
From: "Danilo Krummrich" <dakr@...nel.org>
To: "Linus Torvalds" <torvalds@...ux-foundation.org>
Cc: "Greg Kroah-Hartman" <gregkh@...uxfoundation.org>, "Rafael J. Wysocki"
<rafael@...nel.org>, "Saravana Kannan" <saravanak@...nel.org>, "Andrew
Morton" <akpm@...ux-foundation.org>, <driver-core@...ts.linux.dev>,
<rust-for-linux@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] Driver core fixes for 6.19-rc7
Hi 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/20260113162843.12712-1-hanguidong02@gmail.com
[2] https://patch.msgid.link/20260121141215.29658-1-dakr@kernel.org
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(-)
Powered by blists - more mailing lists