i2c: Legacy i2c drivers shouldn't issue uevents
Prevent legacy drivers from issuing uevents for device creation/removal, so that userspace can't cause modprobing loops for them. This became a problem for some legacy PC drivers. I can't easily see it becoming an issue with I2C legacy drivers, but consistency-in-paranoia seems likely to be a good thing here. For usable i2c-level driver model uevents, just switch to a new-style driver. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
d257905323
commit
de81d2aaeb
|
@ -697,9 +697,10 @@ int i2c_attach_client(struct i2c_client *client)
|
|||
if (client->driver)
|
||||
client->dev.driver = &client->driver->driver;
|
||||
|
||||
if (client->driver && !is_newstyle_driver(client->driver))
|
||||
if (client->driver && !is_newstyle_driver(client->driver)) {
|
||||
client->dev.release = i2c_client_release;
|
||||
else
|
||||
client->dev.uevent_suppress = 1;
|
||||
} else
|
||||
client->dev.release = i2c_client_dev_release;
|
||||
|
||||
snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id),
|
||||
|
|
Loading…
Reference in New Issue