Message ID | 774a92693f311e7de01e5935e720a179fb1b2468.1616635406.git.ytc-mb-yfuruyama7@kioxia.com |
---|---|
State | Accepted |
Delegated to: | Miquel Raynal |
Headers | show |
Series | Fix corner case in bad block table handling. | expand |
On Tue, 2021-04-06 at 01:47:08 UTC, Yoshio Furuyama wrote: > From: "Doyle, Patrick" <pdoyle@irobot.com> > > In the unlikely event that both blocks 10 and 11 are marked as bad (on a > 32 bit machine), then the process of marking block 10 as bad stomps on > cached entry for block 11. There are (of course) other examples. > > Signed-off-by: Patrick Doyle <pdoyle@irobot.com> > Reviewed-by: Richard Weinberger <richard@nod.at> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel
Hi stable maintainers, On 06.04.21 03:47, Yoshio Furuyama wrote: > From: "Doyle, Patrick" <pdoyle@irobot.com> > > In the unlikely event that both blocks 10 and 11 are marked as bad (on a > 32 bit machine), then the process of marking block 10 as bad stomps on > cached entry for block 11. There are (of course) other examples. > > Signed-off-by: Patrick Doyle <pdoyle@irobot.com> > Reviewed-by: Richard Weinberger <richard@nod.at> We have systems on which this patch fixes real failures. Could you please add the upstream patch fd0d8d85f723 ("mtd: nand: bbt: Fix corner case in bad block table handling") to the stable queues for 4.19, 5.4, 5.10? Thanks! Cc: stable@vger.kernel.org Fixes: 9c3736a3de21 ("mtd: nand: Add core infrastructure to deal with NAND devices") > --- > drivers/mtd/nand/bbt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c > index 044adf913854..64af6898131d 100644 > --- a/drivers/mtd/nand/bbt.c > +++ b/drivers/mtd/nand/bbt.c > @@ -123,7 +123,7 @@ int nanddev_bbt_set_block_status(struct nand_device *nand, unsigned int entry, > unsigned int rbits = bits_per_block + offs - BITS_PER_LONG; > > pos[1] &= ~GENMASK(rbits - 1, 0); > - pos[1] |= val >> rbits; > + pos[1] |= val >> (bits_per_block - rbits); > } > > return 0;
Hi Greg, Sasha, just a gentle ping for the backport request below. Thanks! Am 11.01.22 um 16:33 schrieb Frieder Schrempf: > Hi stable maintainers, > > On 06.04.21 03:47, Yoshio Furuyama wrote: >> From: "Doyle, Patrick" <pdoyle@irobot.com> >> >> In the unlikely event that both blocks 10 and 11 are marked as bad (on a >> 32 bit machine), then the process of marking block 10 as bad stomps on >> cached entry for block 11. There are (of course) other examples. >> >> Signed-off-by: Patrick Doyle <pdoyle@irobot.com> >> Reviewed-by: Richard Weinberger <richard@nod.at> > > We have systems on which this patch fixes real failures. Could you > please add the upstream patch fd0d8d85f723 ("mtd: nand: bbt: Fix corner > case in bad block table handling") to the stable queues for 4.19, 5.4, 5.10? > > Thanks! > > Cc: stable@vger.kernel.org > Fixes: 9c3736a3de21 ("mtd: nand: Add core infrastructure to deal with > NAND devices") > >> --- >> drivers/mtd/nand/bbt.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c >> index 044adf913854..64af6898131d 100644 >> --- a/drivers/mtd/nand/bbt.c >> +++ b/drivers/mtd/nand/bbt.c >> @@ -123,7 +123,7 @@ int nanddev_bbt_set_block_status(struct nand_device *nand, unsigned int entry, >> unsigned int rbits = bits_per_block + offs - BITS_PER_LONG; >> >> pos[1] &= ~GENMASK(rbits - 1, 0); >> - pos[1] |= val >> rbits; >> + pos[1] |= val >> (bits_per_block - rbits); >> } >> >> return 0;
On Mon, Jan 24, 2022 at 03:11:14PM +0100, Frieder Schrempf wrote: > Hi Greg, Sasha, > > just a gentle ping for the backport request below. > > Thanks! > > Am 11.01.22 um 16:33 schrieb Frieder Schrempf: > > Hi stable maintainers, > > > > On 06.04.21 03:47, Yoshio Furuyama wrote: > >> From: "Doyle, Patrick" <pdoyle@irobot.com> > >> > >> In the unlikely event that both blocks 10 and 11 are marked as bad (on a > >> 32 bit machine), then the process of marking block 10 as bad stomps on > >> cached entry for block 11. There are (of course) other examples. > >> > >> Signed-off-by: Patrick Doyle <pdoyle@irobot.com> > >> Reviewed-by: Richard Weinberger <richard@nod.at> > > > > We have systems on which this patch fixes real failures. Could you > > please add the upstream patch fd0d8d85f723 ("mtd: nand: bbt: Fix corner > > case in bad block table handling") to the stable queues for 4.19, 5.4, 5.10? > > > > Thanks! > > > > Cc: stable@vger.kernel.org > > Fixes: 9c3736a3de21 ("mtd: nand: Add core infrastructure to deal with > > NAND devices") Odd, I did not see this anywhere in my inbox. Now queued up, thanks. greg k-h
diff --git a/drivers/mtd/nand/bbt.c b/drivers/mtd/nand/bbt.c index 044adf913854..64af6898131d 100644 --- a/drivers/mtd/nand/bbt.c +++ b/drivers/mtd/nand/bbt.c @@ -123,7 +123,7 @@ int nanddev_bbt_set_block_status(struct nand_device *nand, unsigned int entry, unsigned int rbits = bits_per_block + offs - BITS_PER_LONG; pos[1] &= ~GENMASK(rbits - 1, 0); - pos[1] |= val >> rbits; + pos[1] |= val >> (bits_per_block - rbits); } return 0;