diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c index 6c8114f77cfa54dbf9e13a0e09aca98f05de8021..12a39f67d86f26c77092ccd03ece636ac43d99f7 100644 --- a/drivers/uio/uio.c +++ b/drivers/uio/uio.c @@ -938,8 +938,10 @@ int __uio_register_device(struct module *owner, atomic_set(&idev->event, 0); ret = uio_get_minor(idev); - if (ret) + if (ret) { + kfree(idev); return ret; + } idev->dev.devt = MKDEV(uio_major, idev->minor); idev->dev.class = &uio_class;