AI Trajectory


Trajectory: (Expand/Collapse All)
Seq Timestamp Type Name Duration
0/0 2026/08/05 06:56 flow patch-triage
0m Args:
null

Results:
{
  "EnableConfigs": [
    "TLS"
  ],
  "FocusSymbols": [
    "tls_tx_records",
    "tls_sw_sendmsg"
  ],
  "Reasoning": "The patch modifies the error handling logic in `tls_tx_records` within the TLS subsystem, specifically preventing connection aborts on `-EINTR` and `-ERESTARTSYS`. This is a functional change in core network logic that is reachable and testable.",
  "WorthFuzzing": true
}

1/1 2026/08/05 06:56 action read-patch-diff
0m Args:
null

Results:
{
  "PatchDiff": "commit 509d04b888c3145571b29fb8b8efa5749fd0fc0d\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate:   Wed Aug 5 06:56:36 2026 +0000\n\n    syz-cluster: applied patch under review\n\ndiff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c\nindex d4afc90fd7966..4d1fa9b041814 100644\n--- a/net/tls/tls_sw.c\n+++ b/net/tls/tls_sw.c\n@@ -458,7 +458,7 @@ int tls_tx_records(struct sock *sk, int flags)\n \t}\n \n tx_err:\n-\tif (rc \u003c 0 \u0026\u0026 rc != -EAGAIN)\n+\tif (rc \u003c 0 \u0026\u0026 rc != -EAGAIN \u0026\u0026 rc != -EINTR \u0026\u0026 rc != -ERESTARTSYS)\n \t\ttls_err_abort(sk, rc);\n \n \treturn rc;\n"
}

2/1 2026/08/05 06:56 agent patch-evaluator
0m Model:
best-expensive

Args:
null

Results:
{
  "EnableConfigs": [
    "TLS"
  ],
  "FocusSymbols": [
    "tls_tx_records",
    "tls_sw_sendmsg"
  ],
  "Reasoning": "The patch modifies the error handling logic in `tls_tx_records` within the TLS subsystem, specifically preventing connection aborts on `-EINTR` and `-ERESTARTSYS`. This is a functional change in core network logic that is reachable and testable.",
  "WorthFuzzing": true
}

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).
- Code in vendor-specific PCIe switch, SmartNIC, or GPU drivers (e.g., mlxsw, pds_core, qed,
  ionic, amdgpu) that require physical PCIe hardware cards not emulated in standard QEMU.
- Driver .remove, .shutdown, or pci_unregister_driver teardown callbacks (e.g., igb_remove)
  that are executed only during PCI hot-unplug or sysfs driver unbind operations.

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.
   Prefer non-static, non-inlined API entrypoint functions over internal static helper functions
   (which are inlined by the compiler and do not have distinct symbol addresses).
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.
   Also check "depends on" lines in Kconfig to include any non-standard parent subsystem configs
   needed for Kbuild to compile the code statically into vmlinux. 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 509d04b888c3145571b29fb8b8efa5749fd0fc0d
Author: syz-cluster <triage@syzkaller.com>
Date:   Wed Aug 5 06:56:36 2026 +0000

    syz-cluster: applied patch under review

diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index d4afc90fd7966..4d1fa9b041814 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -458,7 +458,7 @@ int tls_tx_records(struct sock *sk, int flags)
 	}
 
 tx_err:
-	if (rc < 0 && rc != -EAGAIN)
+	if (rc < 0 && rc != -EAGAIN && rc != -EINTR && rc != -ERESTARTSYS)
 		tls_err_abort(sk, rc);
 
 	return rc;

3/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 2039
							output: 34
							thoughts: 149
						

Thoughts:
**Analyzing a TLS Subsystem Patch**

Okay, so I'm looking at a patch that tweaks `net/tls/tls_sw.c`. The core of the change seems to be in the `tls_tx_records` function, specifically the error handling condition for calling `tls_err_abort`. Previously, it would abort on any negative return code *except* `-EAGAIN`. Now, it's excluding `-EINTR` and `-ERESTARTSYS` as well. That’s a definite functional shift in the TLS subsystem; we're now more tolerant of certain interrupt and restart signals during transmission.

Time to dive in. I need to understand the implications of this change. Let's start by quickly revisiting both `tls_tx_records` and `tls_err_abort`. I'll fire up `grepper` to locate these functions within the code base – that'll give me a clear picture of their context. I need to understand why these errors are being handled differently now. What kind of scenarios trigger those specific error codes, and what's the intended behavior when they're encountered? This should be interesting.



