Hi Jens, Could you please take a look at it and pick this patch into the for-6.15/block branch? The patch is generated based on the for-6.15/block branch. Thanks in advance. Coly Li > From: Coly Li <colyli@xxxxxxxxxx> > > In _badblocks_check(), there are lines of code like this, > 1246 sectors -= len; > [snipped] > 1251 WARN_ON(sectors < 0); > > The WARN_ON() at line 1257 doesn't make sense because sectors is > unsigned long long type and never to be <0. > > Fix it by checking directly checking whether sectors is less than len. > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Signed-off-by: Coly Li <colyli@xxxxxxxxxx> > --- > block/badblocks.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/block/badblocks.c b/block/badblocks.c > index 673ef068423a..ece64e76fe8f 100644 > --- a/block/badblocks.c > +++ b/block/badblocks.c > @@ -1242,14 +1242,15 @@ static int _badblocks_check(struct badblocks *bb, sector_t s, sector_t sectors, > len = sectors; > > update_sectors: > + /* This situation should never happen */ > + WARN_ON(sectors < len); > + > s += len; > sectors -= len; > > if (sectors > 0) > goto re_check; > > - WARN_ON(sectors < 0); > - > if (unacked_badblocks > 0) > rv = -1; > else if (acked_badblocks > 0) > -- > 2.47.2 >