Commit de65b012 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

block: reject attempts to allocate more than DISK_MAX_PARTS partitions

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 10433d04
...@@ -1357,6 +1357,13 @@ struct gendisk *alloc_disk_node(int minors, int node_id) ...@@ -1357,6 +1357,13 @@ struct gendisk *alloc_disk_node(int minors, int node_id)
struct gendisk *disk; struct gendisk *disk;
struct disk_part_tbl *ptbl; struct disk_part_tbl *ptbl;
if (minors > DISK_MAX_PARTS) {
printk(KERN_ERR
"block: can't allocated more than %d partitions\n",
DISK_MAX_PARTS);
minors = DISK_MAX_PARTS;
}
disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id); disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id);
if (disk) { if (disk) {
if (!init_part_stats(&disk->part0)) { if (!init_part_stats(&disk->part0)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment