Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de81d2aa authored by David Brownell's avatar David Brownell Committed by Jean Delvare
Browse files

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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent d2579053
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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),