| Seq | Timestamp | Type | Name | Duration |
|---|---|---|---|---|
| 0/0 | 2026/06/28 17:07 | flow | patch-triage |
0mArgs:null Results: {
"EnableConfigs": [
"USB_RTL8150"
],
"FocusSymbols": [
"set_carrier",
"rtl8150_open"
],
"Reasoning": "The patch fixes a potential uninitialized variable use in `set_carrier` by checking the return value of `get_registers`. This is a functional change in a USB network driver, which can be fuzzed using dummy_hcd or raw-gadget.",
"WorthFuzzing": true
} |
| 1/1 | 2026/06/28 17:07 | action | read-patch-diff |
0mArgs:null Results: {
"PatchDiff": "commit de25232f3d08176b72d748a8c686731aab2ac8e4\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate: Sun Jun 28 17:06:59 2026 +0000\n\n syz-cluster: applied patch under review\n\ndiff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c\nindex c880c95c41a5ec..d51e43170e033a 100644\n--- a/drivers/net/usb/rtl8150.c\n+++ b/drivers/net/usb/rtl8150.c\n@@ -732,7 +732,9 @@ static void set_carrier(struct net_device *netdev)\n \trtl8150_t *dev = netdev_priv(netdev);\n \tshort tmp;\n \n-\tget_registers(dev, CSCR, 2, \u0026tmp);\n+\tif (get_registers(dev, CSCR, 2, \u0026tmp))\n+\t\treturn;\n+\n \tif (tmp \u0026 CSCR_LINK_STATUS)\n \t\tnetif_carrier_on(netdev);\n \telse\n"
} |
| 2/1 | 2026/06/28 17:07 | agent | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: {
"EnableConfigs": [
"USB_RTL8150"
],
"FocusSymbols": [
"set_carrier",
"rtl8150_open"
],
"Reasoning": "The patch fixes a potential uninitialized variable use in `set_carrier` by checking the return value of `get_registers`. This is a functional change in a USB network driver, which can be fuzzed using dummy_hcd or raw-gadget.",
"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). 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 de25232f3d08176b72d748a8c686731aab2ac8e4
Author: syz-cluster <triage@syzkaller.com>
Date: Sun Jun 28 17:06:59 2026 +0000
syz-cluster: applied patch under review
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c
index c880c95c41a5ec..d51e43170e033a 100644
--- a/drivers/net/usb/rtl8150.c
+++ b/drivers/net/usb/rtl8150.c
@@ -732,7 +732,9 @@ static void set_carrier(struct net_device *netdev)
rtl8150_t *dev = netdev_priv(netdev);
short tmp;
- get_registers(dev, CSCR, 2, &tmp);
+ if (get_registers(dev, CSCR, 2, &tmp))
+ return;
+
if (tmp & CSCR_LINK_STATUS)
netif_carrier_on(netdev);
else
|
| 3/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 1863 output: 36 thoughts: 151 Thoughts: **Analyzing a Network Driver Patch** Okay, so I'm looking at this patch for `drivers/net/usb/rtl8150.c`. It looks like someone's added an error check in the `set_carrier()` function. Specifically, they're checking the return value of `get_registers(dev, CSCR, 2, &tmp)`. If `get_registers` throws an error, the function just returns. Seems like a defensive addition, but let's dig deeper. First, I need to understand the context. This is a USB network driver, right? So, how is `set_carrier()` being used, and is it even *reachable*? I need to find its definition within `rtl8150.c`. From a fuzzing perspective, USB drivers are interesting targets. We can test them using tools like `dummy_hcd` or by interacting with the raw gadget. Let me track down `set_carrier` in the code and then assess the potential impact of this patch in the broader scheme of things. Is it a critical path, or something more obscure? |
| 4/2 | 2026/06/28 17:07 | tool | grepper |
0mArgs:{
"Expression": "set_carrier",
"PathPrefix": "drivers/net/usb/rtl8150.c"
}Results: {
"Output": "drivers/net/usb/rtl8150.c=682=static netdev_tx_t rtl8150_start_xmit(struct sk_buff *skb,\n--\ndrivers/net/usb/rtl8150.c-729-\ndrivers/net/usb/rtl8150.c:730:static void set_carrier(struct net_device *netdev)\ndrivers/net/usb/rtl8150.c-731-{\n--\ndrivers/net/usb/rtl8150.c=744=static int rtl8150_open(struct net_device *netdev)\n--\ndrivers/net/usb/rtl8150.c-774-\tenable_net_traffic(dev);\ndrivers/net/usb/rtl8150.c:775:\tset_carrier(netdev);\ndrivers/net/usb/rtl8150.c-776-\tnetif_start_queue(netdev);\n"
} |
| 5/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 2544 output: 33 thoughts: 73 Thoughts: **Analyzing the Potential Vulnerability in rtl8150.c** Okay, so `set_carrier` is being called from within `rtl8150_open`. Interesting. This is a functional change, a pretty standard defensive programming technique to avoid using an uninitialized value in `tmp` if the `get_registers` function fails. Good practice, but it's important to understand the context. Since this is a USB driver, the attack surface expands significantly. USB drivers are notorious targets. This means it's definitely fuzzable, and it demands scrutiny. Time to dive into the configuration and check out the `rtl8150.c` file. I need to understand the data flow around `get_registers` and `set_carrier` to see if this is a minor tweak or if this reveals a hidden gem for attackers. My gut tells me to look for race conditions, incorrect error handling, and memory corruption. |
| 6/2 | 2026/06/28 17:07 | tool | grepper |
0mArgs:{
"Expression": "rtl8150",
"PathPrefix": "drivers/net/usb/Kconfig"
}Results: {
"Output": "drivers/net/usb/Kconfig=88=config USB_RTL8150\n--\ndrivers/net/usb/Kconfig-96-\t To compile this driver as a module, choose M here: the\ndrivers/net/usb/Kconfig:97:\t module will be called rtl8150.\ndrivers/net/usb/Kconfig-98-\n"
} |
| 7/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 2950 output: 36 thoughts: 32 Thoughts: Okay, here's my interpretation of those thoughts, presented as my own mental process, given my expertise: **Checking RTL8150 USB Driver Error Handling** Alright, the current configuration is focused on the `USB_RTL8150` driver. My initial thought is to quickly verify the error handling within the core logic. Specifically, I need to confirm how `get_registers` signals an error condition. In cases of USB communication failures, or if the hardware doesn't respond as expected, a negative return value is a pretty standard convention for function calls. I'll need to check the definition of that function within the context of this driver and confirm this is the method of signalling a failure. It would make debugging easier later, and confirms the overall reliability. |
| 8/2 | 2026/06/28 17:07 | tool | grepper |
0mArgs:{
"Expression": "get_registers",
"PathPrefix": "drivers/net/usb/rtl8150.c"
}Results: {
"Output": "drivers/net/usb/rtl8150.c=152=static const char driver_name [] = \"rtl8150\";\n--\ndrivers/net/usb/rtl8150.c-158-*/\ndrivers/net/usb/rtl8150.c:159:static int get_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)\ndrivers/net/usb/rtl8150.c-160-{\n--\ndrivers/net/usb/rtl8150.c=218=static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg)\n--\ndrivers/net/usb/rtl8150.c-230-\tdo {\ndrivers/net/usb/rtl8150.c:231:\t\tget_registers(dev, PHYCNT, 1, data);\ndrivers/net/usb/rtl8150.c-232-\t} while ((data[0] \u0026 PHY_GO) \u0026\u0026 (i++ \u003c MII_TIMEOUT));\n--\ndrivers/net/usb/rtl8150.c-234-\tif (i \u003c= MII_TIMEOUT) {\ndrivers/net/usb/rtl8150.c:235:\t\tget_registers(dev, PHYDAT, 2, data);\ndrivers/net/usb/rtl8150.c-236-\t\t*reg = data[0] | (data[1] \u003c\u003c 8);\n--\ndrivers/net/usb/rtl8150.c=242=static int write_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 reg)\n--\ndrivers/net/usb/rtl8150.c-255-\tdo {\ndrivers/net/usb/rtl8150.c:256:\t\tget_registers(dev, PHYCNT, 1, data);\ndrivers/net/usb/rtl8150.c-257-\t} while ((data[0] \u0026 PHY_GO) \u0026\u0026 (i++ \u003c MII_TIMEOUT));\n--\ndrivers/net/usb/rtl8150.c=265=static void set_ethernet_addr(rtl8150_t *dev)\n--\ndrivers/net/usb/rtl8150.c-269-\ndrivers/net/usb/rtl8150.c:270:\tret = get_registers(dev, IDR, sizeof(node_id), node_id);\ndrivers/net/usb/rtl8150.c-271-\n--\ndrivers/net/usb/rtl8150.c=281=static int rtl8150_set_mac_address(struct net_device *netdev, void *p)\n--\ndrivers/net/usb/rtl8150.c-297-\t/* Get the CR contents. */\ndrivers/net/usb/rtl8150.c:298:\tget_registers(dev, CR, 1, \u0026cr);\ndrivers/net/usb/rtl8150.c-299-\t/* Set the WEPROM bit (eeprom write enable). */\n--\ndrivers/net/usb/rtl8150.c=316=static int rtl8150_reset(rtl8150_t * dev)\n--\ndrivers/net/usb/rtl8150.c-322-\tdo {\ndrivers/net/usb/rtl8150.c:323:\t\tget_registers(dev, CR, 1, \u0026data);\ndrivers/net/usb/rtl8150.c-324-\t} while ((data \u0026 0x10) \u0026\u0026 --i);\n--\ndrivers/net/usb/rtl8150.c=624=static int enable_net_traffic(rtl8150_t * dev)\n--\ndrivers/net/usb/rtl8150.c-639-\tset_registers(dev, CR, 1, \u0026cr);\ndrivers/net/usb/rtl8150.c:640:\tget_registers(dev, MSR, 1, \u0026msr);\ndrivers/net/usb/rtl8150.c-641-\n--\ndrivers/net/usb/rtl8150.c=645=static void disable_net_traffic(rtl8150_t * dev)\n--\ndrivers/net/usb/rtl8150.c-648-\ndrivers/net/usb/rtl8150.c:649:\tget_registers(dev, CR, 1, \u0026cr);\ndrivers/net/usb/rtl8150.c-650-\tcr \u0026= 0xf3;\n--\ndrivers/net/usb/rtl8150.c=730=static void set_carrier(struct net_device *netdev)\n--\ndrivers/net/usb/rtl8150.c-734-\ndrivers/net/usb/rtl8150.c:735:\tif (get_registers(dev, CSCR, 2, \u0026tmp))\ndrivers/net/usb/rtl8150.c-736-\t\treturn;\n--\ndrivers/net/usb/rtl8150.c=801=static int rtl8150_get_link_ksettings(struct net_device *netdev,\n--\ndrivers/net/usb/rtl8150.c-816-\tecmd-\u003ebase.phy_address = dev-\u003ephy;\ndrivers/net/usb/rtl8150.c:817:\tget_registers(dev, BMCR, 2, \u0026bmcr);\ndrivers/net/usb/rtl8150.c:818:\tget_registers(dev, ANLP, 2, \u0026lpa);\ndrivers/net/usb/rtl8150.c-819-\tif (bmcr \u0026 BMCR_ANENABLE) {\n"
} |
| 9/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 4675 output: 41 thoughts: 17 Thoughts: Here's a summary of my thought process: **Analyzing the Output of `get_registers`** Okay, so `get_registers` is designed to provide me with an integer value. I need to understand what this integer represents. The immediate focus is on interpreting this returned value – is it an index, a flag, a count, or something else entirely? The type itself doesn't offer enough context, so the next step is to examine the function's documentation, the surrounding code, or even try some quick experimentation, if possible, to ascertain its precise meaning and usage within the larger system. |
| 10/2 | 2026/06/28 17:07 | tool | read-file |
0mArgs:{
"File": "drivers/net/usb/rtl8150.c",
"FirstLine": 159,
"LineCount": 20
}Results: {
"Contents": " 159:\tstatic int get_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)\n 160:\t{\n 161:\t\treturn usb_control_msg_recv(dev-\u003eudev, 0, RTL8150_REQ_GET_REGS,\n 162:\t\t\t\t\t RTL8150_REQT_READ, indx, 0, data, size,\n 163:\t\t\t\t\t 1000, GFP_NOIO);\n 164:\t}\n 165:\t\n 166:\tstatic int set_registers(rtl8150_t * dev, u16 indx, u16 size, const void *data)\n 167:\t{\n 168:\t\treturn usb_control_msg_send(dev-\u003eudev, 0, RTL8150_REQ_SET_REGS,\n 169:\t\t\t\t\t RTL8150_REQT_WRITE, indx, 0, data, size,\n 170:\t\t\t\t\t 1000, GFP_NOIO);\n 171:\t}\n 172:\t\n 173:\tstatic void async_set_reg_cb(struct urb *urb)\n 174:\t{\n 175:\t\tstruct async_req *req = (struct async_req *)urb-\u003econtext;\n 176:\t\tint status = urb-\u003estatus;\n 177:\t\n 178:\t\tif (status \u003c 0)\n"
} |
| 11/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 5252 output: 40 thoughts: 149 Thoughts: **Focussing My Fuzzing Efforts** Okay, so `usb_control_msg_recv` returns 0 on success and a negative value on error. That means the error handling in `if (get_registers(dev, CSCR, 2, &tmp))` is exactly right; the conditional will catch the error correctly. Good. Now, I need to pick which functions to target for fuzzing. I've got `set_carrier`, and I know it's definitely reachable since it's called from both `rtl8150_open` and `rtl8150_tx_timeout`. That makes it a strong contender. Also, `rtl8150_open` itself is a prime candidate. Let's not forget `rtl8150_probe`, that's another function I should add to my list. Alright, let's start by digging into `rtl8150_open`. I'll start there and see what interesting things I can find. |
| 12/2 | 2026/06/28 17:07 | tool | grepper |
0mArgs:{
"Expression": "rtl8150_open",
"PathPrefix": "drivers/net/usb/rtl8150.c"
}Results: {
"Output": "drivers/net/usb/rtl8150.c=730=static void set_carrier(struct net_device *netdev)\n--\ndrivers/net/usb/rtl8150.c-743-\ndrivers/net/usb/rtl8150.c:744:static int rtl8150_open(struct net_device *netdev)\ndrivers/net/usb/rtl8150.c-745-{\n--\ndrivers/net/usb/rtl8150.c=876=static const struct net_device_ops rtl8150_netdev_ops = {\ndrivers/net/usb/rtl8150.c:877:\t.ndo_open\t\t= rtl8150_open,\ndrivers/net/usb/rtl8150.c-878-\t.ndo_stop\t\t= rtl8150_close,\n"
} |
| 13/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 5890 output: 28 thoughts: 43 Thoughts: Okay, here's my take on those thoughts, framed as my own: **Analyzing Potential USB Driver Behavior** Alright, let's zero in on this. I see `set_carrier` and `rtl8150_open` as the key function calls here. They're my focus symbols, likely the heart of this USB network interface driver, the RTL8150. Given the `USB_RTL8150` configuration, it's pretty clear this is about bringing up the interface. Before I go further down that path I want to make sure no other configurations might affect this driver's initialization or behavior. I need to know the entire context. Let me scan for any related config options that could influence this process. |
| 14/2 | 2026/06/28 17:07 | tool | grepper |
0mArgs:{
"Expression": "USB_RTL8150",
"PathPrefix": ""
}Results: {
"Output": "arch/arm/configs/ep93xx_defconfig=61=CONFIG_EP93XX_ETH=y\narch/arm/configs/ep93xx_defconfig:62:CONFIG_USB_RTL8150=y\narch/arm/configs/ep93xx_defconfig-63-# CONFIG_INPUT is not set\n--\narch/arm/configs/exynos_defconfig=104=CONFIG_SMSC911X=y\narch/arm/configs/exynos_defconfig:105:CONFIG_USB_RTL8150=m\narch/arm/configs/exynos_defconfig-106-CONFIG_USB_RTL8152=y\n--\narch/arm/configs/imx_v6_v7_defconfig=139=CONFIG_USB_PEGASUS=m\narch/arm/configs/imx_v6_v7_defconfig:140:CONFIG_USB_RTL8150=m\narch/arm/configs/imx_v6_v7_defconfig-141-CONFIG_USB_RTL8152=y\n--\narch/arm/configs/omap1_defconfig=103=CONFIG_USB_PEGASUS=y\narch/arm/configs/omap1_defconfig:104:CONFIG_USB_RTL8150=y\narch/arm/configs/omap1_defconfig-105-CONFIG_USB_USBNET=y\n--\narch/arm/configs/pxa_defconfig=203=CONFIG_USB_PEGASUS=m\narch/arm/configs/pxa_defconfig:204:CONFIG_USB_RTL8150=m\narch/arm/configs/pxa_defconfig-205-CONFIG_USB_RTL8152=m\n--\narch/arm/configs/spitz_defconfig=92=CONFIG_USB_PEGASUS=m\narch/arm/configs/spitz_defconfig:93:CONFIG_USB_RTL8150=m\narch/arm/configs/spitz_defconfig-94-CONFIG_USB_USBNET=m\n--\narch/arm64/configs/defconfig=489=CONFIG_USB_PEGASUS=m\narch/arm64/configs/defconfig:490:CONFIG_USB_RTL8150=m\narch/arm64/configs/defconfig-491-CONFIG_USB_RTL8152=m\n--\narch/loongarch/configs/loongson32_defconfig=640=CONFIG_PPP_SYNC_TTY=m\narch/loongarch/configs/loongson32_defconfig:641:CONFIG_USB_RTL8150=m\narch/loongarch/configs/loongson32_defconfig-642-CONFIG_USB_RTL8152=m\n--\narch/loongarch/configs/loongson64_defconfig=656=CONFIG_PPP_SYNC_TTY=m\narch/loongarch/configs/loongson64_defconfig:657:CONFIG_USB_RTL8150=m\narch/loongarch/configs/loongson64_defconfig-658-CONFIG_USB_RTL8152=m\n--\narch/mips/configs/mtx1_defconfig=293=CONFIG_USB_PEGASUS=m\narch/mips/configs/mtx1_defconfig:294:CONFIG_USB_RTL8150=m\narch/mips/configs/mtx1_defconfig-295-CONFIG_USB_USBNET=m\n--\narch/mips/configs/rm200_defconfig=233=CONFIG_USB_PEGASUS=m\narch/mips/configs/rm200_defconfig:234:CONFIG_USB_RTL8150=m\narch/mips/configs/rm200_defconfig-235-CONFIG_USB_USBNET=m\n--\narch/powerpc/configs/g5_defconfig=108=CONFIG_USB_PEGASUS=m\narch/powerpc/configs/g5_defconfig:109:CONFIG_USB_RTL8150=m\narch/powerpc/configs/g5_defconfig-110-CONFIG_USB_USBNET=m\n--\narch/powerpc/configs/ppc6xx_defconfig=485=CONFIG_USB_PEGASUS=m\narch/powerpc/configs/ppc6xx_defconfig:486:CONFIG_USB_RTL8150=m\narch/powerpc/configs/ppc6xx_defconfig-487-CONFIG_USB_USBNET=m\n--\narch/sh/configs/landisk_defconfig=46=CONFIG_USB_PEGASUS=m\narch/sh/configs/landisk_defconfig:47:CONFIG_USB_RTL8150=m\narch/sh/configs/landisk_defconfig-48-CONFIG_INPUT_FF_MEMLESS=m\n--\narch/sh/configs/titan_defconfig=176=CONFIG_USB_PEGASUS=m\narch/sh/configs/titan_defconfig:177:CONFIG_USB_RTL8150=m\narch/sh/configs/titan_defconfig-178-CONFIG_USB_USBNET=m\n--\ndrivers/net/usb/Kconfig=73=config USB_PEGASUS\n--\ndrivers/net/usb/Kconfig-87-\ndrivers/net/usb/Kconfig:88:config USB_RTL8150\ndrivers/net/usb/Kconfig-89-\ttristate \"USB RTL8150 based ethernet device support\"\n--\ndrivers/net/usb/Makefile=8=obj-$(CONFIG_USB_PEGASUS)\t+= pegasus.o\ndrivers/net/usb/Makefile:9:obj-$(CONFIG_USB_RTL8150)\t+= rtl8150.o\ndrivers/net/usb/Makefile-10-obj-$(CONFIG_USB_RTL8152)\t+= r8152.o\n"
} |
| 15/2 | 2026/06/28 17:07 | llm | patch-evaluator |
0mModel:gemini-3.1-pro-preview Args: null Results: null Tokens: input: 7647 output: 110 thoughts: 61 Thoughts: Okay, here's my take on this – straight to the point as always: **USB RTL8150 Driver Fix** Right, so, looks like we're dealing with a simple one here. The `USB_RTL8150` config is the only key component needed, nothing else to be concerned with there. From what I can gather, the patch addresses an uninitialized variable bug in the `set_carrier` function. The fix is pretty straightforward: it's checking the return value from `get_registers` before proceeding. A perfectly functional change, as I see it. Nothing to get flustered about. We will call that `set-results`. |
| 16/2 | 2026/06/28 17:07 | tool | set-results |
0mArgs:{
"EnableConfigs": [
"USB_RTL8150"
],
"FocusSymbols": [
"set_carrier",
"rtl8150_open"
],
"Reasoning": "The patch fixes a potential uninitialized variable use in `set_carrier` by checking the return value of `get_registers`. This is a functional change in a USB network driver, which can be fuzzed using dummy_hcd or raw-gadget.",
"WorthFuzzing": true
}Results: {
"EnableConfigs": [
"USB_RTL8150"
],
"FocusSymbols": [
"set_carrier",
"rtl8150_open"
],
"Reasoning": "The patch fixes a potential uninitialized variable use in `set_carrier` by checking the return value of `get_registers`. This is a functional change in a USB network driver, which can be fuzzed using dummy_hcd or raw-gadget.",
"WorthFuzzing": true
} |
| Total Calls | Total Tokens | Avg Tokens | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|
| Total Calls | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|