[PATCH 4.19 035/191] Revert "block: ratelimit handle_bad_sector() message"

From: Greg Kroah-Hartman
Date: Tue Nov 03 2020 - 16:02:32 EST


From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

This reverts commit f86b9bf6228bb334fe1addcd566a658ecbd08f7e which is
commit f4ac712e4fe009635344b9af5d890fe25fcc8c0d upstream.

Jari Ruusu writes:

Above change "block: ratelimit handle_bad_sector() message"
upstream commit f4ac712e4fe009635344b9af5d890fe25fcc8c0d
in 4.19.154 kernel is not completely OK.

Removing casts from arguments 4 and 5 produces these compile warnings:

...

For 64 bit systems it is only compile time cosmetic warning. For 32 bit
system + CONFIG_LBDAF=n it introduces bugs: output formats are "%llu" and
passed parameters are 32 bits. That is not OK.

Upstream kernels have hardcoded 64 bit sector_t. In older stable trees
sector_t can be either 64 or 32 bit. In other words, backport of above patch
needs to keep those original casts.

And Tetsuo Handa writes:
Indeed, commit f4ac712e4fe00963 ("block: ratelimit handle_bad_sector() message")
depends on commit 72deb455b5ec619f ("block: remove CONFIG_LBDAF") which was merged
into 5.2 kernel.

So let's revert it.

Reported-by: Jari Ruusu <jariruusu@xxxxxxxxxxxxxxxxxxxxx>
Reported-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Jens Axboe <axboe@xxxxxxxxx>
Cc: Sasha Levin <sashal@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
block/blk-core.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2127,10 +2127,11 @@ static void handle_bad_sector(struct bio
{
char b[BDEVNAME_SIZE];

- pr_info_ratelimited("attempt to access beyond end of device\n"
- "%s: rw=%d, want=%llu, limit=%llu\n",
- bio_devname(bio, b), bio->bi_opf,
- bio_end_sector(bio), maxsector);
+ printk(KERN_INFO "attempt to access beyond end of device\n");
+ printk(KERN_INFO "%s: rw=%d, want=%Lu, limit=%Lu\n",
+ bio_devname(bio, b), bio->bi_opf,
+ (unsigned long long)bio_end_sector(bio),
+ (long long)maxsector);
}

#ifdef CONFIG_FAIL_MAKE_REQUEST