4/2 2026/08/05 06:56 tool grepper
0m Args:
{
  "Expression": "tls_tx_records",
  "PathPrefix": "net/tls/tls_sw.c"
}

Results:
{
  "Output": "net/tls/tls_sw.c=396=static void tls_free_open_rec(struct sock *sk)\n--\nnet/tls/tls_sw.c-407-\nnet/tls/tls_sw.c:408:int tls_tx_records(struct sock *sk, int flags)\nnet/tls/tls_sw.c-409-{\n--\nnet/tls/tls_sw.c=617=static int tls_push_record(struct sock *sk, int flags,\n--\nnet/tls/tls_sw.c-697-\nnet/tls/tls_sw.c:698:\treturn tls_tx_records(sk, flags);\nnet/tls/tls_sw.c-699-}\n--\nnet/tls/tls_sw.c=766=static int tls_sw_sendmsg_locked(struct sock *sk, struct msghdr *msg,\n--\nnet/tls/tls_sw.c-893-\t\t\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:894:\t\t\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-895-\t\t\t}\n--\nnet/tls/tls_sw.c-947-\t\t\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:948:\t\t\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-949-\t\t\t}\n--\nnet/tls/tls_sw.c-985-\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:986:\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-987-\t}\n--\nnet/tls/tls_sw.c=1017=void tls_sw_splice_eof(struct socket *sock)\n--\nnet/tls/tls_sw.c-1066-\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:1067:\t\ttls_tx_records(sk, 0);\nnet/tls/tls_sw.c-1068-\t}\n--\nnet/tls/tls_sw.c=2261=void tls_sw_release_resources_tx(struct sock *sk)\n--\nnet/tls/tls_sw.c-2269-\nnet/tls/tls_sw.c:2270:\ttls_tx_records(sk, -1);\nnet/tls/tls_sw.c-2271-\n--\nnet/tls/tls_sw.c=2350=static void tx_work_handler(struct work_struct *work)\n--\nnet/tls/tls_sw.c-2370-\t\tlock_sock(sk);\nnet/tls/tls_sw.c:2371:\t\ttls_tx_records(sk, -1);\nnet/tls/tls_sw.c-2372-\t\trelease_sock(sk);\n"
}

5/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 3252
							output: 29
							thoughts: 74
						

Thoughts:
**Analyzing the `tls_tx_records` Function**

Okay, so I'm taking a look at this `tls_tx_records` function. The fact that it's *not* declared as `static` immediately makes me think it's used elsewhere, possibly exported or utilized in other parts of the codebase. That's the first thing that jumps out. I need to confirm this.

Alright, let's see. My initial suspicion is confirmed; I've tracked it down to `net/tls/tls_sw.c`. Great, the function definition is here, and it’s not `static`, as I thought. Now, just to be thorough and to understand its scope and usage within the TLS implementation as a whole, I should quickly check `net/tls/tls.h`. This will tell me if it's declared for wider use, or part of an internal API.



6/2 2026/08/05 06:56 tool grepper
0m Args:
{
  "Expression": "tls_tx_records",
  "PathPrefix": "net/tls/"
}

Results:
{
  "Output": "net/tls/tls.h=173=void tls_device_splice_eof(struct socket *sock);\nnet/tls/tls.h:174:int tls_tx_records(struct sock *sk, int flags);\nnet/tls/tls.h-175-\n--\nnet/tls/tls_sw.c=396=static void tls_free_open_rec(struct sock *sk)\n--\nnet/tls/tls_sw.c-407-\nnet/tls/tls_sw.c:408:int tls_tx_records(struct sock *sk, int flags)\nnet/tls/tls_sw.c-409-{\n--\nnet/tls/tls_sw.c=617=static int tls_push_record(struct sock *sk, int flags,\n--\nnet/tls/tls_sw.c-697-\nnet/tls/tls_sw.c:698:\treturn tls_tx_records(sk, flags);\nnet/tls/tls_sw.c-699-}\n--\nnet/tls/tls_sw.c=766=static int tls_sw_sendmsg_locked(struct sock *sk, struct msghdr *msg,\n--\nnet/tls/tls_sw.c-893-\t\t\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:894:\t\t\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-895-\t\t\t}\n--\nnet/tls/tls_sw.c-947-\t\t\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:948:\t\t\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-949-\t\t\t}\n--\nnet/tls/tls_sw.c-985-\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:986:\t\ttls_tx_records(sk, msg-\u003emsg_flags);\nnet/tls/tls_sw.c-987-\t}\n--\nnet/tls/tls_sw.c=1017=void tls_sw_splice_eof(struct socket *sock)\n--\nnet/tls/tls_sw.c-1066-\t\tcancel_delayed_work(\u0026ctx-\u003etx_work.work);\nnet/tls/tls_sw.c:1067:\t\ttls_tx_records(sk, 0);\nnet/tls/tls_sw.c-1068-\t}\n--\nnet/tls/tls_sw.c=2261=void tls_sw_release_resources_tx(struct sock *sk)\n--\nnet/tls/tls_sw.c-2269-\nnet/tls/tls_sw.c:2270:\ttls_tx_records(sk, -1);\nnet/tls/tls_sw.c-2271-\n--\nnet/tls/tls_sw.c=2350=static void tx_work_handler(struct work_struct *work)\n--\nnet/tls/tls_sw.c-2370-\t\tlock_sock(sk);\nnet/tls/tls_sw.c:2371:\t\ttls_tx_records(sk, -1);\nnet/tls/tls_sw.c-2372-\t\trelease_sock(sk);\n"
}

