On Wed, 28 Feb 2018 15:24:16 +0530 Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote: > Free memory, if afiucv_iucv_init is not successful and > removing a IUCV driver. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> > --- > net/iucv/af_iucv.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c > index 1e8cc7b..eb0995a 100644 > --- a/net/iucv/af_iucv.c > +++ b/net/iucv/af_iucv.c > @@ -2433,9 +2433,11 @@ static int afiucv_iucv_init(void) > af_iucv_dev->driver = &af_iucv_driver; > err = device_register(af_iucv_dev); > if (err) > - goto out_driver; > + goto out_iucv_dev; > return 0; > > +out_iucv_dev: > + kfree(af_iucv_dev); > out_driver: > driver_unregister(&af_iucv_driver); > out_iucv: > @@ -2496,6 +2498,7 @@ static void __exit afiucv_exit(void) > { > if (pr_iucv) { > device_unregister(af_iucv_dev); > + kfree(af_iucv_dev); > driver_unregister(&af_iucv_driver); > pr_iucv->iucv_unregister(&af_iucv_handler, 0); > symbol_put(iucv_if); No, you must not use kfree() after you called device_register() (even if it was not successful!) -- see the comment for device_register(). -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html