From 7684720645e9e6445010fa055c720e7f6cabc27d Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Sat, 28 May 2011 14:44:46 +0200 Subject: [PATCH] --- yaml --- r: 253019 b: refs/heads/master c: 3b2710824e00d238554c13b5add347e6c701ab1a h: refs/heads/master i: 253017: e9cd99e6e557c42a44c84557375450c1cea6790a 253015: d4479a0a78bc0b3fafc1cc6eec2d03c7c70746e4 v: v3 --- [refs] | 2 +- trunk/drivers/block/nbd.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f439a00cd785..529a63ec9ae2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 35fbf5bcf497d6ddbe7b6478141e7526d1474ff5 +refs/heads/master: 3b2710824e00d238554c13b5add347e6c701ab1a diff --git a/trunk/drivers/block/nbd.c b/trunk/drivers/block/nbd.c index 1df3bfe5225b..fdee7567fd15 100644 --- a/trunk/drivers/block/nbd.c +++ b/trunk/drivers/block/nbd.c @@ -757,6 +757,12 @@ static int __init nbd_init(void) if (max_part > 0) part_shift = fls(max_part); + if ((1UL << part_shift) > DISK_MAX_PARTS) + return -EINVAL; + + if (nbds_max > 1UL << (MINORBITS - part_shift)) + return -EINVAL; + for (i = 0; i < nbds_max; i++) { struct gendisk *disk = alloc_disk(1 << part_shift); if (!disk)