]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ext4: fix mballoc breakage with 64k block size
authorChandan Rajendra <chandan@linux.vnet.ibm.com>
Tue, 15 Nov 2016 02:04:37 +0000 (21:04 -0500)
committerWilly Tarreau <w@1wt.eu>
Wed, 7 Jun 2017 22:46:49 +0000 (00:46 +0200)
commit 69e43e8cc971a79dd1ee5d4343d8e63f82725123 upstream.

'border' variable is set to a value of 2 times the block size of the
underlying filesystem. With 64k block size, the resulting value won't
fit into a 16-bit variable. Hence this commit changes the data type of
'border' to 'unsigned int'.

Fixes: c9de560ded61f
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Willy Tarreau <w@1wt.eu>
fs/ext4/mballoc.c

index cb9eec025ba8d54682cc6212a5f702c1b6967dd6..a7a1b676b934c9fb653742679d273f39b6bcd738 100644 (file)
@@ -668,7 +668,7 @@ static void ext4_mb_mark_free_simple(struct super_block *sb,
        ext4_grpblk_t min;
        ext4_grpblk_t max;
        ext4_grpblk_t chunk;
-       unsigned short border;
+       unsigned int border;
 
        BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));