aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSasha Levin <sasha.levin@oracle.com>2013-11-19 14:25:36 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-08 10:29:27 -0500
commitca77581ebaa42e9279a231fbcb98ee031c37fe3a (patch)
treee0f1abd323bbaff28e1d1c0079c25826476738e6
parentf99510dc9a9b63ba8131e1e5eb70884db122a1bc (diff)
video: kyro: fix incorrect sizes when copying to userspace
commit 2ab68ec927310dc488f3403bb48f9e4ad00a9491 upstream. kyro would copy u32s and specify sizeof(unsigned long) as the size to copy. This would copy more data than intended and cause memory corruption and might leak kernel memory. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/video/kyro/fbdev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/kyro/fbdev.c b/drivers/video/kyro/fbdev.c
index 6157f74ac600..ec7fc87fa5ab 100644
--- a/drivers/video/kyro/fbdev.c
+++ b/drivers/video/kyro/fbdev.c
@@ -625,15 +625,15 @@ static int kyrofb_ioctl(struct fb_info *info,
625 } 625 }
626 break; 626 break;
627 case KYRO_IOCTL_UVSTRIDE: 627 case KYRO_IOCTL_UVSTRIDE:
628 if (copy_to_user(argp, &deviceInfo.ulOverlayUVStride, sizeof(unsigned long))) 628 if (copy_to_user(argp, &deviceInfo.ulOverlayUVStride, sizeof(deviceInfo.ulOverlayUVStride)))
629 return -EFAULT; 629 return -EFAULT;
630 break; 630 break;
631 case KYRO_IOCTL_STRIDE: 631 case KYRO_IOCTL_STRIDE:
632 if (copy_to_user(argp, &deviceInfo.ulOverlayStride, sizeof(unsigned long))) 632 if (copy_to_user(argp, &deviceInfo.ulOverlayStride, sizeof(deviceInfo.ulOverlayStride)))
633 return -EFAULT; 633 return -EFAULT;
634 break; 634 break;
635 case KYRO_IOCTL_OVERLAY_OFFSET: 635 case KYRO_IOCTL_OVERLAY_OFFSET:
636 if (copy_to_user(argp, &deviceInfo.ulOverlayOffset, sizeof(unsigned long))) 636 if (copy_to_user(argp, &deviceInfo.ulOverlayOffset, sizeof(deviceInfo.ulOverlayOffset)))
637 return -EFAULT; 637 return -EFAULT;
638 break; 638 break;
639 } 639 }