From: Dan Carpenter Date: Tue, 18 Jun 2013 07:05:29 +0000 (+0300) Subject: fbmem: return -EFAULT on copy_to_user() failure X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2c30aba2b2894ceb2108f1cb2602015b121e9a81;p=linux-beck.git fbmem: return -EFAULT on copy_to_user() failure copy_to_user() returns the number of bytes remaining to be copied. put_user() returns -EFAULT on error. This function ORs a bunch of stuff together and returns jumbled non-zero values on error. It should return -EFAULT. Signed-off-by: Dan Carpenter Signed-off-by: Tomi Valkeinen --- diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 098bfc64cfb9..9217be3d8f3e 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -1305,7 +1305,9 @@ static int do_fscreeninfo_to_user(struct fb_fix_screeninfo *fix, err |= copy_to_user(fix32->reserved, fix->reserved, sizeof(fix->reserved)); - return err; + if (err) + return -EFAULT; + return 0; } static int fb_get_fscreeninfo(struct fb_info *info, unsigned int cmd,