We should just return directly if memdup_user() fails. The current code tries to free "param" which is an error pointer so it will Oops. Fixes: 2baddf262e98 ("staging: lustre: use memdup_user to allocate memory and copy from user") Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/staging/lustre/lnet/selftest/conctl.c b/drivers/staging/lustre/lnet/selftest/conctl.c index 3c919a536e91..51497cf9a832 100644 --- a/drivers/staging/lustre/lnet/selftest/conctl.c +++ b/drivers/staging/lustre/lnet/selftest/conctl.c @@ -650,10 +650,8 @@ static int lst_test_add_ioctl(struct lstio_test_args *args) if (args->lstio_tes_param) { param = memdup_user(args->lstio_tes_param, args->lstio_tes_param_len); - if (IS_ERR(param)) { - rc = PTR_ERR(param); - goto out; - } + if (IS_ERR(param)) + return PTR_ERR(param); } rc = -EFAULT; _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel