block: ratelimit handle_bad_sector() message

syzbot is reporting unkillable task [1], for the caller is failing to
handle a corrupted filesystem image which attempts to access beyond
the end of the device. While we need to fix the caller, flooding the
console with handle_bad_sector() message is unlikely useful.

[1] https://syzkaller.appspot.com/bug?id=f1f49fb971d7a3e01bd8ab8cff2ff4572ccf3092

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Tetsuo Handa 2020-10-08 22:37:23 +09:00 committed by Jens Axboe
parent 1da30f952a
commit f4ac712e4f

View File

@ -646,11 +646,10 @@ static void handle_bad_sector(struct bio *bio, sector_t maxsector)
{ {
char b[BDEVNAME_SIZE]; char b[BDEVNAME_SIZE];
printk(KERN_INFO "attempt to access beyond end of device\n"); pr_info_ratelimited("attempt to access beyond end of device\n"
printk(KERN_INFO "%s: rw=%d, want=%Lu, limit=%Lu\n", "%s: rw=%d, want=%llu, limit=%llu\n",
bio_devname(bio, b), bio->bi_opf, bio_devname(bio, b), bio->bi_opf,
(unsigned long long)bio_end_sector(bio), bio_end_sector(bio), maxsector);
(long long)maxsector);
} }
#ifdef CONFIG_FAIL_MAKE_REQUEST #ifdef CONFIG_FAIL_MAKE_REQUEST