fsfuzzer may make many invalid access for FAT-fs and generate many kmsg
like "FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)".
For platforms & os that enables hardware serial device whose speed are
slow, this may cause softlockup easily.
So let's ratelimit the error log.
The log as below:
[11916.242560] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.254485] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.266388] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.278287] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.290180] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.302068] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.313962] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.325848] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.337732] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.349619] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.361505] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.373391] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.385272] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.397144] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.409025] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.420909] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.432791] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.444674] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.456558] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.468446] FAT-fs (loop2): error, invalid access to FAT (entry 0x00000ccb)
[11916.480352] watchdog: BUG: soft lockup - CPU#58 stuck for 26s! [cat:
2446035]
[11916.480357] Modules linked in: ...
[11916.480503] CPU: 58 PID:
2446035 Comm: cat Kdump: loaded Tainted: ...
[11916.480508] Hardware name: vclusters VSFT5000 B/VSFT5000 B, BIOS ...
[11916.480510] pstate:
60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[11916.480513] pc : console_emit_next_record+0x1b4/0x288
[11916.480524] lr : console_emit_next_record+0x1ac/0x288
[11916.480525] sp :
ffff80009bcdae90
[11916.480527] x29:
ffff80009bcdaec0 x28:
ffff800082513810 x27:
0000000000000001
[11916.480530] x26:
0000000000000001 x25:
ffff800081f66000 x24:
0000000000000000
[11916.480533] x23:
0000000000000000 x22:
ffff80009bcdaf8f x21:
0000000000000001
[11916.480535] x20:
0000000000000000 x19:
ffff800082513810 x18:
ffffffffffffffff
[11916.480538] x17:
0000000000000002 x16:
0000000000000001 x15:
ffff80009bcdab30
[11916.480541] x14:
0000000000000000 x13:
205d353330363434 x12:
32545b5d36343438
[11916.480543] x11:
652820544146206f x10:
7420737365636361 x9 :
ffff800080159a6c
[11916.480546] x8 :
69202c726f727265 x7 :
545b5d3634343836 x6 :
342e36313931315b
[11916.480549] x5 :
ffff800082513a01 x4 :
ffff80009bcdad31 x3 :
0000000000000000
[11916.480551] x2 :
00000000ffffffff x1 :
0000000001b9b000 x0 :
ffff8000836cef00
[11916.480554] Call trace:
[11916.480557] console_emit_next_record+0x1b4/0x288
[11916.480560] console_flush_all+0xcc/0x190
[11916.480563] console_unlock+0x78/0x138
[11916.480565] vprintk_emit+0x1c4/0x210
[11916.480568] vprintk_default+0x40/0x58
[11916.480570] vprintk+0x84/0xc8
[11916.480572] _printk+0x68/0xa0
[11916.480578] _fat_msg+0x6c/0xa0 [fat]
[11916.480593] __fat_fs_error+0xf8/0x118 [fat]
[11916.480601] fat_ent_read+0x164/0x238 [fat]
[11916.480609] fat_get_cluster+0x180/0x2c8 [fat]
[11916.480617] fat_get_mapped_cluster+0xb8/0x170 [fat]
Link: https://lkml.kernel.org/r/20250620020231.9292-1-me@linux.beauty
Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>