Patchwork Ext4: remove a useless check for the function ext4_data_block_valid

login
register
mail settings
Submitter Wang shilong
Date Jan. 26, 2013, 10:57 p.m.
Message ID <51045F77.5000106@gmail.com>
Download mbox | patch
Permalink /patch/215893/
State Rejected
Headers show

Comments

Theodore Ts'o - Jan. 26, 2013, 3:38 p.m.
On Sat, Jan 26, 2013 at 02:57:59PM -0800, Wang Shilong wrote:
> From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
> 
> Because it is no doubt 'start_blk + count < start_blk' always comes to
> false. It is useless to have this check,remove it.

Actually, it can be true --- if start_blk + count (which are both
unsigned integers) overflows....

					- Ted
--
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
Wang shilong - Jan. 26, 2013, 10:57 p.m.
From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>

Because it is no doubt 'start_blk + count < start_blk' always comes to
false. It is useless to have this check,remove it.

Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
---
 fs/ext4/block_validity.c | 1 -
 1 file changed, 1 deletion(-)

-- 1.7.11.7

--
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
Theodore Ts'o - Jan. 27, 2013, 12:38 p.m.
On Sun, Jan 27, 2013 at 04:46:29PM -0800, Wang Shilong wrote:
> > Actually, it can be true --- if start_blk + count (which are both
> > unsigned integers) overflows....
>     Yeah,you are right....
>     I am sorry,I miss the overflow condition...

We added it because we saw a crash that was a caused by an overflow,
if memory serves correctly.  Or maybe it was a mysterious data or file
system corruption that was incredibly painful to find.

Fun trivia fact: the European Space Agency had the Ariane 5 rocket
explode on its maiden flight due to a integer overflow bug.

	       	      	     	      - Ted


--
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
Wang shilong - Jan. 28, 2013, 12:46 a.m.
> On Sat, Jan 26, 2013 at 02:57:59PM -0800, Wang Shilong wrote:
>> From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
>>
>> Because it is no doubt 'start_blk + count < start_blk' always comes to
>> false. It is useless to have this check,remove it.
> Actually, it can be true --- if start_blk + count (which are both
> unsigned integers) overflows....
    Yeah,you are right....
    I am sorry,I miss the overflow condition...
> 					- Ted
>

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

Patch

diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c
index 3f11656..5ffce82 100644
--- a/fs/ext4/block_validity.c
+++ b/fs/ext4/block_validity.c
@@ -226,7 +226,6 @@  int ext4_data_block_valid(struct ext4_sb_info *sbi, ext4_fsblk_t start_blk,
 	struct rb_node *n = sbi->system_blks.rb_node;
 
 	if ((start_blk <= le32_to_cpu(sbi->s_es->s_first_data_block)) ||
-	    (start_blk + count < start_blk) ||
 	    (start_blk + count > ext4_blocks_count(sbi->s_es))) {
 		sbi->s_es->s_last_error_block = cpu_to_le64(start_blk);
 		return 0;