| Seq | Timestamp | Type | Name | Duration |
|---|---|---|---|---|
| 0/0 | 2026/09/11 16:20 | flow | patch-triage |
0mArgs:null Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"KMSANReasoning": "",
"NeedsKMSAN": false,
"Reasoning": "The patch modifies only BPF selftests and selftest documentation in tools/testing/selftests/bpf/. Because these changes only affect userspace test artifacts and do not alter the compiled kernel image (vmlinux) or kernel modules, they are not worth fuzzing.",
"WorthFuzzing": false
} |
| 1/1 | 2026/09/11 16:20 | action | read-patch-diff |
0mArgs:null Results: {
"PatchDiff": "commit 77ca9d293ab80c87c7548920c853d1a7cf51ab49\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate: Fri Sep 11 16:20:05 2026 +0000\n\n syz-cluster: applied patch under review\n\ndiff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst\nindex 07c834433b388..75ff1142c1857 100644\n--- a/tools/testing/selftests/bpf/README.rst\n+++ b/tools/testing/selftests/bpf/README.rst\n@@ -187,7 +187,7 @@ The symptom for ``bpf_iter/netlink`` looks like\n ...\n 15: (bf) r2 = r7\n 16: (0f) r2 += r1\n- ; BPF_SEQ_PRINTF(seq, \"%pK %-3d \", s, s-\u003esk_protocol);\n+ ; BPF_SEQ_PRINTF(seq, \"%p %-3d \", s, s-\u003esk_protocol);\n 17: (7b) *(u64 *)(r7 +0) = r2\n only read is supported\n \ndiff --git a/tools/testing/selftests/bpf/prog_tests/snprintf.c b/tools/testing/selftests/bpf/prog_tests/snprintf.c\nindex 4e4a82d54f799..f2cd442c4683c 100644\n--- a/tools/testing/selftests/bpf/prog_tests/snprintf.c\n+++ b/tools/testing/selftests/bpf/prog_tests/snprintf.c\n@@ -16,7 +16,7 @@\n #define MIN_SYM_RET sizeof(EXP_SYM_OUT)\n \n /* The third specifier, %p, is a hashed pointer which changes on every reboot */\n-#define EXP_ADDR_OUT \"0000000000000000 ffff00000add4e55 \"\n+#define EXP_ADDR_OUT \"ffff00000add4e55 \"\n #define EXP_ADDR_RET sizeof(EXP_ADDR_OUT \"unknownhashedptr\")\n \n #define EXP_STR_OUT \"str1 a b c d e longstr\"\ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c\nindex 00b2ceae81fb0..b9107d3ab6039 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c\n@@ -25,12 +25,12 @@ int dump_netlink(struct bpf_iter__netlink *ctx)\n \t\treturn 0;\n \n \tif (ctx-\u003emeta-\u003eseq_num == 0)\n-\t\tBPF_SEQ_PRINTF(seq, \"sk Eth Pid Groups \"\n+\t\tBPF_SEQ_PRINTF(seq, \"sk Eth Pid Groups \"\n \t\t\t\t \"Rmem Wmem Dump Locks Drops \"\n \t\t\t\t \"Inode\\n\");\n \n \ts = \u0026nlk-\u003esk;\n-\tBPF_SEQ_PRINTF(seq, \"%pK %-3d \", s, s-\u003esk_protocol);\n+\tBPF_SEQ_PRINTF(seq, \"0 %-3d \", s-\u003esk_protocol);\n \n \tif (!nlk-\u003egroups) {\n \t\tgroup = 0;\ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c\nindex b1e509b231cd9..d149cf0d07be6 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c\n@@ -131,8 +131,7 @@ static int dump_tcp_sock(struct seq_file *seq, struct tcp_sock *tp,\n \t\t icsk-\u003eicsk_probes_out,\n \t\t sock_i_ino(sp),\n \t\t sp-\u003esk_refcnt.refs.counter);\n-\tBPF_SEQ_PRINTF(seq, \"%pK %lu %lu %u %u %d\\n\",\n-\t\t tp,\n+\tBPF_SEQ_PRINTF(seq, \"0 %lu %lu %u %u %d\\n\",\n \t\t jiffies_to_clock_t(icsk-\u003eicsk_rto),\n \t\t jiffies_to_clock_t(icsk-\u003eicsk_ack.ato),\n \t\t (icsk-\u003eicsk_ack.quick \u003c\u003c 1) | inet_csk_in_pingpong_mode(icsk),\n@@ -161,10 +160,10 @@ static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,\n \tBPF_SEQ_PRINTF(seq, \"%4d: %08X:%04X %08X:%04X \",\n \t\t seq_num, src, srcp, dest, destp);\n \n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\\n\",\n \t\t tw-\u003etw_substate, 0, 0,\n \t\t 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,\n-\t\t tw-\u003etw_refcnt.refs.counter, tw);\n+\t\t tw-\u003etw_refcnt.refs.counter);\n \n \treturn 0;\n }\n@@ -185,9 +184,9 @@ static int dump_req_sock(struct seq_file *seq, struct tcp_request_sock *treq,\n \t\t seq_num, irsk-\u003eir_loc_addr,\n \t\t irsk-\u003eir_num, irsk-\u003eir_rmt_addr,\n \t\t bpf_ntohs(irsk-\u003eir_rmt_port));\n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\\n\",\n \t\t TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd),\n-\t\t req-\u003enum_timeout, uid, 0, 0, 0, req);\n+\t\t req-\u003enum_timeout, uid, 0, 0, 0);\n \n \treturn 0;\n }\ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c\nindex dbc7166aee91f..cd65fa81f1219 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c\n@@ -135,8 +135,7 @@ static int dump_tcp6_sock(struct seq_file *seq, struct tcp6_sock *tp,\n \t\t icsk-\u003eicsk_probes_out,\n \t\t sock_i_ino(sp),\n \t\t sp-\u003esk_refcnt.refs.counter);\n-\tBPF_SEQ_PRINTF(seq, \"%pK %lu %lu %u %u %d\\n\",\n-\t\t tp,\n+\tBPF_SEQ_PRINTF(seq, \"0 %lu %lu %u %u %d\\n\",\n \t\t jiffies_to_clock_t(icsk-\u003eicsk_rto),\n \t\t jiffies_to_clock_t(icsk-\u003eicsk_ack.ato),\n \t\t (icsk-\u003eicsk_ack.quick \u003c\u003c 1) | inet_csk_in_pingpong_mode(icsk),\n@@ -170,10 +169,10 @@ static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,\n \t\t dest-\u003es6_addr32[0], dest-\u003es6_addr32[1],\n \t\t dest-\u003es6_addr32[2], dest-\u003es6_addr32[3], destp);\n \n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\\n\",\n \t\t tw-\u003etw_substate, 0, 0,\n \t\t 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,\n-\t\t tw-\u003etw_refcnt.refs.counter, tw);\n+\t\t tw-\u003etw_refcnt.refs.counter);\n \n \treturn 0;\n }\n@@ -201,9 +200,9 @@ static int dump_req_sock(struct seq_file *seq, struct tcp_request_sock *treq,\n \t\t dest-\u003es6_addr32[0], dest-\u003es6_addr32[1],\n \t\t dest-\u003es6_addr32[2], dest-\u003es6_addr32[3],\n \t\t bpf_ntohs(irsk-\u003eir_rmt_port));\n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\\n\",\n \t\t TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd),\n-\t\t req-\u003enum_timeout, uid, 0, 0, 0, req);\n+\t\t req-\u003enum_timeout, uid, 0, 0, 0);\n \n \treturn 0;\n }\ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c\nindex 23b2aa2604de2..9b789f09f1462 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c\n@@ -57,13 +57,13 @@ int dump_udp4(struct bpf_iter__udp *ctx)\n \tBPF_SEQ_PRINTF(seq, \"%5d: %08X:%04X %08X:%04X \",\n \t\t ctx-\u003ebucket, src, srcp, dest, destp);\n \n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %u\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d %u\\n\",\n \t\t inet-\u003esk.sk_state,\n \t\t inet-\u003esk.sk_wmem_alloc.refs.counter - 1,\n \t\t rqueue,\n \t\t 0, 0L, 0, ctx-\u003euid, 0,\n \t\t sock_i_ino(\u0026inet-\u003esk),\n-\t\t inet-\u003esk.sk_refcnt.refs.counter, udp_sk,\n+\t\t inet-\u003esk.sk_refcnt.refs.counter, 0,\n \t\t udp_sk-\u003edrop_counters.drops0.counter +\n \t\t udp_sk-\u003edrop_counters.drops1.counter);\n \ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c\nindex c48b05aa2a4b2..9766eff7069ff 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c\n@@ -65,13 +65,13 @@ int dump_udp6(struct bpf_iter__udp *ctx)\n \t\t dest-\u003es6_addr32[0], dest-\u003es6_addr32[1],\n \t\t dest-\u003es6_addr32[2], dest-\u003es6_addr32[3], destp);\n \n-\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %u\\n\",\n+\tBPF_SEQ_PRINTF(seq, \"%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d %u\\n\",\n \t\t inet-\u003esk.sk_state,\n \t\t inet-\u003esk.sk_wmem_alloc.refs.counter - 1,\n \t\t rqueue,\n \t\t 0, 0L, 0, ctx-\u003euid, 0,\n \t\t sock_i_ino(\u0026inet-\u003esk),\n-\t\t inet-\u003esk.sk_refcnt.refs.counter, udp_sk,\n+\t\t inet-\u003esk.sk_refcnt.refs.counter, 0,\n \t\t udp_sk-\u003edrop_counters.drops0.counter +\n \t\t udp_sk-\u003edrop_counters.drops1.counter);\n \treturn 0;\ndiff --git a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c\nindex a2652c8c3616f..36690478992f8 100644\n--- a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c\n+++ b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c\n@@ -44,8 +44,7 @@ int dump_unix(struct bpf_iter__unix *ctx)\n \tif (seq_num == 0)\n \t\tBPF_SEQ_PRINTF(seq, \"Num RefCount Protocol Flags Type St Inode Path\\n\");\n \n-\tBPF_SEQ_PRINTF(seq, \"%pK: %08X %08X %08X %04X %02X %8lu\",\n-\t\t unix_sk,\n+\tBPF_SEQ_PRINTF(seq, \"%08u: %08X %08X %08X %04X %02X %8lu\", 0,\n \t\t sk-\u003esk_refcnt.refs.counter,\n \t\t 0,\n \t\t sk-\u003esk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0,\ndiff --git a/tools/testing/selftests/bpf/progs/test_snprintf.c b/tools/testing/selftests/bpf/progs/test_snprintf.c\nindex 8fda075440235..48a0025cf2ca8 100644\n--- a/tools/testing/selftests/bpf/progs/test_snprintf.c\n+++ b/tools/testing/selftests/bpf/progs/test_snprintf.c\n@@ -57,8 +57,8 @@ int handler(const void *ctx)\n \tsym_ret = BPF_SNPRINTF(sym_out, sizeof(sym_out), \"%ps %pS %pB\",\n \t\t\t\t\u0026schedule, \u0026schedule, \u0026schedule);\n \t/* Kernel pointers */\n-\taddr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), \"%pK %px %p\",\n-\t\t\t\t0, 0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55);\n+\taddr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), \"%px %p\",\n+\t\t\t\t0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55);\n \t/* Strings and single-byte character embedding */\n \tstr_ret = BPF_SNPRINTF(str_out, sizeof(str_out), \"%s % 9c %+2c %-3c %04c %0c %+05s\",\n \t\t\t\tstr1, 'a', 'b', 'c', 'd', 'e', longstr);\n"
} |
| 2/1 | 2026/09/11 16:20 | agent | patch-evaluator |
0mModel:core Args: null Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"Reasoning": "The patch modifies only BPF selftests and selftest documentation in tools/testing/selftests/bpf/. Because these changes only affect userspace test artifacts and do not alter the compiled kernel image (vmlinux) or kernel modules, they are not worth fuzzing.",
"WorthFuzzing": false
}Instruction: You are an expert Linux kernel maintainer and security engineer.
Your job is to review a provided patch series and evaluate whether it warrants fuzzing with syzkaller.
IMPORTANT: The changes have ALREADY been applied and committed as the HEAD commit in
your workspace. Do NOT rely on internal assumptions. You must actively use your code access
tools to inspect the actual source code, callers, and surrounding context.
================================================================================
1. CORE TRIAGE PHILOSOPHY
================================================================================
The goal of patch fuzzing is to discover crashes, regressions, exposed latent bugs,
and newly triggered assertions introduced by the patch series.
- REACHABILITY IS THE PRIMARY GATE:
Fuzzing can only discover bugs in code that can actually execute in standard virtualized
environments (GCE or QEMU, utilizing software-emulated devices like USB gadgets, netdev, tun/tap).
If the modified code is structurally unreachable (see Section 2), it MUST NOT be fuzzed,
regardless of whether it adds assertions or complex logic.
- DO NOT BLINDLY TRUST "NO FUNCTIONAL CHANGE" (NFCI) OR "REFACTORING" CLAIMS:
Patch authors routinely label changes as "cleanups", "refactorings", or state
"No functional change intended". Do NOT take these claims at face value.
Code refactorings that rearrange logic, introduce helper functions, or alter state management
in core subsystems frequently introduce subtle semantic shifts or uncover latent kernel bugs.
If reachable executable code is modified or refactored, it MUST be fuzzed.
- NEW OR MODIFIED ASSERTIONS IN REACHABLE CODE MUST BE FUZZED:
When a patch introduces or modifies runtime checks or assertions (e.g., WARN_ON*, VM_WARN_ON*,
BUG_ON*, lockdep_assert*) in reachable code paths, it enforces new or stricter invariants.
Even if the author believes the invariant always holds, fuzzing is essential to verify whether
an unusual sequence of operations can violate it.
================================================================================
2. WHEN TO RETURN WorthFuzzing=false (NEGATIVE CRITERIA)
================================================================================
Return WorthFuzzing=false ONLY IF all modified code falls strictly into one or more of these categories:
- Non-kernel and non-executable changes:
* Modifications to Documentation/, comments, or spelling fixes.
* User-space directories, self-tests, samples, or scripts (e.g., tools/, samples/, scripts/, usr/)
that do not affect the compiled kernel image (vmlinux) or kernel modules.
* Purely decorative logging (e.g., message strings in pr_err, printk, dev_info) or tracepoints
that do not alter control flow or data structures.
* Build system or Kconfig changes that do not alter compiled C logic.
- Structurally unreachable hardware:
* Vendor-specific PCIe switches, SmartNICs, or GPU drivers (e.g., mlxsw, pds_core, qed,
ionic, amdgpu) requiring physical ASIC/PCIe cards not emulated in standard QEMU.
- Unreachable execution paths:
* Driver teardown callbacks (.remove, .shutdown, pci_unregister_driver) executed only during
physical PCI hot-unplug or manual sysfs driver unbinding.
* Code paths exclusive to architectures other than the target architecture.
================================================================================
3. WHEN TO RETURN WorthFuzzing=true (POSITIVE CRITERIA)
================================================================================
Return WorthFuzzing=true whenever the patch touches reachable executable code, including:
- Core Subsystems:
* Any logic modifications in memory management (mm/), synchronization/locking (kernel/locking/),
BPF, scheduler, core networking, VFS, or syscall handling.
- Refactorings and Code Cleanups:
* Any restructuring of reachable data structures, helper abstractions, or algorithm flows.
- Runtime Assertions and Defensive Checks:
* Any introduction or alteration of assertions (WARN_ON*, VM_WARN_ON*, BUG_ON*, etc.) in reachable paths.
- Reachable Drivers and Protocols:
* Drivers accessible via virtual buses (virtio, USB gadget, loopback, netlink, binder, sockets, etc.).
================================================================================
4. EXTRACTING FocusSymbols (PREVENTING DILUTION)
================================================================================
When WorthFuzzing=true, you must extract specific kernel functions into FocusSymbols to guide the fuzzer:
- AVOID UBIQUITOUS LIFECYCLE HOT-PATHS:
Do NOT list generic, ubiquitous functions called by almost every program in the corpus
(including, but not limited to: general memory allocators and deallocators, page fault
and trap handlers, or core synchronization primitives; this is not an exhaustive list).
Listing ubiquitous functions causes the fuzzer to classify thousands of unrelated tests as "focused",
which severely dilutes fuzzing effort away from the actual changes.
- TARGET SPECIFIC FEATURE LOGIC AND ENTRYPOINTS:
List functions that specifically implement the logic being added or altered, or direct API entrypoints
for the subsystem feature under review.
- HANDLING STATIC INLINE FUNCTIONS IN HEADERS (.h):
Compiler-inlined static functions (such as static inlines in mm/*.h or include/linux/*.h) lack
distinct symbol addresses in vmlinux and cannot be targeted directly by symbol coverage filters.
If the changes are primarily in static inline helpers, identify non-static, feature-specific caller
functions in .c files that exercise them (avoiding ubiquitous lifecycle wrappers).
================================================================================
5. IDENTIFYING EnableConfigs
================================================================================
Identify any specific CONFIG_ options required to properly compile and reach the modified code:
- Inspect Kconfig files and #ifdef guards; do not make assumptions.
- Check "depends on" lines in Kconfig to include any non-standard parent subsystem configs needed.
- Strip any 'CONFIG_' prefix (e.g., return "NET_IPV4" instead of "CONFIG_NET_IPV4").
Prefer calling several tools at the same time to save round-trips.
Use set-results tool to provide results of the analysis.
It must be called exactly once before the final reply.
Ignore results of this tool.
Prompt: Target architecture: amd64
For your convenience, here is the diff of the changes:
commit 77ca9d293ab80c87c7548920c853d1a7cf51ab49
Author: syz-cluster <triage@syzkaller.com>
Date: Fri Sep 11 16:20:05 2026 +0000
syz-cluster: applied patch under review
diff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst
index 07c834433b388..75ff1142c1857 100644
--- a/tools/testing/selftests/bpf/README.rst
+++ b/tools/testing/selftests/bpf/README.rst
@@ -187,7 +187,7 @@ The symptom for ``bpf_iter/netlink`` looks like
...
15: (bf) r2 = r7
16: (0f) r2 += r1
- ; BPF_SEQ_PRINTF(seq, "%pK %-3d ", s, s->sk_protocol);
+ ; BPF_SEQ_PRINTF(seq, "%p %-3d ", s, s->sk_protocol);
17: (7b) *(u64 *)(r7 +0) = r2
only read is supported
diff --git a/tools/testing/selftests/bpf/prog_tests/snprintf.c b/tools/testing/selftests/bpf/prog_tests/snprintf.c
index 4e4a82d54f799..f2cd442c4683c 100644
--- a/tools/testing/selftests/bpf/prog_tests/snprintf.c
+++ b/tools/testing/selftests/bpf/prog_tests/snprintf.c
@@ -16,7 +16,7 @@
#define MIN_SYM_RET sizeof(EXP_SYM_OUT)
/* The third specifier, %p, is a hashed pointer which changes on every reboot */
-#define EXP_ADDR_OUT "0000000000000000 ffff00000add4e55 "
+#define EXP_ADDR_OUT "ffff00000add4e55 "
#define EXP_ADDR_RET sizeof(EXP_ADDR_OUT "unknownhashedptr")
#define EXP_STR_OUT "str1 a b c d e longstr"
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c
index 00b2ceae81fb0..b9107d3ab6039 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_netlink.c
@@ -25,12 +25,12 @@ int dump_netlink(struct bpf_iter__netlink *ctx)
return 0;
if (ctx->meta->seq_num == 0)
- BPF_SEQ_PRINTF(seq, "sk Eth Pid Groups "
+ BPF_SEQ_PRINTF(seq, "sk Eth Pid Groups "
"Rmem Wmem Dump Locks Drops "
"Inode\n");
s = &nlk->sk;
- BPF_SEQ_PRINTF(seq, "%pK %-3d ", s, s->sk_protocol);
+ BPF_SEQ_PRINTF(seq, "0 %-3d ", s->sk_protocol);
if (!nlk->groups) {
group = 0;
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
index b1e509b231cd9..d149cf0d07be6 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp4.c
@@ -131,8 +131,7 @@ static int dump_tcp_sock(struct seq_file *seq, struct tcp_sock *tp,
icsk->icsk_probes_out,
sock_i_ino(sp),
sp->sk_refcnt.refs.counter);
- BPF_SEQ_PRINTF(seq, "%pK %lu %lu %u %u %d\n",
- tp,
+ BPF_SEQ_PRINTF(seq, "0 %lu %lu %u %u %d\n",
jiffies_to_clock_t(icsk->icsk_rto),
jiffies_to_clock_t(icsk->icsk_ack.ato),
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(icsk),
@@ -161,10 +160,10 @@ static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,
BPF_SEQ_PRINTF(seq, "%4d: %08X:%04X %08X:%04X ",
seq_num, src, srcp, dest, destp);
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n",
tw->tw_substate, 0, 0,
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
- tw->tw_refcnt.refs.counter, tw);
+ tw->tw_refcnt.refs.counter);
return 0;
}
@@ -185,9 +184,9 @@ static int dump_req_sock(struct seq_file *seq, struct tcp_request_sock *treq,
seq_num, irsk->ir_loc_addr,
irsk->ir_num, irsk->ir_rmt_addr,
bpf_ntohs(irsk->ir_rmt_port));
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n",
TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd),
- req->num_timeout, uid, 0, 0, 0, req);
+ req->num_timeout, uid, 0, 0, 0);
return 0;
}
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
index dbc7166aee91f..cd65fa81f1219 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_tcp6.c
@@ -135,8 +135,7 @@ static int dump_tcp6_sock(struct seq_file *seq, struct tcp6_sock *tp,
icsk->icsk_probes_out,
sock_i_ino(sp),
sp->sk_refcnt.refs.counter);
- BPF_SEQ_PRINTF(seq, "%pK %lu %lu %u %u %d\n",
- tp,
+ BPF_SEQ_PRINTF(seq, "0 %lu %lu %u %u %d\n",
jiffies_to_clock_t(icsk->icsk_rto),
jiffies_to_clock_t(icsk->icsk_ack.ato),
(icsk->icsk_ack.quick << 1) | inet_csk_in_pingpong_mode(icsk),
@@ -170,10 +169,10 @@ static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,
dest->s6_addr32[0], dest->s6_addr32[1],
dest->s6_addr32[2], dest->s6_addr32[3], destp);
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n",
tw->tw_substate, 0, 0,
3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0,
- tw->tw_refcnt.refs.counter, tw);
+ tw->tw_refcnt.refs.counter);
return 0;
}
@@ -201,9 +200,9 @@ static int dump_req_sock(struct seq_file *seq, struct tcp_request_sock *treq,
dest->s6_addr32[0], dest->s6_addr32[1],
dest->s6_addr32[2], dest->s6_addr32[3],
bpf_ntohs(irsk->ir_rmt_port));
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d 0\n",
TCP_SYN_RECV, 0, 0, 1, jiffies_to_clock_t(ttd),
- req->num_timeout, uid, 0, 0, 0, req);
+ req->num_timeout, uid, 0, 0, 0);
return 0;
}
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c
index 23b2aa2604de2..9b789f09f1462 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp4.c
@@ -57,13 +57,13 @@ int dump_udp4(struct bpf_iter__udp *ctx)
BPF_SEQ_PRINTF(seq, "%5d: %08X:%04X %08X:%04X ",
ctx->bucket, src, srcp, dest, destp);
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %u\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d %u\n",
inet->sk.sk_state,
inet->sk.sk_wmem_alloc.refs.counter - 1,
rqueue,
0, 0L, 0, ctx->uid, 0,
sock_i_ino(&inet->sk),
- inet->sk.sk_refcnt.refs.counter, udp_sk,
+ inet->sk.sk_refcnt.refs.counter, 0,
udp_sk->drop_counters.drops0.counter +
udp_sk->drop_counters.drops1.counter);
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c
index c48b05aa2a4b2..9766eff7069ff 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_udp6.c
@@ -65,13 +65,13 @@ int dump_udp6(struct bpf_iter__udp *ctx)
dest->s6_addr32[0], dest->s6_addr32[1],
dest->s6_addr32[2], dest->s6_addr32[3], destp);
- BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %u\n",
+ BPF_SEQ_PRINTF(seq, "%02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %8d %u\n",
inet->sk.sk_state,
inet->sk.sk_wmem_alloc.refs.counter - 1,
rqueue,
0, 0L, 0, ctx->uid, 0,
sock_i_ino(&inet->sk),
- inet->sk.sk_refcnt.refs.counter, udp_sk,
+ inet->sk.sk_refcnt.refs.counter, 0,
udp_sk->drop_counters.drops0.counter +
udp_sk->drop_counters.drops1.counter);
return 0;
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c
index a2652c8c3616f..36690478992f8 100644
--- a/tools/testing/selftests/bpf/progs/bpf_iter_unix.c
+++ b/tools/testing/selftests/bpf/progs/bpf_iter_unix.c
@@ -44,8 +44,7 @@ int dump_unix(struct bpf_iter__unix *ctx)
if (seq_num == 0)
BPF_SEQ_PRINTF(seq, "Num RefCount Protocol Flags Type St Inode Path\n");
- BPF_SEQ_PRINTF(seq, "%pK: %08X %08X %08X %04X %02X %8lu",
- unix_sk,
+ BPF_SEQ_PRINTF(seq, "%08u: %08X %08X %08X %04X %02X %8lu", 0,
sk->sk_refcnt.refs.counter,
0,
sk->sk_state == TCP_LISTEN ? __SO_ACCEPTCON : 0,
diff --git a/tools/testing/selftests/bpf/progs/test_snprintf.c b/tools/testing/selftests/bpf/progs/test_snprintf.c
index 8fda075440235..48a0025cf2ca8 100644
--- a/tools/testing/selftests/bpf/progs/test_snprintf.c
+++ b/tools/testing/selftests/bpf/progs/test_snprintf.c
@@ -57,8 +57,8 @@ int handler(const void *ctx)
sym_ret = BPF_SNPRINTF(sym_out, sizeof(sym_out), "%ps %pS %pB",
&schedule, &schedule, &schedule);
/* Kernel pointers */
- addr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), "%pK %px %p",
- 0, 0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55);
+ addr_ret = BPF_SNPRINTF(addr_out, sizeof(addr_out), "%px %p",
+ 0xFFFF00000ADD4E55, 0xFFFF00000ADD4E55);
/* Strings and single-byte character embedding */
str_ret = BPF_SNPRINTF(str_out, sizeof(str_out), "%s % 9c %+2c %-3c %04c %0c %+05s",
str1, 'a', 'b', 'c', 'd', 'e', longstr);
|
| 3/2 | 2026/09/11 16:20 | llm | patch-evaluator |
0mModel:gemini-3.8-flash Args: null Results: null Tokens: input: 7223 output: 22 thoughts: 438 Thoughts: **WorthFuzzing=False Decision** Okay, let's break this down. First, I need to meticulously examine the diff. Right away, I see the changes are confined to the `tools/testing/selftests/bpf/` directory. The specific files modified are `README.rst`, `snprintf.c`, and a series of programs related to `bpf_iter` for various network protocols (TCP4, TCP6, UDP4, UDP6, Unix sockets), along with a `test_snprintf.c`. Now, I'm going to apply the negative criteria from Section 2. The critical question: do these changes fall into the "Non-kernel and non-executable changes" category? Specifically, are these modifications to user-space directories, self-tests, samples, or scripts that *don't* affect the compiled kernel image? Looking at the context, this is pretty clear cut. The changes are all within the `tools/testing/selftests/bpf/` directory. These are user-space BPF self-tests. They are not touching any kernel code, vmlinux, or kernel modules. I'll do a final quick check to ensure there are no surprises elsewhere in the HEAD commit. However, based on the identified files, it's a straightforward decision. **WorthFuzzing = False.** |
| 4/2 | 2026/09/11 16:20 | tool | grepper |
0mArgs:{
"Expression": ".*",
"PathPrefix": "kernel"
}Results: {
"Output": "\nFull output is too long, showing 500 out of 580421 lines.\nUse more precise expression if possible.\n\nkernel/.gitignore:1:# SPDX-License-Identifier: GPL-2.0-only\nkernel/.gitignore:2:/config_data\nkernel/.gitignore:3:/kheaders.md5\nkernel/.gitignore:4:/kheaders-objlist\nkernel/.gitignore:5:/kheaders-srclist\n--\nkernel/Kconfig.freezer:1:# SPDX-License-Identifier: GPL-2.0-only\nkernel/Kconfig.freezer:2:config FREEZER\nkernel/Kconfig.freezer:3:\tdef_bool PM_SLEEP || CGROUP_FREEZER\n--\nkernel/Kconfig.hz:1:# SPDX-License-Identifier: GPL-2.0-only\nkernel/Kconfig.hz:2:#\nkernel/Kconfig.hz:3:# Timer Interrupt Frequency Configuration\nkernel/Kconfig.hz:4:#\nkernel/Kconfig.hz:5:\nkernel/Kconfig.hz:6:choice\nkernel/Kconfig.hz:7:\tprompt \"Timer frequency\"\nkernel/Kconfig.hz:8:\tdefault HZ_250\nkernel/Kconfig.hz:9:\thelp\nkernel/Kconfig.hz:10:\t Allows the configuration of the timer frequency. It is customary\nkernel/Kconfig.hz:11:\t to have the timer interrupt run at 1000 Hz but 100 Hz may be more\nkernel/Kconfig.hz:12:\t beneficial for servers and NUMA systems that do not need to have\nkernel/Kconfig.hz:13:\t a fast response for user interaction and that may experience bus\nkernel/Kconfig.hz:14:\t contention and cacheline bounces as a result of timer interrupts.\nkernel/Kconfig.hz:15:\t Note that the timer interrupt occurs on each processor in an SMP\nkernel/Kconfig.hz:16:\t environment leading to NR_CPUS * HZ number of timer interrupts\nkernel/Kconfig.hz:17:\t per second.\nkernel/Kconfig.hz:18:\nkernel/Kconfig.hz:19:\nkernel/Kconfig.hz:20:\tconfig HZ_100\nkernel/Kconfig.hz:21:\t\tbool \"100 HZ\"\nkernel/Kconfig.hz:22:\thelp\nkernel/Kconfig.hz:23:\t 100 Hz is a typical choice for servers, SMP and NUMA systems\nkernel/Kconfig.hz:24:\t with lots of processors that may show reduced performance if\nkernel/Kconfig.hz:25:\t too many timer interrupts are occurring.\nkernel/Kconfig.hz:26:\nkernel/Kconfig.hz:27:\tconfig HZ_250\nkernel/Kconfig.hz:28:\t\tbool \"250 HZ\"\nkernel/Kconfig.hz:29:\thelp\nkernel/Kconfig.hz:30:\t 250 Hz is a good compromise choice allowing server performance\nkernel/Kconfig.hz:31:\t while also showing good interactive responsiveness even\nkernel/Kconfig.hz:32:\t on SMP and NUMA systems. If you are going to be using NTSC video\nkernel/Kconfig.hz:33:\t or multimedia, select 300Hz instead.\nkernel/Kconfig.hz:34:\nkernel/Kconfig.hz:35:\tconfig HZ_300\nkernel/Kconfig.hz:36:\t\tbool \"300 HZ\"\nkernel/Kconfig.hz:37:\thelp\nkernel/Kconfig.hz:38:\t 300 Hz is a good compromise choice allowing server performance\nkernel/Kconfig.hz:39:\t while also showing good interactive responsiveness even\nkernel/Kconfig.hz:40:\t on SMP and NUMA systems and exactly dividing by both PAL and\nkernel/Kconfig.hz:41:\t NTSC frame rates for video and multimedia work.\nkernel/Kconfig.hz:42:\nkernel/Kconfig.hz:43:\tconfig HZ_1000\nkernel/Kconfig.hz:44:\t\tbool \"1000 HZ\"\nkernel/Kconfig.hz:45:\thelp\nkernel/Kconfig.hz:46:\t 1000 Hz is the preferred choice for desktop systems and other\nkernel/Kconfig.hz:47:\t systems requiring fast interactive responses to events.\nkernel/Kconfig.hz:48:\nkernel/Kconfig.hz:49:endchoice\nkernel/Kconfig.hz:50:\nkernel/Kconfig.hz:51:config HZ\nkernel/Kconfig.hz:52:\tint\nkernel/Kconfig.hz:53:\tdefault 100 if HZ_100\nkernel/Kconfig.hz:54:\tdefault 250 if HZ_250\nkernel/Kconfig.hz:55:\tdefault 300 if HZ_300\nkernel/Kconfig.hz:56:\tdefault 1000 if HZ_1000\nkernel/Kconfig.hz:57:\nkernel/Kconfig.hz:58:config SCHED_HRTICK\nkernel/Kconfig.hz:59:\tdef_bool HIGH_RES_TIMERS\n--\nkernel/Kconfig.kexec:1:# SPDX-License-Identifier: GPL-2.0-only\nkernel/Kconfig.kexec:2:\nkernel/Kconfig.kexec:3:menu \"Kexec and crash features\"\nkernel/Kconfig.kexec:4:\nkernel/Kconfig.kexec:5:config CRASH_RESERVE\nkernel/Kconfig.kexec:6:\tbool\nkernel/Kconfig.kexec:7:\nkernel/Kconfig.kexec:8:config VMCORE_INFO\nkernel/Kconfig.kexec:9:\tbool\nkernel/Kconfig.kexec:10:\nkernel/Kconfig.kexec:11:config KEXEC_CORE\nkernel/Kconfig.kexec:12:\tbool\nkernel/Kconfig.kexec:13:\nkernel/Kconfig.kexec:14:config KEXEC_ELF\nkernel/Kconfig.kexec:15:\tbool\nkernel/Kconfig.kexec:16:\nkernel/Kconfig.kexec:17:config HAVE_IMA_KEXEC\nkernel/Kconfig.kexec:18:\tbool\nkernel/Kconfig.kexec:19:\nkernel/Kconfig.kexec:20:config KEXEC\nkernel/Kconfig.kexec:21:\tbool \"Enable kexec system call\"\nkernel/Kconfig.kexec:22:\tdepends on ARCH_SUPPORTS_KEXEC\nkernel/Kconfig.kexec:23:\tselect KEXEC_CORE\nkernel/Kconfig.kexec:24:\thelp\nkernel/Kconfig.kexec:25:\t kexec is a system call that implements the ability to shutdown your\nkernel/Kconfig.kexec:26:\t current kernel, and to start another kernel. It is like a reboot\nkernel/Kconfig.kexec:27:\t but it is independent of the system firmware. And like a reboot\nkernel/Kconfig.kexec:28:\t you can start any kernel with it, not just Linux.\nkernel/Kconfig.kexec:29:\nkernel/Kconfig.kexec:30:\t The name comes from the similarity to the exec system call.\nkernel/Kconfig.kexec:31:\nkernel/Kconfig.kexec:32:\t It is an ongoing process to be certain the hardware in a machine\nkernel/Kconfig.kexec:33:\t is properly shutdown, so do not be surprised if this code does not\nkernel/Kconfig.kexec:34:\t initially work for you. As of this writing the exact hardware\nkernel/Kconfig.kexec:35:\t interface is strongly in flux, so no good recommendation can be\nkernel/Kconfig.kexec:36:\t made.\nkernel/Kconfig.kexec:37:\nkernel/Kconfig.kexec:38:config KEXEC_FILE\nkernel/Kconfig.kexec:39:\tbool \"Enable kexec file based system call\"\nkernel/Kconfig.kexec:40:\tdepends on ARCH_SUPPORTS_KEXEC_FILE\nkernel/Kconfig.kexec:41:\tselect CRYPTO_LIB_SHA256\nkernel/Kconfig.kexec:42:\tselect KEXEC_CORE\nkernel/Kconfig.kexec:43:\thelp\nkernel/Kconfig.kexec:44:\t This is new version of kexec system call. This system call is\nkernel/Kconfig.kexec:45:\t file based and takes file descriptors as system call argument\nkernel/Kconfig.kexec:46:\t for kernel and initramfs as opposed to list of segments as\nkernel/Kconfig.kexec:47:\t accepted by kexec system call.\nkernel/Kconfig.kexec:48:\nkernel/Kconfig.kexec:49:config KEXEC_SIG\nkernel/Kconfig.kexec:50:\tbool \"Verify kernel signature during kexec_file_load() syscall\"\nkernel/Kconfig.kexec:51:\tdepends on ARCH_SUPPORTS_KEXEC_SIG\nkernel/Kconfig.kexec:52:\tdepends on KEXEC_FILE\nkernel/Kconfig.kexec:53:\thelp\nkernel/Kconfig.kexec:54:\t This option makes the kexec_file_load() syscall check for a valid\nkernel/Kconfig.kexec:55:\t signature of the kernel image. The image can still be loaded without\nkernel/Kconfig.kexec:56:\t a valid signature unless you also enable KEXEC_SIG_FORCE, though if\nkernel/Kconfig.kexec:57:\t there's a signature that we can check, then it must be valid.\nkernel/Kconfig.kexec:58:\nkernel/Kconfig.kexec:59:\t In addition to this option, you need to enable signature\nkernel/Kconfig.kexec:60:\t verification for the corresponding kernel image type being\nkernel/Kconfig.kexec:61:\t loaded in order for this to work.\nkernel/Kconfig.kexec:62:\nkernel/Kconfig.kexec:63:config KEXEC_SIG_FORCE\nkernel/Kconfig.kexec:64:\tbool \"Require a valid signature in kexec_file_load() syscall\"\nkernel/Kconfig.kexec:65:\tdepends on ARCH_SUPPORTS_KEXEC_SIG_FORCE\nkernel/Kconfig.kexec:66:\tdepends on KEXEC_SIG\nkernel/Kconfig.kexec:67:\thelp\nkernel/Kconfig.kexec:68:\t This option makes kernel signature verification mandatory for\nkernel/Kconfig.kexec:69:\t the kexec_file_load() syscall.\nkernel/Kconfig.kexec:70:\nkernel/Kconfig.kexec:71:config KEXEC_IMAGE_VERIFY_SIG\nkernel/Kconfig.kexec:72:\tbool \"Enable Image signature verification support (ARM)\"\nkernel/Kconfig.kexec:73:\tdefault ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG\nkernel/Kconfig.kexec:74:\tdepends on ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG\nkernel/Kconfig.kexec:75:\tdepends on KEXEC_SIG\nkernel/Kconfig.kexec:76:\tdepends on EFI \u0026\u0026 SIGNED_PE_FILE_VERIFICATION\nkernel/Kconfig.kexec:77:\thelp\nkernel/Kconfig.kexec:78:\t Enable Image signature verification support.\nkernel/Kconfig.kexec:79:\nkernel/Kconfig.kexec:80:config KEXEC_BZIMAGE_VERIFY_SIG\nkernel/Kconfig.kexec:81:\tbool \"Enable bzImage signature verification support\"\nkernel/Kconfig.kexec:82:\tdepends on ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG\nkernel/Kconfig.kexec:83:\tdepends on KEXEC_SIG\nkernel/Kconfig.kexec:84:\tdepends on SIGNED_PE_FILE_VERIFICATION\nkernel/Kconfig.kexec:85:\tselect SYSTEM_TRUSTED_KEYRING\nkernel/Kconfig.kexec:86:\thelp\nkernel/Kconfig.kexec:87:\t Enable bzImage signature verification support.\nkernel/Kconfig.kexec:88:\nkernel/Kconfig.kexec:89:config KEXEC_JUMP\nkernel/Kconfig.kexec:90:\tbool \"kexec jump\"\nkernel/Kconfig.kexec:91:\tdepends on ARCH_SUPPORTS_KEXEC_JUMP\nkernel/Kconfig.kexec:92:\tdepends on KEXEC \u0026\u0026 HIBERNATION\nkernel/Kconfig.kexec:93:\thelp\nkernel/Kconfig.kexec:94:\t Jump between original kernel and kexeced kernel and invoke\nkernel/Kconfig.kexec:95:\t code in physical address mode via KEXEC\nkernel/Kconfig.kexec:96:\nkernel/Kconfig.kexec:97:config CRASH_DUMP\nkernel/Kconfig.kexec:98:\tbool \"kernel crash dumps\"\nkernel/Kconfig.kexec:99:\tdefault ARCH_DEFAULT_CRASH_DUMP\nkernel/Kconfig.kexec:100:\tdepends on ARCH_SUPPORTS_CRASH_DUMP\nkernel/Kconfig.kexec:101:\tdepends on KEXEC_CORE\nkernel/Kconfig.kexec:102:\tselect VMCORE_INFO\nkernel/Kconfig.kexec:103:\tselect CRASH_RESERVE\nkernel/Kconfig.kexec:104:\thelp\nkernel/Kconfig.kexec:105:\t Generate crash dump after being started by kexec.\nkernel/Kconfig.kexec:106:\t This should be normally only set in special crash dump kernels\nkernel/Kconfig.kexec:107:\t which are loaded in the main kernel with kexec-tools into\nkernel/Kconfig.kexec:108:\t a specially reserved region and then later executed after\nkernel/Kconfig.kexec:109:\t a crash by kdump/kexec. The crash dump kernel must be compiled\nkernel/Kconfig.kexec:110:\t to a memory address not used by the main kernel or BIOS using\nkernel/Kconfig.kexec:111:\t PHYSICAL_START, or it must be built as a relocatable image\nkernel/Kconfig.kexec:112:\t (CONFIG_RELOCATABLE=y).\nkernel/Kconfig.kexec:113:\t For more details see Documentation/admin-guide/kdump/kdump.rst\nkernel/Kconfig.kexec:114:\nkernel/Kconfig.kexec:115:\t For s390, this option also enables zfcpdump.\nkernel/Kconfig.kexec:116:\t See also \u003cfile:Documentation/arch/s390/zfcpdump.rst\u003e\nkernel/Kconfig.kexec:117:\nkernel/Kconfig.kexec:118:config CRASH_DM_CRYPT\nkernel/Kconfig.kexec:119:\tbool \"Support saving crash dump to dm-crypt encrypted volume\"\nkernel/Kconfig.kexec:120:\tdepends on KEXEC_FILE\nkernel/Kconfig.kexec:121:\tdepends on CRASH_DUMP\nkernel/Kconfig.kexec:122:\tdepends on DM_CRYPT\nkernel/Kconfig.kexec:123:\tdepends on KEYS\nkernel/Kconfig.kexec:124:\thelp\nkernel/Kconfig.kexec:125:\t With this option enabled, user space can intereact with\nkernel/Kconfig.kexec:126:\t /sys/kernel/config/crash_dm_crypt_keys to make the dm crypt keys\nkernel/Kconfig.kexec:127:\t persistent for the dump-capture kernel.\nkernel/Kconfig.kexec:128:\nkernel/Kconfig.kexec:129:config CRASH_DM_CRYPT_CONFIGS\nkernel/Kconfig.kexec:130:\tdef_tristate CRASH_DM_CRYPT\nkernel/Kconfig.kexec:131:\tselect CONFIGFS_FS\nkernel/Kconfig.kexec:132:\thelp\nkernel/Kconfig.kexec:133:\t CRASH_DM_CRYPT cannot directly select CONFIGFS_FS, because that\nkernel/Kconfig.kexec:134:\t is required to be built-in.\nkernel/Kconfig.kexec:135:\nkernel/Kconfig.kexec:136:config CRASH_DUMP_KUNIT_TEST\nkernel/Kconfig.kexec:137:\ttristate \"Unit Tests for kernel crash dumps\" if !KUNIT_ALL_TESTS\nkernel/Kconfig.kexec:138:\tdepends on CRASH_DUMP \u0026\u0026 KUNIT\nkernel/Kconfig.kexec:139:\tdefault KUNIT_ALL_TESTS\nkernel/Kconfig.kexec:140:\thelp\nkernel/Kconfig.kexec:141:\t This option builds KUnit unit tests for kernel crash dumps. The unit\nkernel/Kconfig.kexec:142:\t tests will be used to verify the correctness of covered functions and\nkernel/Kconfig.kexec:143:\t also prevent any regression.\nkernel/Kconfig.kexec:144:\nkernel/Kconfig.kexec:145:\t If unsure, say N.\nkernel/Kconfig.kexec:146:\nkernel/Kconfig.kexec:147:config CRASH_HOTPLUG\nkernel/Kconfig.kexec:148:\tbool \"Update the crash elfcorehdr on system configuration changes\"\nkernel/Kconfig.kexec:149:\tdefault y\nkernel/Kconfig.kexec:150:\tdepends on CRASH_DUMP \u0026\u0026 (HOTPLUG_CPU || MEMORY_HOTPLUG)\nkernel/Kconfig.kexec:151:\tdepends on ARCH_SUPPORTS_CRASH_HOTPLUG\nkernel/Kconfig.kexec:152:\thelp\nkernel/Kconfig.kexec:153:\t Enable direct update to the crash elfcorehdr (which contains\nkernel/Kconfig.kexec:154:\t the list of CPUs and memory regions to be dumped upon a crash)\nkernel/Kconfig.kexec:155:\t in response to hot plug/unplug or online/offline of CPUs or\nkernel/Kconfig.kexec:156:\t memory. This is a much more advanced approach than userspace\nkernel/Kconfig.kexec:157:\t attempting that.\nkernel/Kconfig.kexec:158:\nkernel/Kconfig.kexec:159:\t If unsure, say Y.\nkernel/Kconfig.kexec:160:\nkernel/Kconfig.kexec:161:config CRASH_MAX_MEMORY_RANGES\nkernel/Kconfig.kexec:162:\tint \"Specify the maximum number of memory regions for the elfcorehdr\"\nkernel/Kconfig.kexec:163:\tdefault 8192\nkernel/Kconfig.kexec:164:\tdepends on CRASH_HOTPLUG\nkernel/Kconfig.kexec:165:\thelp\nkernel/Kconfig.kexec:166:\t For the kexec_file_load() syscall path, specify the maximum number of\nkernel/Kconfig.kexec:167:\t memory regions that the elfcorehdr buffer/segment can accommodate.\nkernel/Kconfig.kexec:168:\t These regions are obtained via walk_system_ram_res(); eg. the\nkernel/Kconfig.kexec:169:\t 'System RAM' entries in /proc/iomem.\nkernel/Kconfig.kexec:170:\t This value is combined with NR_CPUS_DEFAULT and multiplied by\nkernel/Kconfig.kexec:171:\t sizeof(Elf64_Phdr) to determine the final elfcorehdr memory buffer/\nkernel/Kconfig.kexec:172:\t segment size.\nkernel/Kconfig.kexec:173:\t The value 8192, for example, covers a (sparsely populated) 1TiB system\nkernel/Kconfig.kexec:174:\t consisting of 128MiB memblocks, while resulting in an elfcorehdr\nkernel/Kconfig.kexec:175:\t memory buffer/segment size under 1MiB. This represents a sane choice\nkernel/Kconfig.kexec:176:\t to accommodate both baremetal and virtual machine configurations.\nkernel/Kconfig.kexec:177:\nkernel/Kconfig.kexec:178:\t For the kexec_load() syscall path, CRASH_MAX_MEMORY_RANGES is part of\nkernel/Kconfig.kexec:179:\t the computation behind the value provided through the\nkernel/Kconfig.kexec:180:\t /sys/kernel/crash_elfcorehdr_size attribute.\nkernel/Kconfig.kexec:181:\nkernel/Kconfig.kexec:182:endmenu\n--\nkernel/Kconfig.locks:1:# SPDX-License-Identifier: GPL-2.0-only\nkernel/Kconfig.locks:2:#\nkernel/Kconfig.locks:3:# The ARCH_INLINE foo is necessary because select ignores \"depends on\"\nkernel/Kconfig.locks:4:#\nkernel/Kconfig.locks:5:config ARCH_INLINE_SPIN_TRYLOCK\nkernel/Kconfig.locks:6:\tbool\nkernel/Kconfig.locks:7:\nkernel/Kconfig.locks:8:config ARCH_INLINE_SPIN_TRYLOCK_BH\nkernel/Kconfig.locks:9:\tbool\nkernel/Kconfig.locks:10:\nkernel/Kconfig.locks:11:config ARCH_INLINE_SPIN_LOCK\nkernel/Kconfig.locks:12:\tbool\nkernel/Kconfig.locks:13:\nkernel/Kconfig.locks:14:config ARCH_INLINE_SPIN_LOCK_BH\nkernel/Kconfig.locks:15:\tbool\nkernel/Kconfig.locks:16:\nkernel/Kconfig.locks:17:config ARCH_INLINE_SPIN_LOCK_IRQ\nkernel/Kconfig.locks:18:\tbool\nkernel/Kconfig.locks:19:\nkernel/Kconfig.locks:20:config ARCH_INLINE_SPIN_LOCK_IRQSAVE\nkernel/Kconfig.locks:21:\tbool\nkernel/Kconfig.locks:22:\nkernel/Kconfig.locks:23:config ARCH_INLINE_SPIN_UNLOCK\nkernel/Kconfig.locks:24:\tbool\nkernel/Kconfig.locks:25:\nkernel/Kconfig.locks:26:config ARCH_INLINE_SPIN_UNLOCK_BH\nkernel/Kconfig.locks:27:\tbool\nkernel/Kconfig.locks:28:\nkernel/Kconfig.locks:29:config ARCH_INLINE_SPIN_UNLOCK_IRQ\nkernel/Kconfig.locks:30:\tbool\nkernel/Kconfig.locks:31:\nkernel/Kconfig.locks:32:config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:33:\tbool\nkernel/Kconfig.locks:34:\nkernel/Kconfig.locks:35:\nkernel/Kconfig.locks:36:config ARCH_INLINE_READ_TRYLOCK\nkernel/Kconfig.locks:37:\tbool\nkernel/Kconfig.locks:38:\nkernel/Kconfig.locks:39:config ARCH_INLINE_READ_LOCK\nkernel/Kconfig.locks:40:\tbool\nkernel/Kconfig.locks:41:\nkernel/Kconfig.locks:42:config ARCH_INLINE_READ_LOCK_BH\nkernel/Kconfig.locks:43:\tbool\nkernel/Kconfig.locks:44:\nkernel/Kconfig.locks:45:config ARCH_INLINE_READ_LOCK_IRQ\nkernel/Kconfig.locks:46:\tbool\nkernel/Kconfig.locks:47:\nkernel/Kconfig.locks:48:config ARCH_INLINE_READ_LOCK_IRQSAVE\nkernel/Kconfig.locks:49:\tbool\nkernel/Kconfig.locks:50:\nkernel/Kconfig.locks:51:config ARCH_INLINE_READ_UNLOCK\nkernel/Kconfig.locks:52:\tbool\nkernel/Kconfig.locks:53:\nkernel/Kconfig.locks:54:config ARCH_INLINE_READ_UNLOCK_BH\nkernel/Kconfig.locks:55:\tbool\nkernel/Kconfig.locks:56:\nkernel/Kconfig.locks:57:config ARCH_INLINE_READ_UNLOCK_IRQ\nkernel/Kconfig.locks:58:\tbool\nkernel/Kconfig.locks:59:\nkernel/Kconfig.locks:60:config ARCH_INLINE_READ_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:61:\tbool\nkernel/Kconfig.locks:62:\nkernel/Kconfig.locks:63:\nkernel/Kconfig.locks:64:config ARCH_INLINE_WRITE_TRYLOCK\nkernel/Kconfig.locks:65:\tbool\nkernel/Kconfig.locks:66:\nkernel/Kconfig.locks:67:config ARCH_INLINE_WRITE_LOCK\nkernel/Kconfig.locks:68:\tbool\nkernel/Kconfig.locks:69:\nkernel/Kconfig.locks:70:config ARCH_INLINE_WRITE_LOCK_BH\nkernel/Kconfig.locks:71:\tbool\nkernel/Kconfig.locks:72:\nkernel/Kconfig.locks:73:config ARCH_INLINE_WRITE_LOCK_IRQ\nkernel/Kconfig.locks:74:\tbool\nkernel/Kconfig.locks:75:\nkernel/Kconfig.locks:76:config ARCH_INLINE_WRITE_LOCK_IRQSAVE\nkernel/Kconfig.locks:77:\tbool\nkernel/Kconfig.locks:78:\nkernel/Kconfig.locks:79:config ARCH_INLINE_WRITE_UNLOCK\nkernel/Kconfig.locks:80:\tbool\nkernel/Kconfig.locks:81:\nkernel/Kconfig.locks:82:config ARCH_INLINE_WRITE_UNLOCK_BH\nkernel/Kconfig.locks:83:\tbool\nkernel/Kconfig.locks:84:\nkernel/Kconfig.locks:85:config ARCH_INLINE_WRITE_UNLOCK_IRQ\nkernel/Kconfig.locks:86:\tbool\nkernel/Kconfig.locks:87:\nkernel/Kconfig.locks:88:config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:89:\tbool\nkernel/Kconfig.locks:90:\nkernel/Kconfig.locks:91:config UNINLINE_SPIN_UNLOCK\nkernel/Kconfig.locks:92:\tbool\nkernel/Kconfig.locks:93:\nkernel/Kconfig.locks:94:#\nkernel/Kconfig.locks:95:# lock_* functions are inlined when:\nkernel/Kconfig.locks:96:# - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y\nkernel/Kconfig.locks:97:#\nkernel/Kconfig.locks:98:# trylock_* functions are inlined when:\nkernel/Kconfig.locks:99:# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y\nkernel/Kconfig.locks:100:#\nkernel/Kconfig.locks:101:# unlock and unlock_irq functions are inlined when:\nkernel/Kconfig.locks:102:# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y\nkernel/Kconfig.locks:103:# or\nkernel/Kconfig.locks:104:# - DEBUG_SPINLOCK=n and PREEMPTION=n\nkernel/Kconfig.locks:105:#\nkernel/Kconfig.locks:106:# unlock_bh and unlock_irqrestore functions are inlined when:\nkernel/Kconfig.locks:107:# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y\nkernel/Kconfig.locks:108:#\nkernel/Kconfig.locks:109:\nkernel/Kconfig.locks:110:if !DEBUG_SPINLOCK\nkernel/Kconfig.locks:111:\nkernel/Kconfig.locks:112:config INLINE_SPIN_TRYLOCK\nkernel/Kconfig.locks:113:\tdef_bool y\nkernel/Kconfig.locks:114:\tdepends on ARCH_INLINE_SPIN_TRYLOCK\nkernel/Kconfig.locks:115:\nkernel/Kconfig.locks:116:config INLINE_SPIN_TRYLOCK_BH\nkernel/Kconfig.locks:117:\tdef_bool y\nkernel/Kconfig.locks:118:\tdepends on ARCH_INLINE_SPIN_TRYLOCK_BH\nkernel/Kconfig.locks:119:\nkernel/Kconfig.locks:120:config INLINE_SPIN_LOCK\nkernel/Kconfig.locks:121:\tdef_bool y\nkernel/Kconfig.locks:122:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_SPIN_LOCK\nkernel/Kconfig.locks:123:\nkernel/Kconfig.locks:124:config INLINE_SPIN_LOCK_BH\nkernel/Kconfig.locks:125:\tdef_bool y\nkernel/Kconfig.locks:126:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_SPIN_LOCK_BH\nkernel/Kconfig.locks:127:\nkernel/Kconfig.locks:128:config INLINE_SPIN_LOCK_IRQ\nkernel/Kconfig.locks:129:\tdef_bool y\nkernel/Kconfig.locks:130:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_SPIN_LOCK_IRQ\nkernel/Kconfig.locks:131:\nkernel/Kconfig.locks:132:config INLINE_SPIN_LOCK_IRQSAVE\nkernel/Kconfig.locks:133:\tdef_bool y\nkernel/Kconfig.locks:134:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_SPIN_LOCK_IRQSAVE\nkernel/Kconfig.locks:135:\nkernel/Kconfig.locks:136:config INLINE_SPIN_UNLOCK_BH\nkernel/Kconfig.locks:137:\tdef_bool y\nkernel/Kconfig.locks:138:\tdepends on ARCH_INLINE_SPIN_UNLOCK_BH\nkernel/Kconfig.locks:139:\nkernel/Kconfig.locks:140:config INLINE_SPIN_UNLOCK_IRQ\nkernel/Kconfig.locks:141:\tdef_bool y\nkernel/Kconfig.locks:142:\tdepends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ\nkernel/Kconfig.locks:143:\nkernel/Kconfig.locks:144:config INLINE_SPIN_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:145:\tdef_bool y\nkernel/Kconfig.locks:146:\tdepends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:147:\nkernel/Kconfig.locks:148:\nkernel/Kconfig.locks:149:config INLINE_READ_TRYLOCK\nkernel/Kconfig.locks:150:\tdef_bool y\nkernel/Kconfig.locks:151:\tdepends on ARCH_INLINE_READ_TRYLOCK\nkernel/Kconfig.locks:152:\nkernel/Kconfig.locks:153:config INLINE_READ_LOCK\nkernel/Kconfig.locks:154:\tdef_bool y\nkernel/Kconfig.locks:155:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_READ_LOCK\nkernel/Kconfig.locks:156:\nkernel/Kconfig.locks:157:config INLINE_READ_LOCK_BH\nkernel/Kconfig.locks:158:\tdef_bool y\nkernel/Kconfig.locks:159:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_READ_LOCK_BH\nkernel/Kconfig.locks:160:\nkernel/Kconfig.locks:161:config INLINE_READ_LOCK_IRQ\nkernel/Kconfig.locks:162:\tdef_bool y\nkernel/Kconfig.locks:163:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_READ_LOCK_IRQ\nkernel/Kconfig.locks:164:\nkernel/Kconfig.locks:165:config INLINE_READ_LOCK_IRQSAVE\nkernel/Kconfig.locks:166:\tdef_bool y\nkernel/Kconfig.locks:167:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_READ_LOCK_IRQSAVE\nkernel/Kconfig.locks:168:\nkernel/Kconfig.locks:169:config INLINE_READ_UNLOCK\nkernel/Kconfig.locks:170:\tdef_bool y\nkernel/Kconfig.locks:171:\tdepends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK\nkernel/Kconfig.locks:172:\nkernel/Kconfig.locks:173:config INLINE_READ_UNLOCK_BH\nkernel/Kconfig.locks:174:\tdef_bool y\nkernel/Kconfig.locks:175:\tdepends on ARCH_INLINE_READ_UNLOCK_BH\nkernel/Kconfig.locks:176:\nkernel/Kconfig.locks:177:config INLINE_READ_UNLOCK_IRQ\nkernel/Kconfig.locks:178:\tdef_bool y\nkernel/Kconfig.locks:179:\tdepends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ\nkernel/Kconfig.locks:180:\nkernel/Kconfig.locks:181:config INLINE_READ_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:182:\tdef_bool y\nkernel/Kconfig.locks:183:\tdepends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:184:\nkernel/Kconfig.locks:185:\nkernel/Kconfig.locks:186:config INLINE_WRITE_TRYLOCK\nkernel/Kconfig.locks:187:\tdef_bool y\nkernel/Kconfig.locks:188:\tdepends on ARCH_INLINE_WRITE_TRYLOCK\nkernel/Kconfig.locks:189:\nkernel/Kconfig.locks:190:config INLINE_WRITE_LOCK\nkernel/Kconfig.locks:191:\tdef_bool y\nkernel/Kconfig.locks:192:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_WRITE_LOCK\nkernel/Kconfig.locks:193:\nkernel/Kconfig.locks:194:config INLINE_WRITE_LOCK_BH\nkernel/Kconfig.locks:195:\tdef_bool y\nkernel/Kconfig.locks:196:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_WRITE_LOCK_BH\nkernel/Kconfig.locks:197:\nkernel/Kconfig.locks:198:config INLINE_WRITE_LOCK_IRQ\nkernel/Kconfig.locks:199:\tdef_bool y\nkernel/Kconfig.locks:200:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_WRITE_LOCK_IRQ\nkernel/Kconfig.locks:201:\nkernel/Kconfig.locks:202:config INLINE_WRITE_LOCK_IRQSAVE\nkernel/Kconfig.locks:203:\tdef_bool y\nkernel/Kconfig.locks:204:\tdepends on !GENERIC_LOCKBREAK \u0026\u0026 ARCH_INLINE_WRITE_LOCK_IRQSAVE\nkernel/Kconfig.locks:205:\nkernel/Kconfig.locks:206:config INLINE_WRITE_UNLOCK\nkernel/Kconfig.locks:207:\tdef_bool y\nkernel/Kconfig.locks:208:\tdepends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK\nkernel/Kconfig.locks:209:\nkernel/Kconfig.locks:210:config INLINE_WRITE_UNLOCK_BH\nkernel/Kconfig.locks:211:\tdef_bool y\nkernel/Kconfig.locks:212:\tdepends on ARCH_INLINE_WRITE_UNLOCK_BH\nkernel/Kconfig.locks:213:\nkernel/Kconfig.locks:214:config INLINE_WRITE_UNLOCK_IRQ\nkernel/Kconfig.locks:215:\tdef_bool y\nkernel/Kconfig.locks:216:\tdepends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ\nkernel/Kconfig.locks:217:\nkernel/Kconfig.locks:218:config INLINE_WRITE_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:219:\tdef_bool y\nkernel/Kconfig.locks:220:\tdepends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE\nkernel/Kconfig.locks:221:\nkernel/Kconfig.locks:222:endif\nkernel/Kconfig.locks:223:\nkernel/Kconfig.locks:224:config ARCH_SUPPORTS_ATOMIC_RMW\nkernel/Kconfig.locks:225:\tbool\nkernel/Kconfig.locks:226:\nkernel/Kconfig.locks:227:config MUTEX_SPIN_ON_OWNER\nkernel/Kconfig.locks:228:\tdef_bool y\nkernel/Kconfig.locks:229:\tdepends on SMP \u0026\u0026 ARCH_SUPPORTS_ATOMIC_RMW\nkernel/Kconfig.locks:230:\nkernel/Kconfig.locks:231:config RWSEM_SPIN_ON_OWNER\nkernel/Kconfig.locks:232: def_bool y\nkernel/Kconfig.locks:233: depends on SMP \u0026\u0026 ARCH_SUPPORTS_ATOMIC_RMW\nkernel/Kconfig.locks:234:\nkernel/Kconfig.locks:235:config LOCK_SPIN_ON_OWNER\nkernel/Kconfig.locks:236: def_bool y\nkernel/Kconfig.locks:237: depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER\nkernel/Kconfig.locks:238:\nkernel/Kconfig.locks:239:config ARCH_USE_QUEUED_SPINLOCKS\nkernel/Kconfig.locks:240:\tbool\nkernel/Kconfig.locks:241:\nkernel/Kconfig.locks:242:config QUEUED_SPINLOCKS\nkernel/Kconfig.locks:243:\tdef_bool y if ARCH_USE_QUEUED_SPINLOCKS\nkernel/Kconfig.locks:244:\tdepends on SMP\nkernel/Kconfig.locks:245:\nkernel/Kconfig.locks:246:config QUEUED_SPINLOCKS_TRACE_CONTENDED_RELEASE\nkernel/Kconfig.locks:247:\tbool \"Trace contended_release on queued spinlocks\"\n\n"
} |
| 5/2 | 2026/09/11 16:20 | llm | patch-evaluator |
0mModel:gemini-3.8-flash Args: null Results: null Tokens: input: 17638 output: 89 thoughts: 659 Thoughts: **Analyzing the Patch for Fuzzing Relevance** Okay, so I'm looking at this diff and immediately see that all the changes are within the `tools/testing/selftests/bpf/` directory. That's a key initial observation. Let's make sure we are not going to waste any time fuzzing something not worth fuzzing, based on the documented criteria, which I know intimately. I'm mentally referencing Section 2 of our internal guidelines regarding fuzzing relevance. My immediate thought is, "this is likely a no-go for fuzzing." The text clearly states that changes in `user-space directories, self-tests, samples, or scripts (e.g., tools/, samples/, scripts/, usr/) that do not affect the compiled kernel image (vmlinux) or kernel modules` are specifically exempted from fuzzing consideration if *all* the changes fit that criteria. Given that all the diffs are in `tools/testing/selftests/bpf/`, which houses user-space BPF self-tests and related files, it's pretty clear that these changes fall squarely within that exemption. None of the files modified affect the kernel image or kernel modules, and hence, based on the definition: * `WorthFuzzing = false` * `FocusSymbols = []` (no specific kernel symbols to target) * `EnableConfigs = []` (no kernel configurations need to be enabled) My reasoning is straightforward: these are changes to BPF *self-tests* and documentation, which live in userspace, and thus don't impact the kernel itself. We don't want to burn cycles or resources where they are not needed. That means no fuzzing is required. Now, I'll go ahead and set the results accordingly. |
| 6/2 | 2026/09/11 16:20 | tool | set-results |
0mArgs:{
"EnableConfigs": [],
"FocusSymbols": [],
"Reasoning": "The patch modifies only BPF selftests and selftest documentation in tools/testing/selftests/bpf/. Because these changes only affect userspace test artifacts and do not alter the compiled kernel image (vmlinux) or kernel modules, they are not worth fuzzing.",
"WorthFuzzing": false
}Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"Reasoning": "The patch modifies only BPF selftests and selftest documentation in tools/testing/selftests/bpf/. Because these changes only affect userspace test artifacts and do not alter the compiled kernel image (vmlinux) or kernel modules, they are not worth fuzzing.",
"WorthFuzzing": false
} |
| 7/1 | 2026/09/11 16:20 | action | If |
0mArgs:{
"WorthFuzzing": false
}Results: null |
| Total Calls | Total Tokens | Avg Tokens | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|
| Total Calls | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|