On Tue, Apr 02, 2024 at 01:37:50PM +0300, Dan Carpenter wrote:
On Mon, Apr 01, 2024 at 09:22:52PM +0200, Alexander Wetzel wrote:
Following kernel warnings have been noticed on qemu-x86_64 while running LTP cve ioctl_sg01 tests the kernel with stable-rc 6.6.24-rc1, 6.7.12-rc1 and 6.8.3-rc1.
We have started bi-secting this issue. Always reproduced.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
ioctl_sg01.c:81: TINFO: Found SCSI device /dev/sg0 ------------[ cut here ]------------ [ 36.606841] WARNING: CPU: 0 PID: 8 at drivers/scsi/sg.c:2237 sg_remove_sfp_usercontext+0x145/0x150 [ 36.609445] Modules linked in: [ 36.610793] CPU: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.6.24-rc1 #1 [ 36.611568] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 36.612872] Workqueue: events sg_remove_sfp_usercontext [ 36.613691] RIP: 0010:sg_remove_sfp_usercontext+0x145/0x150
<trim>
[ 36.621539] Call Trace: [ 36.621953] <TASK> [ 36.622444] ? show_regs+0x69/0x80 [ 36.622819] ? __warn+0x8d/0x150 [ 36.623078] ? sg_remove_sfp_usercontext+0x145/0x150 [ 36.623558] ? report_bug+0x171/0x1a0 [ 36.623881] ? handle_bug+0x42/0x80 [ 36.624070] ? exc_invalid_op+0x1c/0x70 [ 36.624491] ? asm_exc_invalid_op+0x1f/0x30 [ 36.624897] ? sg_remove_sfp_usercontext+0x145/0x150 [ 36.625408] process_one_work+0x141/0x300 [ 36.625769] worker_thread+0x2f6/0x430 [ 36.626073] ? __pfx_worker_thread+0x10/0x10 [ 36.626529] kthread+0x105/0x140 [ 36.626778] ? __pfx_kthread+0x10/0x10 [ 36.627059] ret_from_fork+0x41/0x60 [ 36.627441] ? __pfx_kthread+0x10/0x10 [ 36.627735] ret_from_fork_asm+0x1b/0x30 [ 36.628293] </TASK> [ 36.628604] ---[ end trace 0000000000000000 ]--- ioctl_sg01.c:122: TPASS: Output buffer is empty, no data leaked
Suspecting commit:
scsi: sg: Avoid sg device teardown race commit 27f58c04a8f438078583041468ec60597841284d upstream.
Correct. The issue is already been worked on.
commit 27f58c04a8f4 ("scsi: sg: Avoid sg device teardown race") fixed a real issue. But also added an incorrect WARN_ON_ONCE(). Thus the scary - but otherwise harmless - error message.
If you have Reboot on Oops turned on (apparently Android enables this) then WARN() will reboot the system so it can be pretty annoying.
Agreed, I've dropped this stable change for now because of this.
greg k-h