AI Trajectory


Trajectory: (Expand/Collapse All)
Seq Timestamp Type Name Duration
0/0 2026/09/29 13:59 flow patch-triage
0m Args:
null

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "KMSANReasoning": "",
  "NeedsKMSAN": false,
  "Reasoning": "The patch only modifies ARM Device Tree source files (arch/arm/boot/dts/axis/), which are exclusive to the ARM architecture and not compiled or executed on the target architecture (amd64).",
  "WorthFuzzing": false
}

1/1 2026/09/29 13:59 action read-patch-diff
0m Args:
null

Results:
{
  "PatchDiff": "commit 3251c8d82a0ca755a874db229fea0166de31b858\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate:   Tue Sep 29 13:59:41 2026 +0000\n\n    syz-cluster: applied patch under review\n\ndiff --git a/arch/arm/boot/dts/axis/artpec6-devboard.dts b/arch/arm/boot/dts/axis/artpec6-devboard.dts\nindex 042a9cc920c67..55fdd610d3eda 100644\n--- a/arch/arm/boot/dts/axis/artpec6-devboard.dts\n+++ b/arch/arm/boot/dts/axis/artpec6-devboard.dts\n@@ -46,18 +46,19 @@ \u0026pcie {\n };\n \n \u0026ethernet {\n-\tstatus = \"okay\";\n-\n \tphy-handle = \u003c\u0026phy1\u003e;\n \tphy-mode = \"gmii\";\n \n+\tstatus = \"okay\";\n+\n \tmdio {\n+\t\tcompatible = \"snps,dwmac-mdio\";\n \t\t#address-cells = \u003c0x1\u003e;\n \t\t#size-cells = \u003c0x0\u003e;\n-\t\tcompatible = \"snps,dwmac-mdio\";\n+\n \t\tphy1: phy@0 {\n-\t\t\tcompatible = \"ethernet-phy-ieee802.3-c22\";\n \t\t\tdevice_type = \"ethernet-phy\";\n+\t\t\tcompatible = \"ethernet-phy-ieee802.3-c22\";\n \t\t\treg = \u003c0x0\u003e;\n \t\t};\n \t};\ndiff --git a/arch/arm/boot/dts/axis/artpec6.dtsi b/arch/arm/boot/dts/axis/artpec6.dtsi\nindex 037157e6c5ee3..6044a378c5b00 100644\n--- a/arch/arm/boot/dts/axis/artpec6.dtsi\n+++ b/arch/arm/boot/dts/axis/artpec6.dtsi\n@@ -45,9 +45,9 @@\n #include \u003cdt-bindings/clock/axis,artpec6-clkctrl.h\u003e\n \n / {\n+\tcompatible = \"axis,artpec6\";\n \t#address-cells = \u003c1\u003e;\n \t#size-cells = \u003c1\u003e;\n-\tcompatible = \"axis,artpec6\";\n \tinterrupt-parent = \u003c\u0026intc\u003e;\n \n \tcpus {\n@@ -88,22 +88,22 @@ scu@faf00000 {\n \t};\n \n \t/* Main external clock driving CPU and peripherals */\n-\text_clk: ext_clk {\n-\t\t#clock-cells = \u003c0\u003e;\n+\text_clk: ext-clk {\n \t\tcompatible = \"fixed-clock\";\n+\t\t#clock-cells = \u003c0\u003e;\n \t\tclock-frequency = \u003c50000000\u003e;\n \t};\n \n-\teth_phy_ref_clk: eth_phy_ref_clk {\n-\t\t#clock-cells = \u003c0\u003e;\n+\teth_phy_ref_clk: eth-phy-ref-clk {\n \t\tcompatible = \"fixed-clock\";\n+\t\t#clock-cells = \u003c0\u003e;\n \t\tclock-frequency = \u003c125000000\u003e;\n \t};\n \n \tclkctrl: clkctrl@f8000000 {\n-\t\t#clock-cells = \u003c1\u003e;\n \t\tcompatible = \"axis,artpec6-clkctrl\";\n \t\treg = \u003c0xf8000000 0x48\u003e;\n+\t\t#clock-cells = \u003c1\u003e;\n \t\tclocks = \u003c\u0026ext_clk\u003e;\n \t\tclock-names = \"sys_refclk\";\n \t};\n@@ -120,30 +120,31 @@ timer@faf00600 {\n \t\treg = \u003c0xfaf00600 0x20\u003e;\n \t\tinterrupts = \u003cGIC_PPI 13 0xf04\u003e;\n \t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_CPU_PERIPH\u003e;\n+\n \t\tstatus = \"disabled\";\n \t};\n \n \tintc: interrupt-controller@faf01000 {\n-\t\tinterrupt-controller;\n \t\tcompatible = \"arm,cortex-a9-gic\";\n+\t\treg = \u003c0xfaf01000 0x1000\u003e, \u003c0xfaf00100 0x0100\u003e;\n+\t\tinterrupt-controller;\n \t\t#interrupt-cells = \u003c3\u003e;\n-\t\treg = \u003c 0xfaf01000 0x1000 \u003e, \u003c 0xfaf00100 0x0100 \u003e;\n \t};\n \n \tpl310: cache-controller@faf10000 {\n \t\tcompatible = \"arm,pl310-cache\";\n+\t\treg = \u003c0xfaf10000 0x1000\u003e;\n \t\tcache-unified;\n \t\tcache-level = \u003c2\u003e;\n-\t\treg = \u003c0xfaf10000 0x1000\u003e;\n \t\tinterrupts = \u003cGIC_SPI 4 IRQ_TYPE_LEVEL_HIGH\u003e;\n+\t\tprefetch-data = \u003c1\u003e;\n+\t\tprefetch-instr = \u003c1\u003e;\n \t\tarm,data-latency = \u003c1 1 1\u003e;\n \t\tarm,tag-latency = \u003c1 1 1\u003e;\n \t\tarm,filter-ranges = \u003c0x0 0x80000000\u003e;\n \t\tarm,double-linefill = \u003c1\u003e;\n \t\tarm,double-linefill-incr = \u003c0\u003e;\n \t\tarm,double-linefill-wrap = \u003c0\u003e;\n-\t\tprefetch-data = \u003c1\u003e;\n-\t\tprefetch-instr = \u003c1\u003e;\n \t\tarm,prefetch-offset = \u003c0\u003e;\n \t\tarm,prefetch-drop = \u003c1\u003e;\n \t};\n@@ -151,7 +152,7 @@ pl310: cache-controller@faf10000 {\n \tpmu {\n \t\tcompatible = \"arm,cortex-a9-pmu\";\n \t\tinterrupts = \u003cGIC_SPI 0 IRQ_TYPE_LEVEL_HIGH\u003e,\n-\t\t\t\u003cGIC_SPI 1 IRQ_TYPE_LEVEL_HIGH\u003e;\n+\t\t\t     \u003cGIC_SPI 1 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\tinterrupt-affinity = \u003c\u0026cpu0\u003e, \u003c\u0026cpu1\u003e;\n \t};\n \n@@ -160,18 +161,16 @@ pmu {\n \t * leave the unwanted node as disabled.\n \t */\n \tpcie: pcie@f8050000 {\n+\t\tdevice_type = \"pci\";\n \t\tcompatible = \"axis,artpec6-pcie\", \"snps,dw-pcie\";\n-\t\treg = \u003c0xf8050000 0x2000\n-\t\t       0xf8040000 0x1000\n-\t\t       0xc0000000 0x2000\u003e;\n+\t\treg = \u003c0xf8050000 0x2000\u003e,\n+\t\t      \u003c0xf8040000 0x1000\u003e,\n+\t\t      \u003c0xc0000000 0x2000\u003e;\n \t\treg-names = \"dbi\", \"phy\", \"config\";\n+\t\tranges = \u003c0x81000000 0 0 0xc0002000 0 0x00010000\u003e,          /* downstream I/O */\n+\t\t\t \u003c0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000\u003e; /* non-prefetchable */\n \t\t#address-cells = \u003c3\u003e;\n \t\t#size-cells = \u003c2\u003e;\n-\t\tdevice_type = \"pci\";\n-\t\t\t  /* downstream I/O */\n-\t\tranges = \u003c0x81000000 0 0 0xc0002000 0 0x00010000\n-\t\t\t  /* non-prefetchable memory */\n-\t\t\t  0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000\u003e;\n \t\tnum-lanes = \u003c2\u003e;\n \t\tbus-range = \u003c0x00 0xff\u003e;\n \t\tinterrupts = \u003cGIC_SPI 148 IRQ_TYPE_LEVEL_HIGH\u003e;\n@@ -183,20 +182,22 @@ pcie: pcie@f8050000 {\n \t\t\t\t\u003c0 0 0 3 \u0026intc GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH\u003e,\n \t\t\t\t\u003c0 0 0 4 \u0026intc GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\taxis,syscon-pcie = \u003c\u0026syscon\u003e;\n+\n \t\tstatus = \"disabled\";\n \t};\n \n-\tpcie_ep: pcie_ep@f8050000 {\n+\tpcie_ep: pcie-ep@f8050000 {\n \t\tcompatible = \"axis,artpec6-pcie-ep\", \"snps,dw-pcie\";\n-\t\treg = \u003c0xf8050000 0x2000\n-\t\t       0xf8051000 0x2000\n-\t\t       0xf8040000 0x1000\n-\t\t       0xc0000000 0x20000000\u003e;\n+\t\treg = \u003c0xf8050000 0x2000\u003e,\n+\t\t      \u003c0xf8051000 0x2000\u003e,\n+\t\t      \u003c0xf8040000 0x1000\u003e,\n+\t\t      \u003c0xc0000000 0x20000000\u003e;\n \t\treg-names = \"dbi\", \"dbi2\", \"phy\", \"addr_space\";\n \t\tnum-ib-windows = \u003c6\u003e;\n \t\tnum-ob-windows = \u003c2\u003e;\n \t\tnum-lanes = \u003c2\u003e;\n \t\taxis,syscon-pcie = \u003c\u0026syscon\u003e;\n+\n \t\tstatus = \"disabled\";\n \t};\n \n@@ -209,16 +210,19 @@ pinctrl_uart0: uart0grp {\n \t\t\tgroups = \"uart0grp2\";\n \t\t\tbias-pull-up;\n \t\t};\n+\n \t\tpinctrl_uart1: uart1grp {\n \t\t\tfunction = \"uart1\";\n \t\t\tgroups = \"uart1grp0\";\n \t\t\tbias-pull-up;\n \t\t};\n+\n \t\tpinctrl_uart2: uart2grp {\n \t\t\tfunction = \"uart2\";\n \t\t\tgroups = \"uart2grp1\";\n \t\t\tbias-pull-up;\n \t\t};\n+\n \t\tpinctrl_uart3: uart3grp {\n \t\t\tfunction = \"uart3\";\n \t\t\tgroups = \"uart3grp0\";\n@@ -228,9 +232,9 @@ pinctrl_uart3: uart3grp {\n \n \tamba@0 {\n \t\tcompatible = \"simple-bus\";\n+\t\tranges;\n \t\t#address-cells = \u003c0x1\u003e;\n \t\t#size-cells = \u003c0x1\u003e;\n-\t\tranges;\n \t\tdma-ranges;\n \n \t\tcrypto@f4264000 {\n@@ -261,6 +265,7 @@ dma0: dma@f8019000 {\n \t\t\tdma-channels = \u003c8\u003e;\n \t\t\tdma-requests = \u003c8\u003e;\n \t\t};\n+\n \t\tdma1: dma@f8019400 {\n \t\t\tcompatible = \"renesas,nbpfaxi64dmac8b16\";\n \t\t\treg = \u003c0xf8019400 0x400\u003e;\n@@ -285,14 +290,14 @@ dma1: dma@f8019400 {\n \t\t};\n \n \t\tethernet: ethernet@f8010000 {\n-\t\t\tclock-names = \"stmmaceth\", \"ptp_ref\";\n-\t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_ETH_ACLK\u003e,\n-\t\t\t\t\u003c\u0026clkctrl ARTPEC6_CLK_PTP_REF\u003e;\n \t\t\tcompatible = \"snps,dwmac-4.10a\", \"snps,dwmac\";\n+\t\t\treg = \u003c0xf8010000 0x4000\u003e;\n+\t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_ETH_ACLK\u003e,\n+\t\t\t\t \u003c\u0026clkctrl ARTPEC6_CLK_PTP_REF\u003e;\n+\t\t\tclock-names = \"stmmaceth\", \"ptp_ref\";\n \t\t\tinterrupts = \u003cGIC_SPI 98 IRQ_TYPE_LEVEL_HIGH\u003e,\n \t\t\t\t     \u003cGIC_SPI 99 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\t\tinterrupt-names = \"macirq\", \"eth_lpi\";\n-\t\t\treg = \u003c0xf8010000 0x4000\u003e;\n \n \t\t\tsnps,axi-config = \u003c\u0026stmmac_axi_setup\u003e;\n \t\t\tsnps,mtl-rx-config = \u003c\u0026mtl_rx_setup\u003e;\n@@ -318,13 +323,19 @@ stmmac_axi_setup: stmmac-axi-config {\n \n \t\t\tmtl_rx_setup: rx-queues-config {\n \t\t\t\tsnps,rx-queues-to-use = \u003c1\u003e;\n-\t\t\t\tqueue0 {};\n+\n+\t\t\t\tqueue0 {\n+\t\t\t\t};\n \t\t\t};\n \n \t\t\tmtl_tx_setup: tx-queues-config {\n \t\t\t\tsnps,tx-queues-to-use = \u003c2\u003e;\n-\t\t\t\tqueue0 {};\n-\t\t\t\tqueue1 {};\n+\n+\t\t\t\tqueue0 {\n+\t\t\t\t};\n+\n+\t\t\t\tqueue1 {\n+\t\t\t\t};\n \t\t\t};\n \t\t};\n \n@@ -333,55 +344,62 @@ uart0: serial@f8036000 {\n \t\t\treg = \u003c0xf8036000 0x1000\u003e;\n \t\t\tinterrupts = \u003cGIC_SPI 105 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_UART_REFCLK\u003e,\n-\t\t\t\t\u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n+\t\t\t\t \u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n \t\t\tclock-names = \"uart_clk\", \"apb_pclk\";\n-\t\t\tpinctrl-names = \"default\";\n \t\t\tpinctrl-0 = \u003c\u0026pinctrl_uart0\u003e;\n+\t\t\tpinctrl-names = \"default\";\n \t\t\tdmas = \u003c\u0026dma0 4 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e,\n \t\t\t       \u003c\u0026dma0 5 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e;\n \t\t\tdma-names = \"rx\", \"tx\";\n+\n \t\t\tstatus = \"disabled\";\n \t\t};\n+\n \t\tuart1: serial@f8037000 {\n \t\t\tcompatible = \"arm,pl011\", \"arm,primecell\";\n \t\t\treg = \u003c0xf8037000 0x1000\u003e;\n \t\t\tinterrupts = \u003cGIC_SPI 113 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_UART_REFCLK\u003e,\n-\t\t\t\t\u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n+\t\t\t\t \u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n \t\t\tclock-names = \"uart_clk\", \"apb_pclk\";\n-\t\t\tpinctrl-names = \"default\";\n \t\t\tpinctrl-0 = \u003c\u0026pinctrl_uart1\u003e;\n+\t\t\tpinctrl-names = \"default\";\n \t\t\tdmas = \u003c\u0026dma0 6 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e,\n \t\t\t       \u003c\u0026dma0 7 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e;\n \t\t\tdma-names = \"rx\", \"tx\";\n+\n \t\t\tstatus = \"disabled\";\n \t\t};\n+\n \t\tuart2: serial@f8038000 {\n \t\t\tcompatible = \"arm,pl011\", \"arm,primecell\";\n \t\t\treg = \u003c0xf8038000 0x1000\u003e;\n \t\t\tinterrupts = \u003cGIC_SPI 121 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_UART_REFCLK\u003e,\n-\t\t\t\t\u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n+\t\t\t\t \u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n \t\t\tclock-names = \"uart_clk\", \"apb_pclk\";\n-\t\t\tpinctrl-names = \"default\";\n \t\t\tpinctrl-0 = \u003c\u0026pinctrl_uart2\u003e;\n+\t\t\tpinctrl-names = \"default\";\n \t\t\tdmas = \u003c\u0026dma1 0 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e,\n \t\t\t       \u003c\u0026dma1 1 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e;\n \t\t\tdma-names = \"rx\", \"tx\";\n+\n \t\t\tstatus = \"disabled\";\n \t\t};\n+\n \t\tuart3: serial@f8039000 {\n \t\t\tcompatible = \"arm,pl011\", \"arm,primecell\";\n \t\t\treg = \u003c0xf8039000 0x1000\u003e;\n \t\t\tinterrupts = \u003cGIC_SPI 129 IRQ_TYPE_LEVEL_HIGH\u003e;\n \t\t\tclocks = \u003c\u0026clkctrl ARTPEC6_CLK_UART_REFCLK\u003e,\n-\t\t\t\t\u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n+\t\t\t\t \u003c\u0026clkctrl ARTPEC6_CLK_UART_PCLK\u003e;\n \t\t\tclock-names = \"uart_clk\", \"apb_pclk\";\n-\t\t\tpinctrl-names = \"default\";\n \t\t\tpinctrl-0 = \u003c\u0026pinctrl_uart3\u003e;\n+\t\t\tpinctrl-names = \"default\";\n \t\t\tdmas = \u003c\u0026dma1 2 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e,\n \t\t\t       \u003c\u0026dma1 3 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)\u003e;\n \t\t\tdma-names = \"rx\", \"tx\";\n+\n \t\t\tstatus = \"disabled\";\n \t\t};\n \t};\n"
}

