brd: Switch rd_size to unsigned long
authorJan Kara <jack@suse.cz>
Tue, 25 Oct 2016 11:53:27 +0000 (13:53 +0200)
committerJens Axboe <axboe@fb.com>
Tue, 25 Oct 2016 17:55:23 +0000 (11:55 -0600)
Currently rd_size was int which lead to overflow and bogus device size
once the requested ramdisk size was 1 TB or more. Although these days
ramdisks with 1 TB size are mostly a mistake, the days when they are
useful are not far.

Reported-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/brd.c

index 0c76d4016eebebf5525fc4a2aa5351319674dca5..9d53358571916933ac5c7529a81a68ed86da26eb 100644 (file)
@@ -443,8 +443,8 @@ static int rd_nr = CONFIG_BLK_DEV_RAM_COUNT;
 module_param(rd_nr, int, S_IRUGO);
 MODULE_PARM_DESC(rd_nr, "Maximum number of brd devices");
 
-int rd_size = CONFIG_BLK_DEV_RAM_SIZE;
-module_param(rd_size, int, S_IRUGO);
+unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
+module_param(rd_size, ulong, S_IRUGO);
 MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
 
 static int max_part = 1;