[U-Boot-Users] PATCH: bug fix in IDE identification strings

Pierre AUBERT p.aubert at staubli.com
Tue Mar 16 08:58:46 CET 2004


Hi,
Leon KUKOVEC wrote:

>Hi Wolfgang,
>
>On Mon, 2004-03-15 at 14:32, Wolfgang Denk wrote:
>  
>
>>In message <4055AA27.3010805 at staubli.com> you wrote:
>>    
>>
>>>The attached patch fixes a bug in the ide identification string copy.
>>>      
>>>
>>I may be missing something - but why do we copy these strings in  the
>>first place? Who is using them? (and where?)
>>    
>>
>
>The block_dev_desc_t structure defines vendor[40], product[20] and
>revision[8] - same as it is defined in hd_driveid_t.
>
>ident_cpy's description says that it will copy the string and
>terminate it, but it can't in the case where all 8 bytes of revision
>are occupied - since the buffers are equal size.
>  
>
My hard disk has a 8 bytes revision string. In this case, u-boot crashes 
in init_part
because the block_read field of the block_dev_desc_t structure has been 
partially erased
by the ending null of the revision string. This crash didn't occured 
with the revison 1.5 of include/part.h
because the field removable was beetween fields revision and block_read.

>Therefore Pierre's patch is correct, but instead of hardcoded values
>8, 40, 20 I would rather see sizeof (iop->fw_rev) etc.
>  
>
The attached patch replaces my previous with this modification.

>I noticed the same thing today when I was testing the PCMCIA
>patch that I'm about to send for PXA.
>
>  
>
Best regards
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: u-boot-ide-ident.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20040316/c9201d4a/attachment.txt 


More information about the U-Boot mailing list