Browse Source

ext4: fix mballoc breakage with 64k block size

'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>
Cc: stable@vger.kernel.org
Chandan Rajendra 8 years ago
parent
commit
69e43e8cc9
1 changed files with 1 additions and 1 deletions
  1. 1 1
      fs/ext4/mballoc.c

+ 1 - 1
fs/ext4/mballoc.c

@@ -669,7 +669,7 @@ static void ext4_mb_mark_free_simple(struct super_block *sb,
 	ext4_grpblk_t min;
 	ext4_grpblk_t min;
 	ext4_grpblk_t max;
 	ext4_grpblk_t max;
 	ext4_grpblk_t chunk;
 	ext4_grpblk_t chunk;
-	unsigned short border;
+	unsigned int border;
 
 
 	BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));
 	BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));