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)