[RFC/PATCH] doc2000: Fix uninitialized variable in doc_ecc_decode()

Artem Bityutskiy dedekind1 at gmail.com
Mon Jun 28 23:58:33 EDT 2010


On Tue, 2010-06-29 at 06:46 +0300, Artem Bityutskiy wrote:
> On Thu, 2010-05-27 at 11:45 +1000, Mark Ware wrote:
> > The variable 'syn' was being used uninitialized.  Also
> > fixed incorrect use of syn[] vs s[].
> > 
> > Tested on powerpc board with 64MB DOC2000.
> > ---
> > 
> > I am porting from a 2.4.18 kernel to 2.6.32, and I saw random media header
> > mismatches causing a failure to detect the DOC device partitions.  Tracing
> > through, I saw this variable being used uninitialized and I suspect
> > incorrectly also.
> > 
> > I do not really understand how the ecc/syndrome code works, so I do not
> > know if this patch is the correct solution, but it did make my problem
> > go away...
> > 
> > CC: Thomas Gleixner as I believe he may have written this function initially.
> > 
> >  drivers/mtd/nand/diskonchip.c |    5 +++--
> >  1 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c
> > index a5bf9ff..7da2321 100644
> > --- a/drivers/mtd/nand/diskonchip.c
> > +++ b/drivers/mtd/nand/diskonchip.c
> > @@ -145,6 +145,7 @@ static int doc_ecc_decode(struct rs_control *rs, uint8_t *data, uint8_t *ecc)
> >  	uint8_t parity;
> >  	uint16_t ds[4], s[5], tmp, errval[8], syn[4];
> >  
> > +	memset(syn, 0, sizeof(syn));
> 
> I also do not know the math of this stuff, but this change is not
> needed ...

Sorry, ignore this, I'll put this patch to my l2-mtd-2.6 tree and let
dwmw2 decide whether it is good or not :-)
-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list