diff --git a/[refs] b/[refs] index e2d82c8bc387..61587f0c999d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a2cba2913c7623789296e39d787b01031f9c7969 +refs/heads/master: 315980c8688c4b06713c1a5fe9d64cdf8ab57a72 diff --git a/trunk/drivers/block/brd.c b/trunk/drivers/block/brd.c index bae9a3d4e15b..e9a19d99f928 100644 --- a/trunk/drivers/block/brd.c +++ b/trunk/drivers/block/brd.c @@ -581,6 +581,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;