7/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 4405
							output: 30
							thoughts: 50
						

Thoughts:
Okay, here's my take on those thoughts, framed as my own reasoning:

**Analyzing Potential TLS Transmission Symbols**

Right, let's zero in on potential key symbols related to TLS transmission. I'm thinking `tls_tx_records` is a strong candidate for further investigation; it seems like a central point. However, I want to consider other possibilities, too, especially if they're involved in the software-based transmission pathway. What about `tls_sw_sendmsg` and `tls_sw_sendpage`? Those feel like good contenders.

My next move is clear. I need to dive into `net/tls/tls_sw.c`. That's where I'll find the definitions and relationships of these functions, and hopefully, I'll identify the best symbol(s) for the current analysis. Time to see what that file reveals.



8/2 2026/08/05 06:56 tool grepper
0m Args:
{
  "Expression": "tls_sw_sendmsg",
  "PathPrefix": "net/tls/"
}

Results:
{
  "Output": "net/tls/tls.h=154=void tls_sw_strparser_done(struct tls_context *tls_ctx);\nnet/tls/tls.h:155:int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);\nnet/tls/tls.h-156-void tls_sw_splice_eof(struct socket *sock);\n--\nnet/tls/tls_main.c=1002=static void build_protos(struct proto prot[TLS_NUM_CONFIG][TLS_NUM_CONFIG],\n--\nnet/tls/tls_main.c-1011-\tprot[TLS_SW][TLS_BASE] = prot[TLS_BASE][TLS_BASE];\nnet/tls/tls_main.c:1012:\tprot[TLS_SW][TLS_BASE].sendmsg\t\t= tls_sw_sendmsg;\nnet/tls/tls_main.c-1013-\tprot[TLS_SW][TLS_BASE].splice_eof\t= tls_sw_splice_eof;\n--\nnet/tls/tls_sw.c=715=static int tls_sw_push_pending_record(struct sock *sk, int flags)\n--\nnet/tls/tls_sw.c-734-\nnet/tls/tls_sw.c:735:static int tls_sw_sendmsg_splice(struct sock *sk, struct msghdr *msg,\nnet/tls/tls_sw.c-736-\t\t\t\t struct sk_msg *msg_pl, size_t try_to_copy,\n--\nnet/tls/tls_sw.c-765-\nnet/tls/tls_sw.c:766:static int tls_sw_sendmsg_locked(struct sock *sk, struct msghdr *msg,\nnet/tls/tls_sw.c-767-\t\t\t\t size_t size)\n--\nnet/tls/tls_sw.c-849-\t\tif (try_to_copy \u0026\u0026 (msg-\u003emsg_flags \u0026 MSG_SPLICE_PAGES)) {\nnet/tls/tls_sw.c:850:\t\t\tret = tls_sw_sendmsg_splice(sk, msg, msg_pl,\nnet/tls/tls_sw.c-851-\t\t\t\t\t\t    try_to_copy, \u0026copied);\n--\nnet/tls/tls_sw.c-993-\nnet/tls/tls_sw.c:994:int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)\nnet/tls/tls_sw.c-995-{\n--\nnet/tls/tls_sw.c-1007-\tlock_sock(sk);\nnet/tls/tls_sw.c:1008:\tret = tls_sw_sendmsg_locked(sk, msg, size);\nnet/tls/tls_sw.c-1009-\trelease_sock(sk);\n"
}

