diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-30 14:38:34 -1000 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-30 14:38:34 -1000 |
| commit | 2a500a04d6f969318c05f46aedb6e73fc1963a00 (patch) | |
| tree | 4585da0c22128adf3e1fbb9e9a963b52ff17ed7c /drivers | |
| parent | ac1bf565f140154ee27db56c80f29c9eeb9a77c3 (diff) | |
| parent | a287f97d4256b5f5527f5b5a54f8ada55e1482c7 (diff) | |
Merge tag 'driver-core-7.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-coreHEADmaster
Pull more driver core fixes from Danilo Krummrich:
- Revert TAINT_FORCED_BIND, introduced to flag manual sysfs bind/unbind
operations associated with misleading fuzzing reports. It also taints
established workflows, including VFIO device passthrough; a more
targeted approach will be revisited after 7.4.
- Rate limit synthetic uevent failure messages to prevent log flooding
from repeated invalid writes to sysfs uevent files
* tag 'driver-core-7.4-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core:
Revert "driver core: add TAINT_FORCED_BIND for when userspace manually messes with devices and drivers"
driver core: Limit the messages on a refused uevent
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/base/bus.c | 3 | ||||
| -rw-r--r-- | drivers/base/core.c | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index f8759d5c9056..396097fdb316 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -19,7 +19,6 @@ #include <linux/string.h> #include <linux/mutex.h> #include <linux/sysfs.h> -#include <linux/panic.h> #include "base.h" #include "power/power.h" @@ -242,7 +241,6 @@ static ssize_t unbind_store(struct device_driver *drv, const char *buf, dev = bus_find_device_by_name(bus, NULL, buf); if (dev && dev->driver == drv) { - add_taint_module(drv->owner, TAINT_FORCED_BIND, LOCKDEP_STILL_OK); device_driver_detach(dev); err = count; } @@ -266,7 +264,6 @@ static ssize_t bind_store(struct device_driver *drv, const char *buf, dev = bus_find_device_by_name(bus, NULL, buf); if (dev && driver_match_device(drv, dev)) { - add_taint_module(drv->owner, TAINT_FORCED_BIND, LOCKDEP_STILL_OK); err = device_driver_attach(drv, dev); if (!err) { /* success */ diff --git a/drivers/base/core.c b/drivers/base/core.c index 5daa88fa724a..cbe05197d4a0 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2847,7 +2847,9 @@ static ssize_t uevent_store(struct device *dev, const struct device_attribute *a rc = kobject_synth_uevent(&dev->kobj, buf, count); if (rc) { - dev_err(dev, "uevent: failed to send synthetic uevent: %d\n", rc); + dev_err_ratelimited(dev, + "uevent: failed to send synthetic uevent: %d\n", + rc); return rc; } |
