Message ID | 20200920083745.GA1186@amd (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | watchdog: fix memory leak in error path | expand |
Pavel Machek <pavel@ucw.cz> a écrit : > Fix memory leak in error path. > > Signed-off-by: Pavel Machek (CIP) <pavel@denx.de> > > diff --git a/drivers/watchdog/watchdog_dev.c > b/drivers/watchdog/watchdog_dev.c > index 6798addabd5a..785270ee337c 100644 > --- a/drivers/watchdog/watchdog_dev.c > +++ b/drivers/watchdog/watchdog_dev.c > @@ -994,8 +994,10 @@ static int watchdog_cdev_register(struct > watchdog_device *wdd) > wd_data->wdd = wdd; > wdd->wd_data = wd_data; > > - if (IS_ERR_OR_NULL(watchdog_kworker)) Maybe it would be better to move this check before the kzalloc as the wd_data is not needed for doing that check. Christophe > + if (IS_ERR_OR_NULL(watchdog_kworker)) { > + kfree(wd_data); > return -ENODEV; > + } > > device_initialize(&wd_data->dev); > wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id); > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c index 6798addabd5a..785270ee337c 100644 --- a/drivers/watchdog/watchdog_dev.c +++ b/drivers/watchdog/watchdog_dev.c @@ -994,8 +994,10 @@ static int watchdog_cdev_register(struct watchdog_device *wdd) wd_data->wdd = wdd; wdd->wd_data = wd_data; - if (IS_ERR_OR_NULL(watchdog_kworker)) + if (IS_ERR_OR_NULL(watchdog_kworker)) { + kfree(wd_data); return -ENODEV; + } device_initialize(&wd_data->dev); wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id);
Fix memory leak in error path. Signed-off-by: Pavel Machek (CIP) <pavel@denx.de>