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

Commit 5136ed4f authored by viresh kumar's avatar viresh kumar Committed by Wolfram Sang
Browse files

i2c-dev: don't get i2c adapter via i2c_dev



There is no code protecting i2c_dev to be freed after it is returned
from i2c_dev_get_by_minor() and using it to access the value which we
already have (minor) isn't safe really.

Avoid using it and get the adapter directly from 'minor'.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
Tested-by: default avatarJean Delvare <jdelvare@suse.de>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent ec2790e9
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -485,13 +485,8 @@ static int i2cdev_open(struct inode *inode, struct file *file)
	unsigned int minor = iminor(inode);
	struct i2c_client *client;
	struct i2c_adapter *adap;
	struct i2c_dev *i2c_dev;

	i2c_dev = i2c_dev_get_by_minor(minor);
	if (!i2c_dev)
		return -ENODEV;

	adap = i2c_get_adapter(i2c_dev->adap->nr);
	adap = i2c_get_adapter(minor);
	if (!adap)
		return -ENODEV;