[PATCH] ext4: ext4_mb_mark_free_simple: Fix integer value truncation

Subsystems: ext4 file system, filesystems (vfs and infrastructure), the rest

STALE3551d

3 messages, 3 authors, 2016-11-15 · open the first message on its own page

[PATCH] ext4: ext4_mb_mark_free_simple: Fix integer value truncation

From: Chandan Rajendra <hidden>
Date: 2016-11-03 09:15:11

'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'.

Signed-off-by: Chandan Rajendra <redacted>
---
 fs/ext4/mballoc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index f418f55..a937ac7 100644
--- a/fs/ext4/mballoc.c
+++ b/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 max;
 	ext4_grpblk_t chunk;
-	unsigned short border;
+	unsigned int border;
 
 	BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));
 
-- 
2.5.5

Re: [PATCH] ext4: ext4_mb_mark_free_simple: Fix integer value truncation

From: Andreas Dilger <hidden>
Date: 2016-11-03 19:32:40

On Nov 3, 2016, at 3:14 AM, Chandan Rajendra [off-list ref] wrote:
'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'.

Signed-off-by: Chandan Rajendra <redacted>
Reviewed-by: Andreas Dilger <redacted>
quoted hunk
---
fs/ext4/mballoc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index f418f55..a937ac7 100644
--- a/fs/ext4/mballoc.c
+++ b/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 max;
	ext4_grpblk_t chunk;
-	unsigned short border;
+	unsigned int border;

	BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));

--
2.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Cheers, Andreas




Re: [PATCH] ext4: ext4_mb_mark_free_simple: Fix integer value truncation

From: Theodore Ts'o <tytso@mit.edu>
Date: 2016-11-15 03:01:08

On Thu, Nov 03, 2016 at 01:32:33PM -0600, Andreas Dilger wrote:
On Nov 3, 2016, at 3:14 AM, Chandan Rajendra [off-list ref] wrote:
quoted
'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'.

Signed-off-by: Chandan Rajendra <redacted>
Reviewed-by: Andreas Dilger <redacted>
Applied, with a change in the commit summary:

    ext4: fix mballoc breakage with 64k block size

Many thanks!!

					- Ted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help