summaryrefslogtreecommitdiffstats
path: root/drivers/video/fbmem.c
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2013-06-18 10:05:29 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-06-26 16:03:36 +0300
commit2c30aba2b2894ceb2108f1cb2602015b121e9a81 (patch)
tree0972bcf333d5c4273167fe2b8d1f31fdb74adebb /drivers/video/fbmem.c
parent72e5512ade915862035679ca51c4645c7fb5f1ca (diff)
downloadlinux-2c30aba2b2894ceb2108f1cb2602015b121e9a81.tar.bz2
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 <dan.carpenter@oracle.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/fbmem.c')
-rw-r--r--drivers/video/fbmem.c4
1 files changed, 3 insertions, 1 deletions
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,