2/1 2026/09/29 13:59 agent patch-evaluator
0m Model:
core

Args:
null

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "Reasoning": "The patch only modifies ARM Device Tree source files (arch/arm/boot/dts/axis/), which are exclusive to the ARM architecture and not compiled or executed on the target architecture (amd64).",
  "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 3251c8d82a0ca755a874db229fea0166de31b858
Author: syz-cluster <triage@syzkaller.com>
Date:   Tue Sep 29 13:59:41 2026 +0000

    syz-cluster: applied patch under review

diff --git a/arch/arm/boot/dts/axis/artpec6-devboard.dts b/arch/arm/boot/dts/axis/artpec6-devboard.dts
index 042a9cc920c67..55fdd610d3eda 100644
--- a/arch/arm/boot/dts/axis/artpec6-devboard.dts
+++ b/arch/arm/boot/dts/axis/artpec6-devboard.dts
@@ -46,18 +46,19 @@ &pcie {
 };
 
 &ethernet {
-	status = "okay";
-
 	phy-handle = <&phy1>;
 	phy-mode = "gmii";
 
+	status = "okay";
+
 	mdio {
+		compatible = "snps,dwmac-mdio";
 		#address-cells = <0x1>;
 		#size-cells = <0x0>;
-		compatible = "snps,dwmac-mdio";
+
 		phy1: phy@0 {
-			compatible = "ethernet-phy-ieee802.3-c22";
 			device_type = "ethernet-phy";
+			compatible = "ethernet-phy-ieee802.3-c22";
 			reg = <0x0>;
 		};
 	};
diff --git a/arch/arm/boot/dts/axis/artpec6.dtsi b/arch/arm/boot/dts/axis/artpec6.dtsi
index 037157e6c5ee3..6044a378c5b00 100644
--- a/arch/arm/boot/dts/axis/artpec6.dtsi
+++ b/arch/arm/boot/dts/axis/artpec6.dtsi
@@ -45,9 +45,9 @@
 #include <dt-bindings/clock/axis,artpec6-clkctrl.h>
 
 / {
+	compatible = "axis,artpec6";
 	#address-cells = <1>;
 	#size-cells = <1>;
-	compatible = "axis,artpec6";
 	interrupt-parent = <&intc>;
 
 	cpus {
@@ -88,22 +88,22 @@ scu@faf00000 {
 	};
 
 	/* Main external clock driving CPU and peripherals */
-	ext_clk: ext_clk {
-		#clock-cells = <0>;
+	ext_clk: ext-clk {
 		compatible = "fixed-clock";
+		#clock-cells = <0>;
 		clock-frequency = <50000000>;
 	};
 
-	eth_phy_ref_clk: eth_phy_ref_clk {
-		#clock-cells = <0>;
+	eth_phy_ref_clk: eth-phy-ref-clk {
 		compatible = "fixed-clock";
+		#clock-cells = <0>;
 		clock-frequency = <125000000>;
 	};
 
 	clkctrl: clkctrl@f8000000 {
-		#clock-cells = <1>;
 		compatible = "axis,artpec6-clkctrl";
 		reg = <0xf8000000 0x48>;
+		#clock-cells = <1>;
 		clocks = <&ext_clk>;
 		clock-names = "sys_refclk";
 	};
@@ -120,30 +120,31 @@ timer@faf00600 {
 		reg = <0xfaf00600 0x20>;
 		interrupts = <GIC_PPI 13 0xf04>;
 		clocks = <&clkctrl ARTPEC6_CLK_CPU_PERIPH>;
+
 		status = "disabled";
 	};
 
 	intc: interrupt-controller@faf01000 {
-		interrupt-controller;
 		compatible = "arm,cortex-a9-gic";
+		reg = <0xfaf01000 0x1000>, <0xfaf00100 0x0100>;
+		interrupt-controller;
 		#interrupt-cells = <3>;
-		reg = < 0xfaf01000 0x1000 >, < 0xfaf00100 0x0100 >;
 	};
 
 	pl310: cache-controller@faf10000 {
 		compatible = "arm,pl310-cache";
+		reg = <0xfaf10000 0x1000>;
 		cache-unified;
 		cache-level = <2>;
-		reg = <0xfaf10000 0x1000>;
 		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+		prefetch-data = <1>;
+		prefetch-instr = <1>;
 		arm,data-latency = <1 1 1>;
 		arm,tag-latency = <1 1 1>;
 		arm,filter-ranges = <0x0 0x80000000>;
 		arm,double-linefill = <1>;
 		arm,double-linefill-incr = <0>;
 		arm,double-linefill-wrap = <0>;
-		prefetch-data = <1>;
-		prefetch-instr = <1>;
 		arm,prefetch-offset = <0>;
 		arm,prefetch-drop = <1>;
 	};
@@ -151,7 +152,7 @@ pl310: cache-controller@faf10000 {
 	pmu {
 		compatible = "arm,cortex-a9-pmu";
 		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
-			<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
 		interrupt-affinity = <&cpu0>, <&cpu1>;
 	};
 
@@ -160,18 +161,16 @@ pmu {
 	 * leave the unwanted node as disabled.
 	 */
 	pcie: pcie@f8050000 {
+		device_type = "pci";
 		compatible = "axis,artpec6-pcie", "snps,dw-pcie";
-		reg = <0xf8050000 0x2000
-		       0xf8040000 0x1000
-		       0xc0000000 0x2000>;
+		reg = <0xf8050000 0x2000>,
+		      <0xf8040000 0x1000>,
+		      <0xc0000000 0x2000>;
 		reg-names = "dbi", "phy", "config";
+		ranges = <0x81000000 0 0 0xc0002000 0 0x00010000>,          /* downstream I/O */
+			 <0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000>; /* non-prefetchable */
 		#address-cells = <3>;
 		#size-cells = <2>;
-		device_type = "pci";
-			  /* downstream I/O */
-		ranges = <0x81000000 0 0 0xc0002000 0 0x00010000
-			  /* non-prefetchable memory */
-			  0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000>;
 		num-lanes = <2>;
 		bus-range = <0x00 0xff>;
 		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
@@ -183,20 +182,22 @@ pcie: pcie@f8050000 {
 				<0 0 0 3 &intc GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
 				<0 0 0 4 &intc GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
 		axis,syscon-pcie = <&syscon>;
+
 		status = "disabled";
 	};
 
-	pcie_ep: pcie_ep@f8050000 {
+	pcie_ep: pcie-ep@f8050000 {
 		compatible = "axis,artpec6-pcie-ep", "snps,dw-pcie";
-		reg = <0xf8050000 0x2000
-		       0xf8051000 0x2000
-		       0xf8040000 0x1000
-		       0xc0000000 0x20000000>;
+		reg = <0xf8050000 0x2000>,
+		      <0xf8051000 0x2000>,
+		      <0xf8040000 0x1000>,
+		      <0xc0000000 0x20000000>;
 		reg-names = "dbi", "dbi2", "phy", "addr_space";
 		num-ib-windows = <6>;
 		num-ob-windows = <2>;
 		num-lanes = <2>;
 		axis,syscon-pcie = <&syscon>;
+
 		status = "disabled";
 	};
 
@@ -209,16 +210,19 @@ pinctrl_uart0: uart0grp {
 			groups = "uart0grp2";
 			bias-pull-up;
 		};
+
 		pinctrl_uart1: uart1grp {
 			function = "uart1";
 			groups = "uart1grp0";
 			bias-pull-up;
 		};
+
 		pinctrl_uart2: uart2grp {
 			function = "uart2";
 			groups = "uart2grp1";
 			bias-pull-up;
 		};
+
 		pinctrl_uart3: uart3grp {
 			function = "uart3";
 			groups = "uart3grp0";
@@ -228,9 +232,9 @@ pinctrl_uart3: uart3grp {
 
 	amba@0 {
 		compatible = "simple-bus";
+		ranges;
 		#address-cells = <0x1>;
 		#size-cells = <0x1>;
-		ranges;
 		dma-ranges;
 
 		crypto@f4264000 {
@@ -261,6 +265,7 @@ dma0: dma@f8019000 {
 			dma-channels = <8>;
 			dma-requests = <8>;
 		};
+
 		dma1: dma@f8019400 {
 			compatible = "renesas,nbpfaxi64dmac8b16";
 			reg = <0xf8019400 0x400>;
@@ -285,14 +290,14 @@ dma1: dma@f8019400 {
 		};
 
 		ethernet: ethernet@f8010000 {
-			clock-names = "stmmaceth", "ptp_ref";
-			clocks = <&clkctrl ARTPEC6_CLK_ETH_ACLK>,
-				<&clkctrl ARTPEC6_CLK_PTP_REF>;
 			compatible = "snps,dwmac-4.10a", "snps,dwmac";
+			reg = <0xf8010000 0x4000>;
+			clocks = <&clkctrl ARTPEC6_CLK_ETH_ACLK>,
+				 <&clkctrl ARTPEC6_CLK_PTP_REF>;
+			clock-names = "stmmaceth", "ptp_ref";
 			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "macirq", "eth_lpi";
-			reg = <0xf8010000 0x4000>;
 
 			snps,axi-config = <&stmmac_axi_setup>;
 			snps,mtl-rx-config = <&mtl_rx_setup>;
@@ -318,13 +323,19 @@ stmmac_axi_setup: stmmac-axi-config {
 
 			mtl_rx_setup: rx-queues-config {
 				snps,rx-queues-to-use = <1>;
-				queue0 {};
+
+				queue0 {
+				};
 			};
 
 			mtl_tx_setup: tx-queues-config {
 				snps,tx-queues-to-use = <2>;
-				queue0 {};
-				queue1 {};
+
+				queue0 {
+				};
+
+				queue1 {
+				};
 			};
 		};
 
@@ -333,55 +344,62 @@ uart0: serial@f8036000 {
 			reg = <0xf8036000 0x1000>;
 			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
-				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
+				 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
 			clock-names = "uart_clk", "apb_pclk";
-			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_uart0>;
+			pinctrl-names = "default";
 			dmas = <&dma0 4 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
 			       <&dma0 5 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
 			dma-names = "rx", "tx";
+
 			status = "disabled";
 		};
+
 		uart1: serial@f8037000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0xf8037000 0x1000>;
 			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
-				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
+				 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
 			clock-names = "uart_clk", "apb_pclk";
-			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_uart1>;
+			pinctrl-names = "default";
 			dmas = <&dma0 6 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
 			       <&dma0 7 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
 			dma-names = "rx", "tx";
+
 			status = "disabled";
 		};
+
 		uart2: serial@f8038000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0xf8038000 0x1000>;
 			interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
-				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
+				 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
 			clock-names = "uart_clk", "apb_pclk";
-			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_uart2>;
+			pinctrl-names = "default";
 			dmas = <&dma1 0 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
 			       <&dma1 1 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
 			dma-names = "rx", "tx";
+
 			status = "disabled";
 		};
+
 		uart3: serial@f8039000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0xf8039000 0x1000>;
 			interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
-				<&clkctrl ARTPEC6_CLK_UART_PCLK>;
+				 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
 			clock-names = "uart_clk", "apb_pclk";
-			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_uart3>;
+			pinctrl-names = "default";
 			dmas = <&dma1 2 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
 			       <&dma1 3 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
 			dma-names = "rx", "tx";
+
 			status = "disabled";
 		};
 	};

3/2 2026/09/29 13:59 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 7364
							output: 17
							thoughts: 443
						

Thoughts:
**Analyzing This Patch: ARM DTS Files on an amd64 Target**

Okay, so let's break this down. First, the patch and instructions. The target architecture is clearly defined as amd64, which immediately raises a red flag given the modified files. It looks like the patch touches `arch/arm/boot/dts/axis/artpec6-devboard.dts` and `arch/arm/boot/dts/axis/artpec6.dtsi`. Hmm, wait a second... these are DTS files – Device Tree Source files for ARM, specifically 32-bit ARM, as the path `arch/arm/boot/dts/...` clearly indicates. But the target is amd64? That's a major discrepancy.

Now, let's reference the criteria for `WorthFuzzing=false`. The instruction states that it's okay to return "false" if the changes fall under specific categories. One of these categories is "Code paths exclusive to architectures other than the target architecture." Bingo! These DTS files are *explicitly* ARM-specific. They're related to the Axis Artpec-6 SoC and its development board, totally outside the realm of amd64. Even on ARM, these are just DTS node ordering or formatting cleanups, not functionality changes, and are not compiled into amd64 kernels!

So, the paths aren't reachable, and it's a clear case of an exclusive architecture mismatch. Now, let's verify my deduction with `git diff` and check the `git log` if necessary, or check the file itself. I'll need to confirm what is actually modified and make sure this is the case.



4/2 2026/09/29 13:59 tool grepper
0m Args:
{
  "Expression": "artpec6"
}

Results:
{
  "Output": "\nFull output is too long, showing 500 out of 2175 lines.\nUse more precise expression if possible.\n\nDocumentation/devicetree/bindings/arm/axis.yaml=17=properties:\n--\nDocumentation/devicetree/bindings/arm/axis.yaml-24-          - enum:\nDocumentation/devicetree/bindings/arm/axis.yaml:25:              - axis,artpec6-dev-board\nDocumentation/devicetree/bindings/arm/axis.yaml:26:          - const: axis,artpec6\nDocumentation/devicetree/bindings/arm/axis.yaml-27-\n--\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-3----\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml:4:$id: http://devicetree.org/schemas/axis,artpec6-clkctrl.yaml#\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-5-$schema: http://devicetree.org/meta-schemas/core.yaml#\n--\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml=12=properties:\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-13-  compatible:\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml:14:    const: axis,artpec6-clkctrl\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-15-\n--\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml=47=examples:\n--\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-49-    clock-controller@f8000000 {\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml:50:        compatible = \"axis,artpec6-clkctrl\";\nDocumentation/devicetree/bindings/clock/axis,artpec6-clkctrl.yaml-51-        reg = \u003c0xf8000000 0x48\u003e;\n--\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-3----\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml:4:$id: http://devicetree.org/schemas/crypto/axis,artpec6-crypto.yaml#\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-5-$schema: http://devicetree.org/meta-schemas/core.yaml#\n--\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml=12=properties:\n--\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-14-    enum:\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml:15:      - axis,artpec6-crypto\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-16-      - axis,artpec7-crypto\n--\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml=31=examples:\n--\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-35-    crypto@f4264000 {\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml:36:        compatible = \"axis,artpec6-crypto\";\nDocumentation/devicetree/bindings/crypto/axis,artpec6-crypto.yaml-37-        reg = \u003c0xf4264000 0x1000\u003e;\n--\nDocumentation/devicetree/bindings/mfd/syscon.yaml=22=properties:\n--\nDocumentation/devicetree/bindings/mfd/syscon.yaml-52-              - atmel,sama5d4-sfrbu\nDocumentation/devicetree/bindings/mfd/syscon.yaml:53:              - axis,artpec6-syscon\nDocumentation/devicetree/bindings/mfd/syscon.yaml-54-              - brcm,cru-clkset\n--\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt=12=Required properties:\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-13-- compatible: One of:\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt:14:  - \"axis,artpec6-eqos\", \"snps,dwc-qos-ethernet-4.10\"\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-15-    Represents the IP core when integrated into the Axis ARTPEC-6 SoC.\n--\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-19-    This combination is deprecated. It should be treated as equivalent to\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt:20:    \"axis,artpec6-eqos\", \"snps,dwc-qos-ethernet-4.10\". It is supported to be\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-21-    compatible with earlier revisions of this binding.\n--\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-77-    - \"ptp_ref\"\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt:78:  - \"axis,artpec6-eqos\", \"snps,dwc-qos-ethernet-4.10\":\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-79-    - \"slave_bus\"\n--\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-98-    - \"eqos\".\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt:99:  - \"axis,artpec6-eqos\", \"snps,dwc-qos-ethernet-4.10\":\nDocumentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt-100-    - None.\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-4----\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:5:$id: http://devicetree.org/schemas/pci/axis,artpec6-pcie.yaml#\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-6-$schema: http://devicetree.org/meta-schemas/core.yaml#\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml=16=select:\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-20-        enum:\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:21:          - axis,artpec6-pcie\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:22:          - axis,artpec6-pcie-ep\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-23-          - axis,artpec7-pcie\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml=28=properties:\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-31-      - enum:\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:32:          - axis,artpec6-pcie\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:33:          - axis,artpec6-pcie-ep\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-34-          - axis,artpec7-pcie\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml=92=examples:\n--\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-96-    pcie@f8050000 {\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml:97:        compatible = \"axis,artpec6-pcie\", \"snps,dw-pcie\";\nDocumentation/devicetree/bindings/pci/axis,artpec6-pcie.yaml-98-        device_type = \"pci\";\n--\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt=3=Required properties:\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt:4:- compatible: \"axis,artpec6-pinctrl\".\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt-5-- reg: Should contain the register physical address and length for the pin\n--\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt=55=pinctrl@f801d000 {\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt:56:\tcompatible = \"axis,artpec6-pinctrl\";\nDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt-57-\treg = \u003c0xf801d000 0x400\u003e;\n--\nMAINTAINERS=2704=S:\tMaintained\nMAINTAINERS:2705:F:\tDocumentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt\nMAINTAINERS-2706-F:\tarch/arm/boot/dts/axis/\n--\narch/arm/boot/dts/axis/Makefile=2=dtb-$(CONFIG_MACH_ARTPEC6) += \\\narch/arm/boot/dts/axis/Makefile:3:\tartpec6-devboard.dtb\narch/arm/boot/dts/axis/Makefile-4-dtb-$(CONFIG_MACH_ARTPEC6) += \\\narch/arm/boot/dts/axis/Makefile:5:\tartpec6-devboard.dtb\n--\narch/arm/boot/dts/axis/artpec6-devboard.dts-4-/dts-v1/;\narch/arm/boot/dts/axis/artpec6-devboard.dts:5:#include \"artpec6.dtsi\"\narch/arm/boot/dts/axis/artpec6-devboard.dts-6-\narch/arm/boot/dts/axis/artpec6-devboard.dts=7=/ {\narch/arm/boot/dts/axis/artpec6-devboard.dts-8-\tmodel = \"ARTPEC-6 development board\";\narch/arm/boot/dts/axis/artpec6-devboard.dts:9:\tcompatible = \"axis,artpec6-dev-board\", \"axis,artpec6\";\narch/arm/boot/dts/axis/artpec6-devboard.dts-10-\n--\narch/arm/boot/dts/axis/artpec6.dtsi-44-#include \u003cdt-bindings/dma/nbpfaxi.h\u003e\narch/arm/boot/dts/axis/artpec6.dtsi:45:#include \u003cdt-bindings/clock/axis,artpec6-clkctrl.h\u003e\narch/arm/boot/dts/axis/artpec6.dtsi-46-\narch/arm/boot/dts/axis/artpec6.dtsi=47=/ {\narch/arm/boot/dts/axis/artpec6.dtsi:48:\tcompatible = \"axis,artpec6\";\narch/arm/boot/dts/axis/artpec6.dtsi-49-\t#address-cells = \u003c1\u003e;\n--\narch/arm/boot/dts/axis/artpec6.dtsi=72=\tsyscon: syscon@f8000000 {\narch/arm/boot/dts/axis/artpec6.dtsi:73:\t\tcompatible = \"axis,artpec6-syscon\", \"syscon\";\narch/arm/boot/dts/axis/artpec6.dtsi-74-\t\treg = \u003c0xf8000000 0x48\u003e;\n--\narch/arm/boot/dts/axis/artpec6.dtsi=103=\tclkctrl: clkctrl@f8000000 {\narch/arm/boot/dts/axis/artpec6.dtsi:104:\t\tcompatible = \"axis,artpec6-clkctrl\";\narch/arm/boot/dts/axis/artpec6.dtsi-105-\t\treg = \u003c0xf8000000 0x48\u003e;\n--\narch/arm/boot/dts/axis/artpec6.dtsi=163=\tpcie: pcie@f8050000 {\narch/arm/boot/dts/axis/artpec6.dtsi-164-\t\tdevice_type = \"pci\";\narch/arm/boot/dts/axis/artpec6.dtsi:165:\t\tcompatible = \"axis,artpec6-pcie\", \"snps,dw-pcie\";\narch/arm/boot/dts/axis/artpec6.dtsi-166-\t\treg = \u003c0xf8050000 0x2000\u003e,\n--\narch/arm/boot/dts/axis/artpec6.dtsi=189=\tpcie_ep: pcie-ep@f8050000 {\narch/arm/boot/dts/axis/artpec6.dtsi:190:\t\tcompatible = \"axis,artpec6-pcie-ep\", \"snps,dw-pcie\";\narch/arm/boot/dts/axis/artpec6.dtsi-191-\t\treg = \u003c0xf8050000 0x2000\u003e,\n--\narch/arm/boot/dts/axis/artpec6.dtsi=204=\tpinctrl: pinctrl@f801d000 {\narch/arm/boot/dts/axis/artpec6.dtsi:205:\t\tcompatible = \"axis,artpec6-pinctrl\";\narch/arm/boot/dts/axis/artpec6.dtsi-206-\t\treg = \u003c0xf801d000 0x400\u003e;\n--\narch/arm/boot/dts/axis/artpec6.dtsi=240=\t\tcrypto@f4264000 {\narch/arm/boot/dts/axis/artpec6.dtsi:241:\t\t\tcompatible = \"axis,artpec6-crypto\";\narch/arm/boot/dts/axis/artpec6.dtsi-242-\t\t\treg = \u003c0xf4264000 0x4000\u003e;\n--\narch/arm/mach-artpec/Makefile-1-# SPDX-License-Identifier: GPL-2.0-only\narch/arm/mach-artpec/Makefile:2:obj-$(CONFIG_MACH_ARTPEC6)\t\t:= board-artpec6.o\n--\narch/arm/mach-artpec/board-artpec6.c-29-\narch/arm/mach-artpec/board-artpec6.c:30:static void __init artpec6_init_machine(void)\narch/arm/mach-artpec/board-artpec6.c-31-{\n--\narch/arm/mach-artpec/board-artpec6.c-33-\narch/arm/mach-artpec/board-artpec6.c:34:\tregmap = syscon_regmap_lookup_by_compatible(\"axis,artpec6-syscon\");\narch/arm/mach-artpec/board-artpec6.c-35-\n--\narch/arm/mach-artpec/board-artpec6.c-44-\narch/arm/mach-artpec/board-artpec6.c:45:static void artpec6_l2c310_write_sec(unsigned long val, unsigned reg)\narch/arm/mach-artpec/board-artpec6.c-46-{\n--\narch/arm/mach-artpec/board-artpec6.c-54-\narch/arm/mach-artpec/board-artpec6.c:55:static const char * const artpec6_dt_match[] = {\narch/arm/mach-artpec/board-artpec6.c:56:\t\"axis,artpec6\",\narch/arm/mach-artpec/board-artpec6.c-57-\tNULL\n--\narch/arm/mach-artpec/board-artpec6.c=60=DT_MACHINE_START(ARTPEC6, \"Axis ARTPEC-6 Platform\")\n--\narch/arm/mach-artpec/board-artpec6.c-62-\t.l2c_aux_mask\t= 0xF3FFFFFF,\narch/arm/mach-artpec/board-artpec6.c:63:\t.l2c_write_sec  = artpec6_l2c310_write_sec,\narch/arm/mach-artpec/board-artpec6.c:64:\t.init_machine\t= artpec6_init_machine,\narch/arm/mach-artpec/board-artpec6.c:65:\t.dt_compat\t= artpec6_dt_match,\narch/arm/mach-artpec/board-artpec6.c-66-MACHINE_END\n--\ndrivers/clk/axis/Makefile-1-# SPDX-License-Identifier: GPL-2.0-only\ndrivers/clk/axis/Makefile:2:obj-$(CONFIG_MACH_ARTPEC6)\t+= clk-artpec6.o\n--\ndrivers/clk/axis/clk-artpec6.c-14-#include \u003clinux/slab.h\u003e\ndrivers/clk/axis/clk-artpec6.c:15:#include \u003cdt-bindings/clock/axis,artpec6-clkctrl.h\u003e\ndrivers/clk/axis/clk-artpec6.c-16-\n--\ndrivers/clk/axis/clk-artpec6.c-18-\ndrivers/clk/axis/clk-artpec6.c:19:struct artpec6_clkctrl_drvdata {\ndrivers/clk/axis/clk-artpec6.c-20-\tstruct clk *clk_table[ARTPEC6_CLK_NUMCLOCKS];\n--\ndrivers/clk/axis/clk-artpec6.c-25-\ndrivers/clk/axis/clk-artpec6.c:26:static struct artpec6_clkctrl_drvdata *clkdata;\ndrivers/clk/axis/clk-artpec6.c-27-\n--\ndrivers/clk/axis/clk-artpec6.c=33=static const int i2s_clk_indexes[NUM_I2S_CLOCKS] = {\n--\ndrivers/clk/axis/clk-artpec6.c-37-\ndrivers/clk/axis/clk-artpec6.c:38:static void of_artpec6_clkctrl_setup(struct device_node *np)\ndrivers/clk/axis/clk-artpec6.c-39-{\n--\ndrivers/clk/axis/clk-artpec6.c-112-\ndrivers/clk/axis/clk-artpec6.c:113:CLK_OF_DECLARE_DRIVER(artpec6_clkctrl, \"axis,artpec6-clkctrl\",\ndrivers/clk/axis/clk-artpec6.c:114:\t\t      of_artpec6_clkctrl_setup);\ndrivers/clk/axis/clk-artpec6.c-115-\ndrivers/clk/axis/clk-artpec6.c:116:static int artpec6_clkctrl_probe(struct platform_device *pdev)\ndrivers/clk/axis/clk-artpec6.c-117-{\n--\ndrivers/clk/axis/clk-artpec6.c=226=static const struct of_device_id artpec_clkctrl_of_match[] = {\ndrivers/clk/axis/clk-artpec6.c:227:\t{ .compatible = \"axis,artpec6-clkctrl\" },\ndrivers/clk/axis/clk-artpec6.c-228-\t{}\n--\ndrivers/clk/axis/clk-artpec6.c-230-\ndrivers/clk/axis/clk-artpec6.c:231:static struct platform_driver artpec6_clkctrl_driver = {\ndrivers/clk/axis/clk-artpec6.c:232:\t.probe = artpec6_clkctrl_probe,\ndrivers/clk/axis/clk-artpec6.c-233-\t.driver = {\ndrivers/clk/axis/clk-artpec6.c:234:\t\t   .name = \"artpec6_clkctrl\",\ndrivers/clk/axis/clk-artpec6.c-235-\t\t   .of_match_table = artpec_clkctrl_of_match,\n--\ndrivers/clk/axis/clk-artpec6.c-238-\ndrivers/clk/axis/clk-artpec6.c:239:builtin_platform_driver(artpec6_clkctrl_driver);\n--\ndrivers/crypto/axis/Makefile-1-# SPDX-License-Identifier: GPL-2.0-only\ndrivers/crypto/axis/Makefile:2:obj-$(CONFIG_CRYPTO_DEV_ARTPEC6) := artpec6_crypto.o\n--\ndrivers/crypto/axis/artpec6_crypto.c=175=struct pdma_stat_descr {\n--\ndrivers/crypto/axis/artpec6_crypto.c-221-\ndrivers/crypto/axis/artpec6_crypto.c:222:struct artpec6_crypto_bounce_buffer {\ndrivers/crypto/axis/artpec6_crypto.c-223-\tstruct list_head list;\n--\ndrivers/crypto/axis/artpec6_crypto.c-232-\ndrivers/crypto/axis/artpec6_crypto.c:233:struct artpec6_crypto_dma_map {\ndrivers/crypto/axis/artpec6_crypto.c-234-\tdma_addr_t dma_addr;\n--\ndrivers/crypto/axis/artpec6_crypto.c-238-\ndrivers/crypto/axis/artpec6_crypto.c:239:struct artpec6_crypto_dma_descriptors {\ndrivers/crypto/axis/artpec6_crypto.c-240-\tstruct pdma_descr out[PDMA_DESCR_COUNT] __aligned(64);\n--\ndrivers/crypto/axis/artpec6_crypto.c-244-\t/* Enough maps for all out/in buffers, and all three descr. arrays */\ndrivers/crypto/axis/artpec6_crypto.c:245:\tstruct artpec6_crypto_dma_map maps[PDMA_DESCR_COUNT * 2 + 2];\ndrivers/crypto/axis/artpec6_crypto.c-246-\tdma_addr_t out_dma_addr;\n--\ndrivers/crypto/axis/artpec6_crypto.c-253-\ndrivers/crypto/axis/artpec6_crypto.c:254:enum artpec6_crypto_variant {\ndrivers/crypto/axis/artpec6_crypto.c-255-\tARTPEC6_CRYPTO = 1,\n--\ndrivers/crypto/axis/artpec6_crypto.c-258-\ndrivers/crypto/axis/artpec6_crypto.c:259:struct artpec6_crypto {\ndrivers/crypto/axis/artpec6_crypto.c-260-\tvoid __iomem *base;\n--\ndrivers/crypto/axis/artpec6_crypto.c-267-\tstruct timer_list timer;\ndrivers/crypto/axis/artpec6_crypto.c:268:\tenum artpec6_crypto_variant variant;\ndrivers/crypto/axis/artpec6_crypto.c-269-\tvoid *pad_buffer; /* cache-aligned block padding buffer */\n--\ndrivers/crypto/axis/artpec6_crypto.c-272-\ndrivers/crypto/axis/artpec6_crypto.c:273:enum artpec6_crypto_hash_flags {\ndrivers/crypto/axis/artpec6_crypto.c-274-\tHASH_FLAG_INIT_CTX = 2,\n--\ndrivers/crypto/axis/artpec6_crypto.c-280-\ndrivers/crypto/axis/artpec6_crypto.c:281:struct artpec6_crypto_req_common {\ndrivers/crypto/axis/artpec6_crypto.c-282-\tstruct list_head list;\ndrivers/crypto/axis/artpec6_crypto.c-283-\tstruct list_head complete_in_progress;\ndrivers/crypto/axis/artpec6_crypto.c:284:\tstruct artpec6_crypto_dma_descriptors *dma;\ndrivers/crypto/axis/artpec6_crypto.c-285-\tstruct crypto_async_request *req;\n--\ndrivers/crypto/axis/artpec6_crypto.c-289-\ndrivers/crypto/axis/artpec6_crypto.c:290:struct artpec6_hash_request_context {\ndrivers/crypto/axis/artpec6_crypto.c-291-\tchar partial_buffer[SHA256_BLOCK_SIZE];\n--\ndrivers/crypto/axis/artpec6_crypto.c-299-\tu32 hash_md;\ndrivers/crypto/axis/artpec6_crypto.c:300:\tenum artpec6_crypto_hash_flags hash_flags;\ndrivers/crypto/axis/artpec6_crypto.c:301:\tstruct artpec6_crypto_req_common common;\ndrivers/crypto/axis/artpec6_crypto.c-302-};\ndrivers/crypto/axis/artpec6_crypto.c-303-\ndrivers/crypto/axis/artpec6_crypto.c:304:struct artpec6_hash_export_state {\ndrivers/crypto/axis/artpec6_crypto.c-305-\tchar partial_buffer[SHA256_BLOCK_SIZE];\n--\ndrivers/crypto/axis/artpec6_crypto.c-312-\ndrivers/crypto/axis/artpec6_crypto.c:313:struct artpec6_hashalg_context {\ndrivers/crypto/axis/artpec6_crypto.c-314-\tchar hmac_key[SHA256_BLOCK_SIZE];\n--\ndrivers/crypto/axis/artpec6_crypto.c-318-\ndrivers/crypto/axis/artpec6_crypto.c:319:struct artpec6_crypto_request_context {\ndrivers/crypto/axis/artpec6_crypto.c-320-\tu32 cipher_md;\ndrivers/crypto/axis/artpec6_crypto.c-321-\tbool decrypt;\ndrivers/crypto/axis/artpec6_crypto.c:322:\tstruct artpec6_crypto_req_common common;\ndrivers/crypto/axis/artpec6_crypto.c-323-};\ndrivers/crypto/axis/artpec6_crypto.c-324-\ndrivers/crypto/axis/artpec6_crypto.c:325:struct artpec6_cryptotfm_context {\ndrivers/crypto/axis/artpec6_crypto.c-326-\tunsigned char aes_key[2*AES_MAX_KEY_SIZE];\n--\ndrivers/crypto/axis/artpec6_crypto.c-332-\ndrivers/crypto/axis/artpec6_crypto.c:333:struct artpec6_crypto_aead_hw_ctx {\ndrivers/crypto/axis/artpec6_crypto.c-334-\t__be64\taad_length_bits;\n--\ndrivers/crypto/axis/artpec6_crypto.c-338-\ndrivers/crypto/axis/artpec6_crypto.c:339:struct artpec6_crypto_aead_req_ctx {\ndrivers/crypto/axis/artpec6_crypto.c:340:\tstruct artpec6_crypto_aead_hw_ctx hw_ctx;\ndrivers/crypto/axis/artpec6_crypto.c-341-\tu32 cipher_md;\ndrivers/crypto/axis/artpec6_crypto.c-342-\tbool decrypt;\ndrivers/crypto/axis/artpec6_crypto.c:343:\tstruct artpec6_crypto_req_common common;\ndrivers/crypto/axis/artpec6_crypto.c-344-\t__u8 decryption_tag[AES_BLOCK_SIZE] ____cacheline_aligned;\n--\ndrivers/crypto/axis/artpec6_crypto.c-347-/* The crypto framework makes it hard to avoid this global. */\ndrivers/crypto/axis/artpec6_crypto.c:348:static struct device *artpec6_crypto_dev;\ndrivers/crypto/axis/artpec6_crypto.c-349-\ndrivers/crypto/axis/artpec6_crypto.c-350-#ifdef CONFIG_FAULT_INJECTION\ndrivers/crypto/axis/artpec6_crypto.c:351:static DECLARE_FAULT_ATTR(artpec6_crypto_fail_status_read);\ndrivers/crypto/axis/artpec6_crypto.c:352:static DECLARE_FAULT_ATTR(artpec6_crypto_fail_dma_array_full);\ndrivers/crypto/axis/artpec6_crypto.c-353-#endif\n--\ndrivers/crypto/axis/artpec6_crypto.c=355=enum {\n--\ndrivers/crypto/axis/artpec6_crypto.c-359-\ndrivers/crypto/axis/artpec6_crypto.c:360:static int artpec6_crypto_prepare_aead(struct aead_request *areq);\ndrivers/crypto/axis/artpec6_crypto.c:361:static int artpec6_crypto_prepare_crypto(struct skcipher_request *areq);\ndrivers/crypto/axis/artpec6_crypto.c:362:static int artpec6_crypto_prepare_hash(struct ahash_request *areq);\ndrivers/crypto/axis/artpec6_crypto.c-363-\ndrivers/crypto/axis/artpec6_crypto.c=364=static void\ndrivers/crypto/axis/artpec6_crypto.c:365:artpec6_crypto_complete_crypto(struct crypto_async_request *req);\ndrivers/crypto/axis/artpec6_crypto.c-366-static void\ndrivers/crypto/axis/artpec6_crypto.c:367:artpec6_crypto_complete_cbc_encrypt(struct crypto_async_request *req);\ndrivers/crypto/axis/artpec6_crypto.c-368-static void\ndrivers/crypto/axis/artpec6_crypto.c:369:artpec6_crypto_complete_cbc_decrypt(struct crypto_async_request *req);\ndrivers/crypto/axis/artpec6_crypto.c-370-static void\ndrivers/crypto/axis/artpec6_crypto.c:371:artpec6_crypto_complete_aead(struct crypto_async_request *req);\ndrivers/crypto/axis/artpec6_crypto.c-372-static void\ndrivers/crypto/axis/artpec6_crypto.c:373:artpec6_crypto_complete_hash(struct crypto_async_request *req);\ndrivers/crypto/axis/artpec6_crypto.c-374-\ndrivers/crypto/axis/artpec6_crypto.c=375=static int\ndrivers/crypto/axis/artpec6_crypto.c:376:artpec6_crypto_common_destroy(struct artpec6_crypto_req_common *common);\ndrivers/crypto/axis/artpec6_crypto.c-377-\ndrivers/crypto/axis/artpec6_crypto.c=378=static void\ndrivers/crypto/axis/artpec6_crypto.c:379:artpec6_crypto_start_dma(struct artpec6_crypto_req_common *common);\ndrivers/crypto/axis/artpec6_crypto.c-380-\ndrivers/crypto/axis/artpec6_crypto.c:381:struct artpec6_crypto_walk {\ndrivers/crypto/axis/artpec6_crypto.c-382-\tstruct scatterlist *sg;\n--\ndrivers/crypto/axis/artpec6_crypto.c-385-\ndrivers/crypto/axis/artpec6_crypto.c:386:static void artpec6_crypto_walk_init(struct artpec6_crypto_walk *awalk,\ndrivers/crypto/axis/artpec6_crypto.c-387-\t\t\t\t     struct scatterlist *sg)\n--\ndrivers/crypto/axis/artpec6_crypto.c-392-\ndrivers/crypto/axis/artpec6_crypto.c:393:static size_t artpec6_crypto_walk_advance(struct artpec6_crypto_walk *awalk,\ndrivers/crypto/axis/artpec6_crypto.c-394-\t\t\t\t\t  size_t nbytes)\n--\ndrivers/crypto/axis/artpec6_crypto.c=414=static size_t\ndrivers/crypto/axis/artpec6_crypto.c:415:artpec6_crypto_walk_chunklen(const struct artpec6_crypto_walk *awalk)\ndrivers/crypto/axis/artpec6_crypto.c-416-{\n--\ndrivers/crypto/axis/artpec6_crypto.c=422=static dma_addr_t\ndrivers/crypto/axis/artpec6_crypto.c:423:artpec6_crypto_walk_chunk_phys(const struct artpec6_crypto_walk *awalk)\ndrivers/crypto/axis/artpec6_crypto.c-424-{\n--\ndrivers/crypto/axis/artpec6_crypto.c=428=static void\ndrivers/crypto/axis/artpec6_crypto.c:429:artpec6_crypto_copy_bounce_buffers(struct artpec6_crypto_req_common *common)\ndrivers/crypto/axis/artpec6_crypto.c-430-{\ndrivers/crypto/axis/artpec6_crypto.c:431:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c:432:\tstruct artpec6_crypto_bounce_buffer *b;\ndrivers/crypto/axis/artpec6_crypto.c:433:\tstruct artpec6_crypto_bounce_buffer *next;\ndrivers/crypto/axis/artpec6_crypto.c-434-\n--\ndrivers/crypto/axis/artpec6_crypto.c-448-\ndrivers/crypto/axis/artpec6_crypto.c:449:static inline bool artpec6_crypto_busy(void)\ndrivers/crypto/axis/artpec6_crypto.c-450-{\ndrivers/crypto/axis/artpec6_crypto.c:451:\tstruct artpec6_crypto *ac = dev_get_drvdata(artpec6_crypto_dev);\ndrivers/crypto/axis/artpec6_crypto.c-452-\tint fifo_count = ac-\u003epending_count;\n--\ndrivers/crypto/axis/artpec6_crypto.c-456-\ndrivers/crypto/axis/artpec6_crypto.c:457:static int artpec6_crypto_submit(struct artpec6_crypto_req_common *req)\ndrivers/crypto/axis/artpec6_crypto.c-458-{\ndrivers/crypto/axis/artpec6_crypto.c:459:\tstruct artpec6_crypto *ac = dev_get_drvdata(artpec6_crypto_dev);\ndrivers/crypto/axis/artpec6_crypto.c-460-\tint ret = -EBUSY;\n--\ndrivers/crypto/axis/artpec6_crypto.c-463-\ndrivers/crypto/axis/artpec6_crypto.c:464:\tif (!artpec6_crypto_busy()) {\ndrivers/crypto/axis/artpec6_crypto.c-465-\t\tlist_add_tail(\u0026req-\u003elist, \u0026ac-\u003epending);\ndrivers/crypto/axis/artpec6_crypto.c:466:\t\tartpec6_crypto_start_dma(req);\ndrivers/crypto/axis/artpec6_crypto.c-467-\t\tret = -EINPROGRESS;\n--\ndrivers/crypto/axis/artpec6_crypto.c-470-\t} else {\ndrivers/crypto/axis/artpec6_crypto.c:471:\t\tartpec6_crypto_common_destroy(req);\ndrivers/crypto/axis/artpec6_crypto.c-472-\t}\n--\ndrivers/crypto/axis/artpec6_crypto.c-478-\ndrivers/crypto/axis/artpec6_crypto.c:479:static void artpec6_crypto_start_dma(struct artpec6_crypto_req_common *common)\ndrivers/crypto/axis/artpec6_crypto.c-480-{\ndrivers/crypto/axis/artpec6_crypto.c:481:\tstruct artpec6_crypto *ac = dev_get_drvdata(artpec6_crypto_dev);\ndrivers/crypto/axis/artpec6_crypto.c:482:\tenum artpec6_crypto_variant variant = ac-\u003evariant;\ndrivers/crypto/axis/artpec6_crypto.c-483-\tvoid __iomem *base = ac-\u003ebase;\ndrivers/crypto/axis/artpec6_crypto.c:484:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-485-\tu32 ind, statd, outd;\n--\ndrivers/crypto/axis/artpec6_crypto.c=515=static void\ndrivers/crypto/axis/artpec6_crypto.c:516:artpec6_crypto_init_dma_operation(struct artpec6_crypto_req_common *common)\ndrivers/crypto/axis/artpec6_crypto.c-517-{\ndrivers/crypto/axis/artpec6_crypto.c:518:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-519-\n--\ndrivers/crypto/axis/artpec6_crypto.c=526=static bool fault_inject_dma_descr(void)\n--\ndrivers/crypto/axis/artpec6_crypto.c-528-#ifdef CONFIG_FAULT_INJECTION\ndrivers/crypto/axis/artpec6_crypto.c:529:\treturn should_fail(\u0026artpec6_crypto_fail_dma_array_full, 1);\ndrivers/crypto/axis/artpec6_crypto.c-530-#else\n--\ndrivers/crypto/axis/artpec6_crypto.c-534-\ndrivers/crypto/axis/artpec6_crypto.c:535:/** artpec6_crypto_setup_out_descr_phys - Setup an out channel with a\ndrivers/crypto/axis/artpec6_crypto.c-536- *                                        physical address\n--\ndrivers/crypto/axis/artpec6_crypto.c=544=static int\ndrivers/crypto/axis/artpec6_crypto.c:545:artpec6_crypto_setup_out_descr_phys(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-546-\t\t\t\t    dma_addr_t addr, size_t len, bool eop)\ndrivers/crypto/axis/artpec6_crypto.c-547-{\ndrivers/crypto/axis/artpec6_crypto.c:548:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-549-\tstruct pdma_descr *d;\n--\ndrivers/crypto/axis/artpec6_crypto.c-566-\ndrivers/crypto/axis/artpec6_crypto.c:567:/** artpec6_crypto_setup_out_descr_short - Setup a short out descriptor\ndrivers/crypto/axis/artpec6_crypto.c-568- *\n--\ndrivers/crypto/axis/artpec6_crypto.c=577=static int\ndrivers/crypto/axis/artpec6_crypto.c:578:artpec6_crypto_setup_out_descr_short(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-579-\t\t\t\t     void *dst, unsigned int len, bool eop)\ndrivers/crypto/axis/artpec6_crypto.c-580-{\ndrivers/crypto/axis/artpec6_crypto.c:581:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-582-\tstruct pdma_descr *d;\n--\ndrivers/crypto/axis/artpec6_crypto.c-600-\ndrivers/crypto/axis/artpec6_crypto.c:601:static int artpec6_crypto_dma_map_page(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-602-\t\t\t\t      struct page *page, size_t offset,\n--\ndrivers/crypto/axis/artpec6_crypto.c-606-{\ndrivers/crypto/axis/artpec6_crypto.c:607:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c:608:\tstruct device *dev = artpec6_crypto_dev;\ndrivers/crypto/axis/artpec6_crypto.c:609:\tstruct artpec6_crypto_dma_map *map;\ndrivers/crypto/axis/artpec6_crypto.c-610-\tdma_addr_t dma_addr;\n--\ndrivers/crypto/axis/artpec6_crypto.c=631=static int\ndrivers/crypto/axis/artpec6_crypto.c:632:artpec6_crypto_dma_map_single(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-633-\t\t\t      void *ptr, size_t size,\n--\ndrivers/crypto/axis/artpec6_crypto.c-639-\ndrivers/crypto/axis/artpec6_crypto.c:640:\treturn artpec6_crypto_dma_map_page(common, page, offset, size, dir,\ndrivers/crypto/axis/artpec6_crypto.c-641-\t\t\t\t\t  dma_addr_out);\n--\ndrivers/crypto/axis/artpec6_crypto.c=644=static int\ndrivers/crypto/axis/artpec6_crypto.c:645:artpec6_crypto_dma_map_descs(struct artpec6_crypto_req_common *common)\ndrivers/crypto/axis/artpec6_crypto.c-646-{\ndrivers/crypto/axis/artpec6_crypto.c:647:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-648-\tint ret;\ndrivers/crypto/axis/artpec6_crypto.c-649-\ndrivers/crypto/axis/artpec6_crypto.c:650:\tret = artpec6_crypto_dma_map_single(common, dma-\u003ein,\ndrivers/crypto/axis/artpec6_crypto.c-651-\t\t\t\tsizeof(dma-\u003ein[0]) * dma-\u003ein_cnt,\n--\ndrivers/crypto/axis/artpec6_crypto.c-655-\ndrivers/crypto/axis/artpec6_crypto.c:656:\tret = artpec6_crypto_dma_map_single(common, dma-\u003eout,\ndrivers/crypto/axis/artpec6_crypto.c-657-\t\t\t\tsizeof(dma-\u003eout[0]) * dma-\u003eout_cnt,\n--\ndrivers/crypto/axis/artpec6_crypto.c-668-\t */\ndrivers/crypto/axis/artpec6_crypto.c:669:\treturn artpec6_crypto_dma_map_single(common,\ndrivers/crypto/axis/artpec6_crypto.c-670-\t\t\t\tdma-\u003estat,\n--\ndrivers/crypto/axis/artpec6_crypto.c=676=static void\ndrivers/crypto/axis/artpec6_crypto.c:677:artpec6_crypto_dma_unmap_all(struct artpec6_crypto_req_common *common)\ndrivers/crypto/axis/artpec6_crypto.c-678-{\ndrivers/crypto/axis/artpec6_crypto.c:679:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c:680:\tstruct device *dev = artpec6_crypto_dev;\ndrivers/crypto/axis/artpec6_crypto.c-681-\tint i;\n--\ndrivers/crypto/axis/artpec6_crypto.c-683-\tfor (i = 0; i \u003c dma-\u003emap_count; i++) {\ndrivers/crypto/axis/artpec6_crypto.c:684:\t\tstruct artpec6_crypto_dma_map *map = \u0026dma-\u003emaps[i];\ndrivers/crypto/axis/artpec6_crypto.c-685-\n--\ndrivers/crypto/axis/artpec6_crypto.c-691-\ndrivers/crypto/axis/artpec6_crypto.c:692:/** artpec6_crypto_setup_out_descr - Setup an out descriptor\ndrivers/crypto/axis/artpec6_crypto.c-693- *\n--\ndrivers/crypto/axis/artpec6_crypto.c-700- * @return 0 on success\ndrivers/crypto/axis/artpec6_crypto.c:701: *\tAny errors from artpec6_crypto_setup_out_descr_short() or\ndrivers/crypto/axis/artpec6_crypto.c-702- *\tsetup_out_descr_phys()\n--\ndrivers/crypto/axis/artpec6_crypto.c=704=static int\ndrivers/crypto/axis/artpec6_crypto.c:705:artpec6_crypto_setup_out_descr(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-706-\t\t\t       void *dst, unsigned int len, bool eop,\n--\ndrivers/crypto/axis/artpec6_crypto.c-712-\tif (use_short \u0026\u0026 len \u003c 7)\ndrivers/crypto/axis/artpec6_crypto.c:713:\t\treturn artpec6_crypto_setup_out_descr_short(common, dst, len,\ndrivers/crypto/axis/artpec6_crypto.c-714-\t\t\t\t\t\t\t    eop);\ndrivers/crypto/axis/artpec6_crypto.c-715-\ndrivers/crypto/axis/artpec6_crypto.c:716:\tret = artpec6_crypto_dma_map_single(common, dst, len, DMA_TO_DEVICE,\ndrivers/crypto/axis/artpec6_crypto.c-717-\t\t\t\t\t    \u0026dma_addr);\n--\ndrivers/crypto/axis/artpec6_crypto.c-720-\ndrivers/crypto/axis/artpec6_crypto.c:721:\treturn artpec6_crypto_setup_out_descr_phys(common, dma_addr, len, eop);\ndrivers/crypto/axis/artpec6_crypto.c-722-}\ndrivers/crypto/axis/artpec6_crypto.c-723-\ndrivers/crypto/axis/artpec6_crypto.c:724:/** artpec6_crypto_setup_in_descr_phys - Setup an in channel with a\ndrivers/crypto/axis/artpec6_crypto.c-725- *                                       physical address\n--\ndrivers/crypto/axis/artpec6_crypto.c=733=static int\ndrivers/crypto/axis/artpec6_crypto.c:734:artpec6_crypto_setup_in_descr_phys(struct artpec6_crypto_req_common *common,\ndrivers/crypto/axis/artpec6_crypto.c-735-\t\t\t       dma_addr_t addr, unsigned int len, bool intr)\ndrivers/crypto/axis/artpec6_crypto.c-736-{\ndrivers/crypto/axis/artpec6_crypto.c:737:\tstruct artpec6_crypto_dma_descriptors *dma = common-\u003edma;\ndrivers/crypto/axis/artpec6_crypto.c-738-\tstruct pdma_descr *d;\n--\ndrivers/crypto/axis/artpec6_crypto.c-753-\ndrivers/crypto/axis/artpec6_crypto.c:754:/** artpec6_crypto_setup_in_descr - Setup an in channel descriptor\ndrivers/crypto/axis/artpec6_crypto.c-755- *\n\n"
}

5/2 2026/09/29 13:59 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 20722
							output: 73
							thoughts: 703
						

Thoughts:
**Analysis of Device Tree Source Changes**

Okay, let's break this down. The patch is touching these Device Tree Source (DTS) files: `artpec6-devboard.dts` and `artpec6.dtsi`, both residing in `arch/arm/boot/dts/axis/`. The target architecture is amd64, which immediately raises a flag.

Given my understanding of kernel builds and DTS, I know that:

1.  DTS files for ARM are *not* compiled on amd64. That compilation would only happen when building ARM-specific images or potentially artpec6 DTS binaries on an ARM host.
2.  DTS files are *not* kernel code in the traditional sense. They are hardware descriptions.
3.  The files are *exclusively* related to the ARM architecture, specifically Axis ARTPEC-6 based systems.

Now, let me run this against the "WorthFuzzing" criteria. Specifically, the negative criteria. The key point here is that the modified files fall under "Code paths exclusive to architectures other than the target architecture," and that the target is amd64. These ARM DTS files cannot influence the amd64 kernel in any way.

The code changes also fit the "Non-kernel and non-executable changes" category because they are hardware descriptions, not executable code.

Therefore, `WorthFuzzing` is definitively `false`.

Just to be absolutely certain, I'll quickly double-check the git diff to ensure *only* these DTS files are modified. Yep, that's all. No other files are touched.

Now, it's time to call `set-results`:

*   `WorthFuzzing`: false
*   `Reasoning`: DTS files for ARM architectures, such as Axis ARTPEC-6, are exclusively related to the ARM architecture. These files are not relevant to the target amd64 architecture.
*   `FocusSymbols`: \[ ]
*   `EnableConfigs`: \[ ]

We're good. Let's proceed.



6/2 2026/09/29 14:00 tool set-results
0m Args:
{
  "EnableConfigs": [],
  "FocusSymbols": [],
  "Reasoning": "The patch only modifies ARM Device Tree source files (arch/arm/boot/dts/axis/), which are exclusive to the ARM architecture and not compiled or executed on the target architecture (amd64).",
  "WorthFuzzing": false
}

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "Reasoning": "The patch only modifies ARM Device Tree source files (arch/arm/boot/dts/axis/), which are exclusive to the ARM architecture and not compiled or executed on the target architecture (amd64).",
  "WorthFuzzing": false
}

7/1 2026/09/29 14:00 action If
0m Args:
{
  "WorthFuzzing": false
}

Results:
null

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)