summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-09-17 12:47:13 +0200
committerJens Axboe <axboe@kernel.dk>2012-09-18 11:56:29 +0200
commit2bd6efad25d7c1950008e2ab4e2d6796001919fc (patch)
tree408c87e0808e9b4ad4c8f9d95063c89d50350545 /block
parentmtip32xx: fix user_buffer check in exec_drive_command (diff)
downloadlinux-2bd6efad25d7c1950008e2ab4e2d6796001919fc.tar.xz
linux-2bd6efad25d7c1950008e2ab4e2d6796001919fc.zip
blk: add an upper sanity check on partition adding
65536 should be ludicrous anyway but without it we overflow the memory computation doing the allocation and badness occurs. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r--block/ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/ioctl.c b/block/ioctl.c
index 4476e0e85d16..4a85096f5410 100644
--- a/block/ioctl.c
+++ b/block/ioctl.c
@@ -41,7 +41,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user
sizeof(long long) > sizeof(long)) {
long pstart = start, plength = length;
if (pstart != start || plength != length
- || pstart < 0 || plength < 0)
+ || pstart < 0 || plength < 0 || partno > 65535)
return -EINVAL;
}