Commit 30afec67 authored by Antonino Daplas's avatar Antonino Daplas Committed by Linus Torvalds

[PATCH] kyrofb: copy_*_user return value checks added to kyro fb

Here's a patch that makes sure the return value of copy_from/to_user gets
checked and handled in drivers/video/kyro/fbdev.c It also updates a comment at
the top of the file that lists the files name and location.
Signed-off-by: default avatarJesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 58f533f9
/*
* linux/drivers/video/kyro/kyrofb.c
* linux/drivers/video/kyro/fbdev.c
*
* Copyright (C) 2002 STMicroelectronics
* Copyright (C) 2003, 2004 Paul Mundt
......@@ -594,7 +594,8 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
switch (cmd) {
case KYRO_IOCTL_OVERLAY_CREATE:
copy_from_user(&ol_create, argp, sizeof(overlay_create));
if (copy_from_user(&ol_create, argp, sizeof(overlay_create)))
return -EFAULT;
if (kyro_dev_overlay_create(ol_create.ulWidth,
ol_create.ulHeight, 0) < 0) {
......@@ -604,8 +605,9 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
}
break;
case KYRO_IOCTL_OVERLAY_VIEWPORT_SET:
copy_from_user(&ol_viewport_set, argp,
sizeof(overlay_viewport_set));
if (copy_from_user(&ol_viewport_set, argp,
sizeof(overlay_viewport_set)))
return -EFAULT;
if (kyro_dev_overlay_viewport_set(ol_viewport_set.xOrgin,
ol_viewport_set.yOrgin,
......@@ -625,13 +627,16 @@ static int kyrofb_ioctl(struct inode *inode, struct file *file,
}
break;
case KYRO_IOCTL_UVSTRIDE:
copy_to_user(argp, &deviceInfo.ulOverlayUVStride, sizeof(unsigned long));
if (copy_to_user(argp, &deviceInfo.ulOverlayUVStride, sizeof(unsigned long)))
return -EFAULT;
break;
case KYRO_IOCTL_STRIDE:
copy_to_user(argp, &deviceInfo.ulOverlayStride, sizeof(unsigned long));
if (copy_to_user(argp, &deviceInfo.ulOverlayStride, sizeof(unsigned long)))
return -EFAULT;
break;
case KYRO_IOCTL_OVERLAY_OFFSET:
copy_to_user(argp, &deviceInfo.ulOverlayOffset, sizeof(unsigned long));
if (copy_to_user(argp, &deviceInfo.ulOverlayOffset, sizeof(unsigned long)))
return -EFAULT;
break;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment