Messages in this thread Patch in this message | | | From | Yang Yingliang <> | Subject | [PATCH] chardev: fix error handling in cdev_device_add() | Date | Tue, 12 Oct 2021 21:09:15 +0800 |
| |
If dev->devt is not set, cdev_device_add() will not add the cdev, when device_add failed, cdev_del() is not needed, so delete cdev only when dev->devt is set.
Reported-by: Hulk Robot <hulkci@huawei.com> Fixes: 233ed09d7fda ("chardev: add helper function to register...") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- fs/char_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/char_dev.c b/fs/char_dev.c index ba0ded7842a7..3f667292608c 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -547,7 +547,7 @@ int cdev_device_add(struct cdev *cdev, struct device *dev) } rc = device_add(dev); - if (rc) + if (rc && dev->devt) cdev_del(cdev); return rc; -- 2.25.1
| |