mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-27 14:52:34 -04:00
Merge tag 'driver-core-6.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core
Pull driver core fixes from Danilo Krummrich: - 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 * tag 'driver-core-6.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: rust: driver: drop device private data post unbind rust: driver: add DriverData type to the DriverLayout trait rust: driver: add DEVICE_DRIVER_OFFSET to the DriverLayout trait rust: driver: introduce a DriverLayout trait rust: auxiliary: add Driver::unbind() callback rust: i2c: do not drop device private data on shutdown() rust: irq: always inline functions using build_assert with arguments rust: io: always inline functions using build_assert with arguments
This commit is contained in:
@@ -85,6 +85,8 @@ enum probe_type {
|
||||
* uevent.
|
||||
* @p: Driver core's private data, no one other than the driver
|
||||
* core can touch this.
|
||||
* @p_cb: Callbacks private to the driver core; no one other than the
|
||||
* driver core is allowed to touch this.
|
||||
*
|
||||
* The device driver-model tracks all of the drivers known to the system.
|
||||
* The main reason for this tracking is to enable the driver core to match
|
||||
@@ -119,6 +121,13 @@ struct device_driver {
|
||||
void (*coredump) (struct device *dev);
|
||||
|
||||
struct driver_private *p;
|
||||
struct {
|
||||
/*
|
||||
* Called after remove() and after all devres entries have been
|
||||
* processed. This is a Rust only callback.
|
||||
*/
|
||||
void (*post_unbind_rust)(struct device *dev);
|
||||
} p_cb;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user