brd: limit 'max_part' module param to DISK_MAX_PARTS
[linux-flexiantxendom0-natty.git] / drivers / block / brd.c
index b7f51e4..7c9939f 100644 (file)
@@ -585,6 +585,9 @@ static int __init brd_init(void)
        if (max_part > 0)
                part_shift = fls(max_part);
 
+       if ((1UL << part_shift) > DISK_MAX_PARTS)
+               return -EINVAL;
+
        if (rd_nr > 1UL << (MINORBITS - part_shift))
                return -EINVAL;