diff --git a/[refs] b/[refs] index 029e7517ee38..78ba619ddcf7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0ddf72be4edbd7640b57c13161f71416df16ec11 +refs/heads/master: 78f4bb367fd147a0e7e3998ba6e47109999d8814 diff --git a/trunk/drivers/block/loop.c b/trunk/drivers/block/loop.c index a076a14ca72d..cbf7052d1dd5 100644 --- a/trunk/drivers/block/loop.c +++ b/trunk/drivers/block/loop.c @@ -1691,6 +1691,9 @@ static int __init loop_init(void) if (max_part > 0) part_shift = fls(max_part); + if ((1UL << part_shift) > DISK_MAX_PARTS) + return -EINVAL; + if (max_loop > 1UL << (MINORBITS - part_shift)) return -EINVAL;