9/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 5396
							output: 26
							thoughts: 32
						

Thoughts:
Here's my summary, as though I'm thinking through this process:

**Focusing on the TLS Transmission Path**

Okay, so I need to dig into the TLS transmission process. Let's see... `tls_sw_sendmsg` and `tls_tx_records` jump out at me as key function symbols to investigate. Those names suggest they're at the heart of sending the data over the TLS connection. Let's start with those, but before I go too deep, I should check the Kconfig. Make sure the TLS support is even enabled in the current build environment. I don't want to waste time chasing something that's been conditionally disabled. Let's check the Kconfig settings related to TLS and see what's what. That's a solid first step.



10/2 2026/08/05 06:56 tool grepper
0m Args:
{
  "Expression": "config TLS",
  "PathPrefix": "net/tls/"
}

Results:
{
  "Output": "net/tls/Kconfig-4-#\nnet/tls/Kconfig:5:config TLS\nnet/tls/Kconfig-6-\ttristate \"Transport Layer Security support\"\n--\nnet/tls/Kconfig-18-\nnet/tls/Kconfig:19:config TLS_DEVICE\nnet/tls/Kconfig-20-\tbool \"Transport Layer Security HW offload\"\n"
}

11/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 5726
							output: 32
							thoughts: 17
						

Thoughts:
Okay, here's my interpretation of those thoughts, presented as my own mental process, given my expertise:

**Checking TLS Configuration Dependencies**

Alright, the configuration in question is set to `TLS`. My immediate thought is, "Okay, that's the baseline, but what does it *rely* on?" I need to understand the dependencies. `TLS` is rarely a standalone setting; it likely has implications for cryptographic libraries, certificate management, potentially even network interface configurations depending on the context. I need to map the configuration to its downstream effects. What other settings or processes are triggered or configured *because* this is set to `TLS`? Digging into this will give me a better understanding of the overall system state.



12/2 2026/08/05 06:56 tool read-file
0m Args:
{
  "File": "net/tls/Kconfig",
  "FirstLine": 1,
  "LineCount": 20
}

Results:
{
  "Contents": "   1:\t# SPDX-License-Identifier: GPL-2.0-only\n   2:\t#\n   3:\t# TLS configuration\n   4:\t#\n   5:\tconfig TLS\n   6:\t\ttristate \"Transport Layer Security support\"\n   7:\t\tdepends on INET\n   8:\t\tselect CRYPTO\n   9:\t\tselect CRYPTO_AES\n  10:\t\tselect CRYPTO_GCM\n  11:\t\tselect NET_SOCK_MSG\n  12:\t\tdefault n\n  13:\t\thelp\n  14:\t\tEnable kernel support for TLS protocol. This allows symmetric\n  15:\t\tencryption handling of the TLS protocol to be done in-kernel.\n  16:\t\n  17:\t\tIf unsure, say N.\n  18:\t\n  19:\tconfig TLS_DEVICE\n  20:\t\tbool \"Transport Layer Security HW offload\"\n"
}

13/2 2026/08/05 06:56 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 6149
							output: 29
							thoughts: 102
						

Thoughts:
**Fuzzing Target: TLS Connection Abort on Interrupt**

Okay, so this patch is touching `net/tls/tls_sw.c`, and the relevant config is `TLS`. The key issue here is that `tls_tx_records` is bailing on `-EINTR` or `-ERESTARTSYS`. That's a classic fuzzing target: interrupt handling and error recovery during potentially critical operations are always good hunting grounds for vulnerabilities. This is definitely worth a closer look and probably deserves some serious fuzzing.

My primary focus, given the bug description, is definitely going to be on `tls_tx_records`. I'll want to carefully examine how it handles those interrupt signals. I'll also bring `tls_sw_sendmsg` into the mix, since that seems like a related function involved in sending data. It's time to check what else there may be of interest for fuzzing.



14/2 2026/08/05 06:57 tool grepper
0m Args:
{
  "Expression": "tls_err_abort",
  "PathPrefix": "net/tls/"
}

