[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