Bug in commit aa511ff8218b ("badblocks: switch to the improved badblock handling

From: Ira Weiny
Date: Fri Dec 22 2023 - 13:32:25 EST


Coly,

Yesterday I noticed that a few of our nvdimm tests were failing. I bisected
the problem to the following commit.

aa511ff8218b ("badblocks: switch to the improved badblock handling code")

Reverting this patch fixed our tests.

I've also dug into the code a bit and I believe the algorithm for
badblocks_check() is broken (not yet sure about the other calls). At the
very least I see the bb->p pointer being indexed with '-1'. :-(

I did notice that this work was due to a bug report in badblock_set().
Therefore, I'm not sure of that severity of that fix is vs a revert. But
at this point I'm not seeing an easy fix so I'm in favor of a revert.

Thanks,
Ira