From: Andre Noll Date: Fri, 11 Jul 2008 12:02:21 +0000 (+1000) Subject: md: get_disk_info(): Don't convert between signed and unsigned and back. X-Git-Tag: v2.6.27-rc1~957^2~13 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=26ef379f53993b1da3c19b63257cd47e1d9cd672;p=linux-2.6-omap-h63xx.git md: get_disk_info(): Don't convert between signed and unsigned and back. The current code copies a signed int from user space, converts it to unsigned and passes the unsigned value to find_rdev_nr() which expects a signed value. Simply pass the signed value from user space directly. Signed-off-by: Andre Noll Signed-off-by: Neil Brown --- diff --git a/drivers/md/md.c b/drivers/md/md.c index bd1dc72ae52..328e247e2bf 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4186,15 +4186,12 @@ out: static int get_disk_info(mddev_t * mddev, void __user * arg) { mdu_disk_info_t info; - unsigned int nr; mdk_rdev_t *rdev; if (copy_from_user(&info, arg, sizeof(info))) return -EFAULT; - nr = info.number; - - rdev = find_rdev_nr(mddev, nr); + rdev = find_rdev_nr(mddev, info.number); if (rdev) { info.major = MAJOR(rdev->bdev->bd_dev); info.minor = MINOR(rdev->bdev->bd_dev);