driver core: return an error when dev_set_name() hasn't happened
The commitd21fdd07ce
("driver core: Return proper error code when dev_set_name() fails") rewrote the logic of handling the dev_set_name() error codes, but missed the point that initially set error value to -EINVAL might be rewritten and hence the error path can't be triggered at some circumstances. To fix this, make sure that error variable is set to -EINVAL when other conditionals are false. Reported-by: syzbot+bdfb03b1ec8b342c12cb@syzkaller.appspotmail.com Fixes:d21fdd07ce
("driver core: Return proper error code when dev_set_name() fails") Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20230828145824.3895288-1-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0bb80ecc33
commit
fd6f7ad2fd
@ -3537,6 +3537,8 @@ int device_add(struct device *dev)
|
||||
/* subsystems can specify simple device enumeration */
|
||||
else if (dev->bus && dev->bus->dev_name)
|
||||
error = dev_set_name(dev, "%s%u", dev->bus->dev_name, dev->id);
|
||||
else
|
||||
error = -EINVAL;
|
||||
if (error)
|
||||
goto name_error;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user