Results:
{
  "Output": "net/tls/tls.h=143=int wait_on_pending_writer(struct sock *sk, long *timeo);\nnet/tls/tls.h:144:void tls_err_abort(struct sock *sk, int err);\nnet/tls/tls.h-145-void tls_strp_abort_strp(struct tls_strparser *strp, int err);\n--\nnet/tls/tls.h=311=tls_advance_record_sn(struct sock *sk, struct tls_prot_info *prot,\n--\nnet/tls/tls.h-314-\tif (tls_bigint_increment(ctx-\u003erec_seq, prot-\u003erec_seq_size))\nnet/tls/tls.h:315:\t\ttls_err_abort(sk, -EBADMSG);\nnet/tls/tls.h-316-\n--\nnet/tls/tls_sw.c=62=struct tls_decrypt_ctx {\n--\nnet/tls/tls_sw.c-70-\nnet/tls/tls_sw.c:71:noinline void tls_err_abort(struct sock *sk, int err)\nnet/tls/tls_sw.c-72-{\n--\nnet/tls/tls_sw.c=187=static void tls_decrypt_done(void *data, int err)\n--\nnet/tls/tls_sw.c-223-\t\tctx-\u003easync_wait.err = err;\nnet/tls/tls_sw.c:224:\t\ttls_err_abort(sk, err);\nnet/tls/tls_sw.c-225-\t}\n--\nnet/tls/tls_sw.c=408=int tls_tx_records(struct sock *sk, int flags)\n--\nnet/tls/tls_sw.c-461-\tif (rc \u003c 0 \u0026\u0026 rc != -EAGAIN \u0026\u0026 rc != -EINTR \u0026\u0026 rc != -ERESTARTSYS)\nnet/tls/tls_sw.c:462:\t\ttls_err_abort(sk, rc);\nnet/tls/tls_sw.c-463-\n--\nnet/tls/tls_sw.c=467=static void tls_encrypt_done(void *data, int err)\n--\nnet/tls/tls_sw.c-499-\t\t\tctx-\u003easync_wait.err = err;\nnet/tls/tls_sw.c:500:\t\t\ttls_err_abort(sk, err);\nnet/tls/tls_sw.c-501-\t\t}\n--\nnet/tls/tls_sw.c=617=static int tls_push_record(struct sock *sk, int flags,\n--\nnet/tls/tls_sw.c-692-\t\tif (rc != -EINPROGRESS)\nnet/tls/tls_sw.c:693:\t\t\ttls_err_abort(sk, -EBADMSG);\nnet/tls/tls_sw.c-694-\t\tctx-\u003easync_capable = 1;\n--\nnet/tls/tls_sw.c=1548=static int tls_rx_one_record(struct sock *sk, struct msghdr *msg,\n--\nnet/tls/tls_sw.c-1559-\tif (err \u003c 0) {\nnet/tls/tls_sw.c:1560:\t\ttls_err_abort(sk, -EBADMSG);\nnet/tls/tls_sw.c-1561-\t\treturn err;\n"
}

15/2 2026/08/05 06:57 llm patch-evaluator
0m Model:
gemini-3.1-pro-preview

Args:
null

Results:
null

Tokens:
							input: 7336
							output: 103
							thoughts: 46
						

Thoughts:
Okay, here's my take on those thoughts, framed as my own:

**Analyzing TLS Record Pushing and Transmission**

Right, `tls_push_record` is another interesting symbol to focus on, although its static nature does limit its usefulness. I need to keep that in mind. Now, `tls_tx_records` and `tls_sw_sendmsg` – those are excellent points of interest. They're clearly going to be key to understanding the data flow here. Okay, I've got a much clearer idea of the parts I need to focus on, and how they relate. I'll get to work setting up the next stage of the research; I can use what I've discovered.



16/2 2026/08/05 06:57 tool set-results
0m Args:
{
  "EnableConfigs": [
    "TLS"
  ],
  "FocusSymbols": [
    "tls_tx_records",
    "tls_sw_sendmsg"
  ],
  "Reasoning": "The patch modifies the error handling logic in `tls_tx_records` within the TLS subsystem, specifically preventing connection aborts on `-EINTR` and `-ERESTARTSYS`. This is a functional change in core network logic that is reachable and testable.",
  "WorthFuzzing": true
}

Results:
{
  "EnableConfigs": [
    "TLS"
  ],
  "FocusSymbols": [
    "tls_tx_records",
    "tls_sw_sendmsg"
  ],
  "Reasoning": "The patch modifies the error handling logic in `tls_tx_records` within the TLS subsystem, specifically preventing connection aborts on `-EINTR` and `-ERESTARTSYS`. This is a functional change in core network logic that is reachable and testable.",
  "WorthFuzzing": true
}

LLM Calls Summary:
Total Calls Total Tokens Avg Tokens Total Duration (Seconds) Avg Duration (Seconds)
Tool Calls Summary:
Total Calls Total Duration (Seconds) Avg Duration (Seconds)