For two unsigned values the check "block+count < block" is always
false. Thus the below patch removes that condition.
=============================================================
Signed-off-by: Manish Katiyar <[email protected]>
--- a/fs/ext3/balloc.c 2008-05-11 23:54:40.000000000 +0530
+++ b/fs/ext3/balloc.c 2008-06-01 00:05:25.000000000 +0530
@@ -493,7 +493,6 @@
sbi = EXT3_SB(sb);
es = sbi->s_es;
if (block < le32_to_cpu(es->s_first_data_block) ||
- block + count < block ||
block + count > le32_to_cpu(es->s_blocks_count)) {
ext3_error (sb, "ext3_free_blocks",
"Freeing blocks not in datazone - "
=============================================================
--
Thanks & Regards,
********************************************
Manish Katiyar ( http://mkatiyar.googlepages.com )
3rd Floor, Fair Winds Block
EGL Software Park
Off Intermediate Ring Road
Bangalore 560071, India
***********************************************
On Sun, Jun 01, 2008 at 12:26:41AM +0530, Manish Katiyar wrote:
> For two unsigned values the check "block+count < block" is always
> false. Thus the below patch removes that condition.
Really? Always?
unsigned block = 1;
unsigned count = ~0U;
What will be the value and type of block + count? What will be the
value of block + count < block?
On Sun, Jun 1, 2008 at 12:35 AM, Al Viro <[email protected]> wrote:
> On Sun, Jun 01, 2008 at 12:26:41AM +0530, Manish Katiyar wrote:
>> For two unsigned values the check "block+count < block" is always
>> false. Thus the below patch removes that condition.
>
> Really? Always?
>
> unsigned block = 1;
> unsigned count = ~0U;
>
> What will be the value and type of block + count? What will be the
> value of block + count < block?
Oooops....my bad, but I doubt if we pass such values in ext* code anywhere.
>
--
Thanks & Regards,
********************************************
Manish Katiyar ( http://mkatiyar.googlepages.com )
3rd Floor, Fair Winds Block
EGL Software Park
Off Intermediate Ring Road
Bangalore 560071, India
***********************************************
On Sun, Jun 01, 2008 at 12:40:32AM +0530, Manish Katiyar wrote:
> Oooops....my bad, but I doubt if we pass such values in ext* code anywhere.
If we have a corrupt filesystem, we can pass total garbage here. This
check prevents that from corrupting the filesystem further. Patch NAKed
with extreme prejudice.
--
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."