[Yaffs-archive] Re: YAFFS stack corruption bug

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Nick Bane
Date:  
To: manningc2
CC: yaffs list
Subject: [Yaffs-archive] Re: YAFFS stack corruption bug
> I had a look and figured a one-liner will sort this
>
> change
>    if(ecc)
> to
>   if(ecc & ecc <= 64)

>

Ok but the problem is only side-stepped and not even logged. One could
increment a badness count that is retrievable via /proc/yaffs as a debug
aid.

> Of course this does not fix/handle multi-bit errors, but that's about as

good
> as we can get. Need to handle retirement etc.
>
> That you encountered this smells of an underlying hw issue.


Aha - mkyaffsimage is the culprit, again. It calculates the wrong TagsECC
value leading to the mysterious kernel multibit errors that cause no error
when not corrected because no error exists.
It calculates the TagsECC using the old "for(j = 1; j &0x7f; j<<=1)" instead
of the updated "for (j = 1; j & 0xff; j<<=1)"

All is now explained and working fine. Rename now seems to work ok too.

Nick