From: Devendra Naga Date: Sat, 27 Oct 2012 17:23:47 +0000 (-0400) Subject: staging: sep: return -EFAULT on copy_from_user failure X-Git-Tag: firefly_0821_release~3680^2~1519^2~902 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b58d6021d4dbc215dc975510bb2509e66e6061be;p=firefly-linux-kernel-4.4.55.git staging: sep: return -EFAULT on copy_from_user failure copy_from_user() returns the number of bytes remaining to be copied, and it fails if user pointer is invalid, so return -EFAULT so that the user gets a FAULT. Signed-off-by: Devendra Naga Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/sep/sep_main.c b/drivers/staging/sep/sep_main.c index a414e52dd082..2c8df0e6b6d0 100644 --- a/drivers/staging/sep/sep_main.c +++ b/drivers/staging/sep/sep_main.c @@ -3431,7 +3431,7 @@ static ssize_t sep_create_dcb_dmatables_context(struct sep_device *sep, if (copy_from_user(dcb_args, user_dcb_args, num_dcbs * sizeof(struct build_dcb_struct))) { - error = -EINVAL; + error = -EFAULT; goto end_function; } @@ -3619,7 +3619,7 @@ static ssize_t sep_create_msgarea_context(struct sep_device *sep, /* Copy input data to write() to allocated message buffer */ if (copy_from_user(*msg_region, msg_user, msg_len)) { - error = -EINVAL; + error = -EFAULT; goto end_function; }