Messages in this thread | | | Subject | Re: [PATCH] chardev: fix error handling in cdev_device_add() | From | Yang Yingliang <> | Date | Thu, 23 Dec 2021 09:41:03 +0800 |
| |
ping...
On 2021/10/12 21:09, Yang Yingliang wrote: > 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;
| |