From: Christoph Hellwig Date: Wed, 23 Aug 2017 17:10:29 +0000 (+0200) Subject: block: reject attempts to allocate more than DISK_MAX_PARTS partitions X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=de65b0123216a8e1dbe3ca1eb20a45572b9e71d9;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git block: reject attempts to allocate more than DISK_MAX_PARTS partitions Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe --- diff --git a/block/genhd.c b/block/genhd.c index 2367087cdb7c..3380a1e73ea0 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -1357,6 +1357,13 @@ struct gendisk *alloc_disk_node(int minors, int node_id) struct gendisk *disk; 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); if (disk) { if (!init_part_stats(&disk->part0)) {