Messages in this thread Patch in this message | | | From | Jia-Ju Bai <> | Subject | [PATCH v2] base: dd: fix error return code of driver_sysfs_add() | Date | Tue, 23 Mar 2021 19:34:05 -0700 |
| |
When device_create_file() fails and returns a non-zero value, no error return code of driver_sysfs_add() is assigned. To fix this bug, ret is assigned with the return value of device_create_file(), and then ret is checked.
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> --- v2: * Fix a redundant whitespace. Thank Greg for good advice.
--- drivers/base/dd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 9179825ff646..704ae8a90a00 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -413,8 +413,11 @@ static int driver_sysfs_add(struct device *dev) if (ret) goto rm_dev; - if (!IS_ENABLED(CONFIG_DEV_COREDUMP) || !dev->driver->coredump || - !device_create_file(dev, &dev_attr_coredump)) + if (!IS_ENABLED(CONFIG_DEV_COREDUMP) || !dev->driver->coredump) + return 0; + + ret = device_create_file(dev, &dev_attr_coredump); + if (!ret) return 0; sysfs_remove_link(&dev->kobj, "driver"); -- 2.17.1
| |