lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20171227141038.31646-1-brgl@bgdev.pl> Date: Wed, 27 Dec 2017 15:10:38 +0100 From: Bartosz Golaszewski <brgl@...ev.pl> To: linux-i2c@...r.kernel.org Cc: linux-kernel@...r.kernel.org, Bartosz Golaszewski <brgl@...ev.pl> Subject: [PATCH] eeprom: at24: check the return value of nvmem_unregister() This function can fail with -EBUSY, but we don't check its return value in at24_remove(). Bail-out of remove() if nvmem_unregister() doesn't succeed. Signed-off-by: Bartosz Golaszewski <brgl@...ev.pl> --- drivers/misc/eeprom/at24.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index e79833d62284..fb21e1c45115 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -684,11 +684,13 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id) static int at24_remove(struct i2c_client *client) { struct at24_data *at24; - int i; + int i, ret; at24 = i2c_get_clientdata(client); - nvmem_unregister(at24->nvmem); + ret = nvmem_unregister(at24->nvmem); + if (ret) + return ret; for (i = 1; i < at24->num_addresses; i++) i2c_unregister_device(at24->client[i].client); -- 2.15.1
Powered by blists - more mailing lists