lightnvm: fix ioctl memory leaks
If copy_to_user() fails we returned error but we missed releasing devices. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
8261bd48c6
commit
76e25081b6
@ -680,8 +680,10 @@ static long nvm_ioctl_info(struct file *file, void __user *arg)
|
||||
info->tgtsize = tgt_iter;
|
||||
up_write(&nvm_lock);
|
||||
|
||||
if (copy_to_user(arg, info, sizeof(struct nvm_ioctl_info)))
|
||||
if (copy_to_user(arg, info, sizeof(struct nvm_ioctl_info))) {
|
||||
kfree(info);
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
kfree(info);
|
||||
return 0;
|
||||
@ -724,8 +726,11 @@ static long nvm_ioctl_get_devices(struct file *file, void __user *arg)
|
||||
|
||||
devices->nr_devices = i;
|
||||
|
||||
if (copy_to_user(arg, devices, sizeof(struct nvm_ioctl_get_devices)))
|
||||
if (copy_to_user(arg, devices,
|
||||
sizeof(struct nvm_ioctl_get_devices))) {
|
||||
kfree(devices);
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
kfree(devices);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user