[U-Boot] [PATCH 3/7] JFFS2: Calculate buf_len before we read data from flash

Detlev Zundel dzu at denx.de
Mon May 2 14:25:26 CEST 2011


Hi Baidu,

> Hi, Detlev :
>
> 2011/4/30 Detlev Zundel <dzu at denx.de>:
>> Hi Baidu,
>>
>> [...]
>>
>>>>> diff --git a/fs/jffs2/jffs2_1pass.c b/fs/jffs2/jffs2_1pass.c
>>>>> index 8eb77b1..be6ac78 100644
>>>>> --- a/fs/jffs2/jffs2_1pass.c
>>>>> +++ b/fs/jffs2/jffs2_1pass.c
>>>>> @@ -1643,6 +1643,8 @@ jffs2_1pass_build_lists(struct part_info * part)
>>>>>                       case JFFS2_NODETYPE_INODE:
>>>>>                               if (buf_ofs + buf_len < ofs + sizeof(struct
>>>>>                                                       jffs2_raw_inode)) {
>>>>> +                                     buf_len = min_t(uint32_t, buf_size, sector_ofs
>>>>> +                                             + part->sector_size - ofs);
>>>>
>>>> I am somewhat uncomfortable that "buf_len" is used in the if condition
>>>> before it is recalculated inside.  Are you sure that this cannot lead to
>>>> problems, i.e. can buf_len become larger than it was when entering the
>>>> condition?
>>>
>>> It works well in my boards.
>>
>> Aha.  I am all happy for you that this works, but we really need to be
>> as sure as we can be that the code does the right thing.  "It works for
>> me" is not enough.
>
> Please read every line code in the uboot jffs2 carefully. Know more
> about JFFS2.

I was asking you a question about a potential problem that I see with
your changes. Can you answer the question or not?  If you cannot answer
it, then you are changing things that you do not understand.  Personally
I don't trust bug-fixes that are not understood completely.

Cheers
  Detlev

-- 
Mit einem Leben wie dem meinen, Doktor - wer braucht da noch Traeume?
                                            - Alex Portnoy
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list