| Seq | Timestamp | Type | Name | Duration |
|---|---|---|---|---|
| 0/0 | 2026/06/25 08:12 | flow | patch-triage |
0mArgs:null Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"Reasoning": "The patch only modifies selftests (tools/testing/selftests/) and does not make any functional changes to the kernel code itself.",
"WorthFuzzing": false
} |
| 1/1 | 2026/06/25 08:12 | action | read-patch-diff |
0mArgs:null Results: {
"PatchDiff": "commit 1f70ccfc35a3e611e7a4174186f2e229ebac74c1\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate: Thu Jun 25 08:12:55 2026 +0000\n\n syz-cluster: applied patch under review\n\ndiff --git a/tools/testing/selftests/kselftest.h b/tools/testing/selftests/kselftest.h\nindex 60838b61a2da52..7f53751523d892 100644\n--- a/tools/testing/selftests/kselftest.h\n+++ b/tools/testing/selftests/kselftest.h\n@@ -64,6 +64,10 @@\n #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))\n #endif\n \n+#ifndef swap\n+#define swap(a, b) do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)\n+#endif\n+\n #if defined(__i386__) || defined(__x86_64__) /* arch */\n /*\n * gcc cpuid.h provides __cpuid_count() since v4.4.\ndiff --git a/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c b/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c\nindex 15ee8b7bfc114b..514d41f0071417 100644\n--- a/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c\n+++ b/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c\n@@ -131,14 +131,10 @@ static void set_expected_val(void *addr, u64 val, int vcpu_id)\n \n /*\n * Update PTEs swapping two test pages.\n- * TODO: use swap()/xchg() when these are provided.\n */\n static void swap_two_test_pages(gpa_t pte_gva1, gpa_t pte_gva2)\n {\n-\tu64 tmp = *(u64 *)pte_gva1;\n-\n-\t*(u64 *)pte_gva1 = *(u64 *)pte_gva2;\n-\t*(u64 *)pte_gva2 = tmp;\n+\tswap(*(u64 *)pte_gva1, *(u64 *)pte_gva2);\n }\n \n /*\ndiff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selftests/mm/uffd-stress.c\nindex 700fbaa18d44b8..802046e905dd82 100644\n--- a/tools/testing/selftests/mm/uffd-stress.c\n+++ b/tools/testing/selftests/mm/uffd-stress.c\n@@ -56,8 +56,10 @@ static uffd_global_test_opts_t *gopts;\n static char *zeropage;\n pthread_attr_t attr;\n \n+#ifndef swap\n #define swap(a, b) \\\n \tdo { __auto_type __tmp = (a); (a) = (b); (b) = __tmp; } while (0)\n+#endif\n \n const char *examples =\n \t\"# Run anonymous memory test on 100MiB region with 99999 bounces:\\n\"\n"
} |
| 2/1 | 2026/06/25 08:12 | agent | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"Reasoning": "The patch only modifies selftests (tools/testing/selftests/) and does not make any functional changes to the kernel code itself.",
"WorthFuzzing": false
}Instruction: You are an expert Linux kernel maintainer. Your job is to review a provided patch series and determine if it makes functional changes to the kernel that should be fuzzed. IMPORTANT: The changes have ALREADY been applied and committed as the HEAD commit in your workspace. Do NOT rely on your internal knowledge of the kernel. You must actively use your code access tools to examine the actual source code and confirm any assumptions. Return WorthFuzzing=false if the patch only contains: - Modifications to Documentation/, Kconfig files, or code comments. - Purely decorative changes, such as logging (e.g., pr_err, printk) or tracepoints. - Changes to numeric constants or macros that do not functionally alter execution flow. - Code paths that are impossible to reach in virtualized environments like GCE or QEMU, even when utilizing software-emulated hardware (e.g., usb gadget, mac80211_hwsim). If it modifies reachable core kernel logic, drivers, or architectures, use your code search tools to verify the code can be executed, then return WorthFuzzing=true. When returning WorthFuzzing=true, you MUST ALSO: 1. Extract any specific kernel functions that should be heavily fuzzed into FocusSymbols. Avoid listing generic hot-path functions to prevent skewed test distributions. 2. Identify any specific CONFIG_ options required to properly test this new/modified feature. Go and look into the Kconfig files and check for ifdefs around the code, do not make assumptions. Do not list too generic configs (we already have them enabled). Only list those that specifically cover the modified code. List them in the EnableConfigs output array, and DO NOT add a '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: For your convenience, here is the diff of the changes:
commit 1f70ccfc35a3e611e7a4174186f2e229ebac74c1
Author: syz-cluster <triage@syzkaller.com>
Date: Thu Jun 25 08:12:55 2026 +0000
syz-cluster: applied patch under review
diff --git a/tools/testing/selftests/kselftest.h b/tools/testing/selftests/kselftest.h
index 60838b61a2da52..7f53751523d892 100644
--- a/tools/testing/selftests/kselftest.h
+++ b/tools/testing/selftests/kselftest.h
@@ -64,6 +64,10 @@
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#endif
+#ifndef swap
+#define swap(a, b) do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
+#endif
+
#if defined(__i386__) || defined(__x86_64__) /* arch */
/*
* gcc cpuid.h provides __cpuid_count() since v4.4.
diff --git a/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c b/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c
index 15ee8b7bfc114b..514d41f0071417 100644
--- a/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c
+++ b/tools/testing/selftests/kvm/x86/hyperv_tlb_flush.c
@@ -131,14 +131,10 @@ static void set_expected_val(void *addr, u64 val, int vcpu_id)
/*
* Update PTEs swapping two test pages.
- * TODO: use swap()/xchg() when these are provided.
*/
static void swap_two_test_pages(gpa_t pte_gva1, gpa_t pte_gva2)
{
- u64 tmp = *(u64 *)pte_gva1;
-
- *(u64 *)pte_gva1 = *(u64 *)pte_gva2;
- *(u64 *)pte_gva2 = tmp;
+ swap(*(u64 *)pte_gva1, *(u64 *)pte_gva2);
}
/*
diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selftests/mm/uffd-stress.c
index 700fbaa18d44b8..802046e905dd82 100644
--- a/tools/testing/selftests/mm/uffd-stress.c
+++ b/tools/testing/selftests/mm/uffd-stress.c
@@ -56,8 +56,10 @@ static uffd_global_test_opts_t *gopts;
static char *zeropage;
pthread_attr_t attr;
+#ifndef swap
#define swap(a, b) \
do { __auto_type __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
+#endif
const char *examples =
"# Run anonymous memory test on 100MiB region with 99999 bounces:\n"
|
| 3/2 | 2026/06/25 08:12 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 2467 output: 60 thoughts: 178 Thoughts: **WorthFuzzing=False: A Quick Assessment** Okay, let's take a look at this patch. My initial scan shows it's touching three files, specifically within the `tools/testing/selftests/` directory. That's a key indicator right off the bat. It looks like we're dealing with test infrastructure, not core kernel functionality. Specifically, it's modifying `kselftest.h`, `hyperv_tlb_flush.c`, and `uffd-stress.c`. The changes seem to center around the `swap` macro. It's adding a new one in `kselftest.h` and then using it in the hyperv test. Also, it’s adding a guard to the existing swap macro in the UFFD stress test, which is good practice. But, and this is the important bit, *all* of these modifications are confined to the self-tests. There's no modification of actual kernel source code here. Given that these changes are isolated to the testing framework and don’t introduce any new logic or code into the running kernel itself, I'm confident in assessing this as **WorthFuzzing=false**. This isn't the kind of patch that introduces new attack surfaces or warrants fuzzing efforts. It’s entirely self-contained within the test environment. |
| 4/2 | 2026/06/25 08:13 | tool | set-results |
0mArgs:{
"EnableConfigs": [],
"FocusSymbols": [],
"Reasoning": "The patch only modifies selftests (tools/testing/selftests/) and does not make any functional changes to the kernel code itself.",
"WorthFuzzing": false
}Results: {
"EnableConfigs": null,
"FocusSymbols": [],
"Reasoning": "The patch only modifies selftests (tools/testing/selftests/) and does not make any functional changes to the kernel code itself.",
"WorthFuzzing": false
} |
| Total Calls | Total Tokens | Avg Tokens | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|
| Total Calls | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|