[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d6df5ac5-6168-4c29-ba51-41c4b587bba8@nvidia.com>
Date: Sun, 26 Oct 2025 05:43:41 +0000
From: Chaitanya Kulkarni <chaitanyak@...dia.com>
To: Johannes Thumshirn <Johannes.Thumshirn@....com>
CC: syzbot <syzbot+153e64c0aa875d7e4c37@...kaller.appspotmail.com>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-trace-kernel@...r.kernel.org" <linux-trace-kernel@...r.kernel.org>,
"mathieu.desnoyers@...icios.com" <mathieu.desnoyers@...icios.com>,
"mhiramat@...nel.org" <mhiramat@...nel.org>, "rostedt@...dmis.org"
<rostedt@...dmis.org>, "syzkaller-bugs@...glegroups.com"
<syzkaller-bugs@...glegroups.com>, Jens Axboe <axboe@...nel.dk>
Subject: Re: [syzbot] [block?] [trace?] WARNING in __blk_add_trace
On 10/25/25 21:55, Chaitanya Kulkarni wrote:
> (what >> BLK_TC_SHIFT) & ~((u64)BLK_TC_END_V1 * 2 - 1)))
Following is the test I used :-
tests/blktrace/001 | 97 ++++++++++++++++++++++++++++++++++++++++++
tests/blktrace/001.out | 2 +
tests/blktrace/rc | 11 +++++
3 files changed, 110 insertions(+)
create mode 100755 tests/blktrace/001
create mode 100644 tests/blktrace/001.out
create mode 100644 tests/blktrace/rc
diff --git a/tests/blktrace/001 b/tests/blktrace/001
new file mode 100755
index 0000000..fa72f89
--- /dev/null
+++ b/tests/blktrace/001
@@ -0,0 +1,97 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2025 Chaitanya Kulkarni <kch@...dia.com>
+#
+# Regression test for blktrace false positive WARNING on zone management
+# commands.
+#
+# Bug: https://syzkaller.appspot.com/bug?extid=153e64c0aa875d7e4c37
+# Location: kernel/trace/blktrace.c:367-368
+#
+# The bug triggers a WARNING when zone management commands (zone
open/close/
+# finish/reset) are traced with blktrace on V1 version. This is a false
+# positive that should be fixed.
+
+. tests/blktrace/rc
+. common/null_blk
+
+DESCRIPTION="blktrace zone management command tracing"
+QUICK=1
+
+requires() {
+ _have_program blkzone
+ _have_null_blk
+ _have_module_param null_blk zoned
+}
+
+test() {
+ echo "Running ${TEST_NAME}"
+
+ local blktrace_pid
+ local warning_count
+ local device
+
+ # Initialize null_blk with no default devices
+ if ! _init_null_blk nr_devices=0; then
+ return 1
+ fi
+
+ # Create zoned null_blk device via configfs
+ # 8 zones, 1GB total, 128MB per zone, no conventional zones
+ if ! _configure_null_blk nullb0 \
+ memory_backed=1 \
+ zone_size=128 \
+ zone_nr_conv=0 \
+ size=1024 \
+ zoned=1 \
+ power=1; then
+ return 1
+ fi
+
+ device=/dev/nullb0
+
+ # Verify it's a zoned device
+ local zoned_mode
+ zoned_mode=$(cat /sys/block/nullb0/queue/zoned)
+ if [[ "$zoned_mode" != "host-managed" ]]; then
+ echo "Device is not zoned (mode: $zoned_mode)"
+ _exit_null_blk
+ return 1
+ fi
+
+ # Clear dmesg to isolate test output
+ dmesg -C 2>/dev/null || true
+
+ # Start blktrace
+ blktrace -d "${device}" -o trace >> "$FULL" 2>&1 &
+ blktrace_pid=$!
+ sleep 2
+
+ # Verify blktrace started
+ if ! ps -p $blktrace_pid > /dev/null 2>&1; then
+ echo "blktrace failed to start"
+ _exit_null_blk
+ return 1
+ fi
+
+ # Issue zone open command for all zones (triggers bug if present)
+ blkzone open "${device}" >> "$FULL" 2>&1
+
+ sleep 1
+
+ # Stop blktrace
+ kill $blktrace_pid 2>/dev/null
+ wait $blktrace_pid 2>/dev/null || true
+
+ # Check for WARNING (bug present if WARNING found)
+ warning_count=$(dmesg | grep -c "WARNING.*blktrace.c:367" || true)
+
+ if [[ $warning_count -gt 0 ]]; then
+ echo "WARNING: blktrace bug detected at blktrace.c:367"
+ dmesg | grep -A 10 "WARNING.*blktrace.c:367" >> "$FULL"
+ fi
+
+ _exit_null_blk
+
+ echo "Test complete"
+}
diff --git a/tests/blktrace/001.out b/tests/blktrace/001.out
new file mode 100644
index 0000000..a122a65
--- /dev/null
+++ b/tests/blktrace/001.out
@@ -0,0 +1,2 @@
+Running blktrace/001
+Test complete
diff --git a/tests/blktrace/rc b/tests/blktrace/rc
new file mode 100644
index 0000000..019ff7d
--- /dev/null
+++ b/tests/blktrace/rc
@@ -0,0 +1,11 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2025 Chaitanya Kulkarni <kch@...dia.com>
+#
+# Tests for blktrace infrastructure
+
+. common/rc
+
+group_requires() {
+ _have_root && _have_blktrace && _have_program blkparse
+}
--
2.40.0
Powered by blists - more mailing lists