AI Trajectory


Trajectory: (Expand/Collapse All)
Seq Timestamp Type Name Duration
0/0 2026/09/11 15:46 flow patch-triage
1m Args:
null

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "KMSANReasoning": "",
  "NeedsKMSAN": false,
  "Reasoning": "The patch series consists solely of header include reorganizations: removing '#include \u003clinux/error-injection.h\u003e' from 'include/linux/module.h' and adding direct '#include \u003clinux/error-injection.h\u003e' directives across various source files that rely on error injection macros. There are no executable C logic, data structure, control flow, or assertion changes.",
  "WorthFuzzing": false
}

1/1 2026/09/11 15:46 action read-patch-diff
0m Args:
null

Results:
{
  "PatchDiff": "commit 06d051e47fa6970b8f8aed93a527f448fa138ea0\nAuthor: syz-cluster \u003ctriage@syzkaller.com\u003e\nDate:   Fri Sep 11 15:46:02 2026 +0000\n\n    syz-cluster: applied patch under review\n\ndiff --git a/block/blk-core.c b/block/blk-core.c\nindex 196bccf27f58d..324a2d1bb727b 100644\n--- a/block/blk-core.c\n+++ b/block/blk-core.c\n@@ -40,6 +40,7 @@\n #include \u003clinux/part_stat.h\u003e\n #include \u003clinux/sched/sysctl.h\u003e\n #include \u003clinux/blk-crypto.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #define CREATE_TRACE_POINTS\n #include \u003ctrace/events/block.h\u003e\ndiff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c\nindex 7ef9338d67abf..a287884c0045f 100644\n--- a/drivers/gpu/drm/i915/display/intel_connector.c\n+++ b/drivers/gpu/drm/i915/display/intel_connector.c\n@@ -23,6 +23,7 @@\n  * DEALINGS IN THE SOFTWARE.\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/i2c.h\u003e\n #include \u003clinux/slab.h\u003e\n \ndiff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c\nindex 70d112fd4287a..204810a11e463 100644\n--- a/drivers/gpu/drm/i915/display/intel_display_driver.c\n+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c\n@@ -7,6 +7,7 @@\n  * details here.\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/vga_switcheroo.h\u003e\n #include \u003cacpi/video.h\u003e\n #include \u003cdrm/display/drm_dp_mst_helper.h\u003e\ndiff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c\nindex c0fd349a4600c..2c3bc7b67c0d5 100644\n--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c\n+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c\n@@ -3,6 +3,7 @@\n  * Copyright © 2016 Intel Corporation\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/string_helpers.h\u003e\n \n #include \u003cdrm/drm_print.h\u003e\ndiff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c\nindex 5c7f862f7100a..2f0e1cb5578ce 100644\n--- a/drivers/gpu/drm/i915/gt/intel_gt.c\n+++ b/drivers/gpu/drm/i915/gt/intel_gt.c\n@@ -3,6 +3,8 @@\n  * Copyright © 2019 Intel Corporation\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \u003cdrm/drm_managed.h\u003e\n #include \u003cdrm/intel/intel-gtt.h\u003e\n #include \u003cdrm/intel/intel_gmd_interrupt_regs.h\u003e\ndiff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c\nindex 1c455d84bf9d8..091aa33f624aa 100644\n--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c\n+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c\n@@ -4,6 +4,7 @@\n  */\n \n #include \u003clinux/circ_buf.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/ktime.h\u003e\n #include \u003clinux/string_helpers.h\u003e\n #include \u003clinux/time64.h\u003e\ndiff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c\nindex bd07c72a66fce..d367a897c86b2 100644\n--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c\n+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c\n@@ -3,6 +3,7 @@\n  * Copyright © 2016-2019 Intel Corporation\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/string_helpers.h\u003e\n \n #include \"gt/intel_gt.h\"\ndiff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c\nindex 7fac97fe30a63..d7c731fe972bf 100644\n--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c\n+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c\n@@ -4,6 +4,7 @@\n  */\n \n #include \u003clinux/bitfield.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/firmware.h\u003e\n #include \u003clinux/highmem.h\u003e\n \ndiff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c\nindex ce6d20958320c..aeb7b24c81c8b 100644\n--- a/drivers/gpu/drm/i915/i915_driver.c\n+++ b/drivers/gpu/drm/i915/i915_driver.c\n@@ -30,6 +30,7 @@\n #include \u003clinux/aperture.h\u003e\n #include \u003clinux/acpi.h\u003e\n #include \u003clinux/device.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/module.h\u003e\n #include \u003clinux/oom.h\u003e\n #include \u003clinux/pci.h\u003e\ndiff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c\nindex 2f03f95945f1b..84a7dc6ab5dba 100644\n--- a/drivers/gpu/drm/i915/i915_pci.c\n+++ b/drivers/gpu/drm/i915/i915_pci.c\n@@ -22,6 +22,8 @@\n  *\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \u003cdrm/drm_color_mgmt.h\u003e\n #include \u003cdrm/drm_drv.h\u003e\n #include \u003cdrm/intel/pci_config.h\u003e\ndiff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c\nindex 170e83a8c9fc3..e360e4f9d9a2d 100644\n--- a/drivers/gpu/drm/i915/intel_uncore.c\n+++ b/drivers/gpu/drm/i915/intel_uncore.c\n@@ -21,6 +21,7 @@\n  * IN THE SOFTWARE.\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/pm_runtime.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c\nindex ee732e5495f7d..fcef8d5fc7ca2 100644\n--- a/drivers/gpu/drm/xe/xe_device.c\n+++ b/drivers/gpu/drm/xe/xe_device.c\n@@ -7,7 +7,7 @@\n \n #include \u003clinux/aperture.h\u003e\n #include \u003clinux/delay.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/units.h\u003e\n \n #include \u003cdrm/drm_client.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c\nindex cd053de3c6b56..3e46c14584c42 100644\n--- a/drivers/gpu/drm/xe/xe_exec_queue.c\n+++ b/drivers/gpu/drm/xe/xe_exec_queue.c\n@@ -5,6 +5,7 @@\n \n #include \"xe_exec_queue.h\"\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/nospec.h\u003e\n \n #include \u003cdrm/drm_device.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c\nindex 8ec23862477fc..e05582ad098a6 100644\n--- a/drivers/gpu/drm/xe/xe_ggtt.c\n+++ b/drivers/gpu/drm/xe/xe_ggtt.c\n@@ -6,7 +6,7 @@\n #include \"xe_ggtt.h\"\n \n #include \u003ckunit/visibility.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/io-64-nonatomic-lo-hi.h\u003e\n #include \u003clinux/sizes.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c\nindex 4286bd05c6861..34e21a70d5ad8 100644\n--- a/drivers/gpu/drm/xe/xe_guc.c\n+++ b/drivers/gpu/drm/xe/xe_guc.c\n@@ -5,6 +5,7 @@\n \n #include \"xe_guc.h\"\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/iopoll.h\u003e\n #include \u003cdrm/drm_managed.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c\nindex ff8eee3831aa2..41a2b8c807d68 100644\n--- a/drivers/gpu/drm/xe/xe_guc_ads.c\n+++ b/drivers/gpu/drm/xe/xe_guc_ads.c\n@@ -5,7 +5,7 @@\n \n #include \"xe_guc_ads.h\"\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c\nindex fe70c0fd85c52..ac6cbbaa6cc0a 100644\n--- a/drivers/gpu/drm/xe/xe_guc_ct.c\n+++ b/drivers/gpu/drm/xe/xe_guc_ct.c\n@@ -8,7 +8,7 @@\n #include \u003clinux/bitfield.h\u003e\n #include \u003clinux/circ_buf.h\u003e\n #include \u003clinux/delay.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003ckunit/static_stub.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c\nindex 538d4df0f7aa7..6f0739204d9e2 100644\n--- a/drivers/gpu/drm/xe/xe_guc_log.c\n+++ b/drivers/gpu/drm/xe/xe_guc_log.c\n@@ -5,7 +5,7 @@\n \n #include \"xe_guc_log.h\"\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003clinux/utsname.h\u003e\n #include \u003cdrm/drm_managed.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_guc_relay.c b/drivers/gpu/drm/xe/xe_guc_relay.c\nindex eed0a750d2eb2..e528d95ba7fee 100644\n--- a/drivers/gpu/drm/xe/xe_guc_relay.c\n+++ b/drivers/gpu/drm/xe/xe_guc_relay.c\n@@ -5,7 +5,7 @@\n \n #include \u003clinux/bitfield.h\u003e\n #include \u003clinux/delay.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c\nindex d42e263e0611e..ac81f382e7dc0 100644\n--- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c\n+++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c\n@@ -4,6 +4,7 @@\n  */\n \n #include \u003cdrm/drm_managed.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/kobject.h\u003e\n #include \u003clinux/sysfs.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_hw_engine_group.c b/drivers/gpu/drm/xe/xe_hw_engine_group.c\nindex 0804b426b6f9e..418ff427ae308 100644\n--- a/drivers/gpu/drm/xe/xe_hw_engine_group.c\n+++ b/drivers/gpu/drm/xe/xe_hw_engine_group.c\n@@ -3,6 +3,8 @@\n  * Copyright © 2024 Intel Corporation\n  */\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \u003cdrm/drm_managed.h\u003e\n \n #include \"xe_assert.h\"\ndiff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c\nindex 7fa18dfcb5a28..d8f8a2453bb65 100644\n--- a/drivers/gpu/drm/xe/xe_mmio.c\n+++ b/drivers/gpu/drm/xe/xe_mmio.c\n@@ -6,6 +6,7 @@\n #include \"xe_mmio.h\"\n \n #include \u003clinux/delay.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/io-64-nonatomic-lo-hi.h\u003e\n #include \u003clinux/minmax.h\u003e\n #include \u003clinux/pci.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c\nindex ab09dcff58609..b15c96e35fabf 100644\n--- a/drivers/gpu/drm/xe/xe_oa.c\n+++ b/drivers/gpu/drm/xe/xe_oa.c\n@@ -5,6 +5,7 @@\n \n #include \u003clinux/anon_inodes.h\u003e\n #include \u003clinux/delay.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/nospec.h\u003e\n #include \u003clinux/poll.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c\nindex a5289a9df8d25..c0489a8d8a625 100644\n--- a/drivers/gpu/drm/xe/xe_pm.c\n+++ b/drivers/gpu/drm/xe/xe_pm.c\n@@ -5,7 +5,7 @@\n \n #include \"xe_pm.h\"\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/pm_runtime.h\u003e\n #include \u003clinux/suspend.h\u003e\n #include \u003clinux/dmi.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c\nindex a07316a45d79b..6c6d9be2717ef 100644\n--- a/drivers/gpu/drm/xe/xe_pt.c\n+++ b/drivers/gpu/drm/xe/xe_pt.c\n@@ -5,6 +5,8 @@\n \n #include \"xe_pt.h\"\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \"regs/xe_gtt_defs.h\"\n #include \"xe_bo.h\"\n #include \"xe_device.h\"\ndiff --git a/drivers/gpu/drm/xe/xe_pxp.c b/drivers/gpu/drm/xe/xe_pxp.c\nindex 2fef274a585e8..2f3632ac201ab 100644\n--- a/drivers/gpu/drm/xe/xe_pxp.c\n+++ b/drivers/gpu/drm/xe/xe_pxp.c\n@@ -5,6 +5,8 @@\n \n #include \"xe_pxp.h\"\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \u003cdrm/drm_managed.h\u003e\n #include \u003cuapi/drm/xe_drm.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_sriov.c b/drivers/gpu/drm/xe/xe_sriov.c\nindex f3835867fce5d..ec254b950daf4 100644\n--- a/drivers/gpu/drm/xe/xe_sriov.c\n+++ b/drivers/gpu/drm/xe/xe_sriov.c\n@@ -3,7 +3,7 @@\n  * Copyright © 2023 Intel Corporation\n  */\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\n \ndiff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c\nindex 37866768d64c2..711de22f49864 100644\n--- a/drivers/gpu/drm/xe/xe_sync.c\n+++ b/drivers/gpu/drm/xe/xe_sync.c\n@@ -6,6 +6,7 @@\n #include \"xe_sync.h\"\n \n #include \u003clinux/dma-fence-array.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/kthread.h\u003e\n #include \u003clinux/sched/mm.h\u003e\n #include \u003clinux/uaccess.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c\nindex 74d925a337b76..810dfd98d8300 100644\n--- a/drivers/gpu/drm/xe/xe_tile.c\n+++ b/drivers/gpu/drm/xe/xe_tile.c\n@@ -3,7 +3,7 @@\n  * Copyright © 2023 Intel Corporation\n  */\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\n #include \u003cdrm/drm_pagemap_util.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c\nindex bcec40ca2d35f..d3d38b4380bec 100644\n--- a/drivers/gpu/drm/xe/xe_tuning.c\n+++ b/drivers/gpu/drm/xe/xe_tuning.c\n@@ -5,6 +5,8 @@\n \n #include \"xe_tuning.h\"\n \n+#include \u003clinux/error-injection.h\u003e\n+\n #include \u003ckunit/visibility.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c\nindex a8e6f18cc9b4a..f17925ad53f5b 100644\n--- a/drivers/gpu/drm/xe/xe_uc_fw.c\n+++ b/drivers/gpu/drm/xe/xe_uc_fw.c\n@@ -4,7 +4,7 @@\n  */\n \n #include \u003clinux/bitfield.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/firmware.h\u003e\n \n #include \u003cdrm/drm_managed.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c\nindex 23952ad8951e2..f000564f1e596 100644\n--- a/drivers/gpu/drm/xe/xe_vm.c\n+++ b/drivers/gpu/drm/xe/xe_vm.c\n@@ -6,6 +6,7 @@\n #include \"xe_vm.h\"\n \n #include \u003clinux/dma-fence-array.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/nospec.h\u003e\n \n #include \u003cdrm/drm_drv.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c\nindex 139434946f8f8..98d2fdd3ba6f8 100644\n--- a/drivers/gpu/drm/xe/xe_wa.c\n+++ b/drivers/gpu/drm/xe/xe_wa.c\n@@ -8,7 +8,7 @@\n #include \u003cdrm/drm_managed.h\u003e\n #include \u003ckunit/visibility.h\u003e\n #include \u003clinux/compiler_types.h\u003e\n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003cgenerated/xe_device_wa_oob.h\u003e\n #include \u003cgenerated/xe_wa_oob.h\u003e\ndiff --git a/drivers/gpu/drm/xe/xe_wopcm.c b/drivers/gpu/drm/xe/xe_wopcm.c\nindex fe65ed246775d..7da1e3ebc8391 100644\n--- a/drivers/gpu/drm/xe/xe_wopcm.c\n+++ b/drivers/gpu/drm/xe/xe_wopcm.c\n@@ -5,7 +5,7 @@\n \n #include \"xe_wopcm.h\"\n \n-#include \u003clinux/fault-inject.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \"regs/xe_guc_regs.h\"\n #include \"xe_device.h\"\ndiff --git a/drivers/net/netdevsim/tc.c b/drivers/net/netdevsim/tc.c\nindex a415e02a6df1e..e2d7d3aba1933 100644\n--- a/drivers/net/netdevsim/tc.c\n+++ b/drivers/net/netdevsim/tc.c\n@@ -1,5 +1,6 @@\n // SPDX-License-Identifier: GPL-2.0\n \n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/netdevice.h\u003e\n #include \u003cnet/pkt_sched.h\u003e\n #include \u003cnet/pkt_cls.h\u003e\ndiff --git a/include/linux/compat.h b/include/linux/compat.h\nindex 8da0a15c95f4e..ad37ca617e65c 100644\n--- a/include/linux/compat.h\n+++ b/include/linux/compat.h\n@@ -18,6 +18,7 @@\n #include \u003clinux/aio_abi.h\u003e\t/* for aio_context_t */\n #include \u003clinux/uaccess.h\u003e\n #include \u003clinux/unistd.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n \n #include \u003casm/compat.h\u003e\n #include \u003casm/siginfo.h\u003e\ndiff --git a/include/linux/module.h b/include/linux/module.h\nindex 96cc98568eea5..b3a3d5827384f 100644\n--- a/include/linux/module.h\n+++ b/include/linux/module.h\n@@ -24,7 +24,6 @@\n #include \u003clinux/jump_label.h\u003e\n #include \u003clinux/export.h\u003e\n #include \u003clinux/rbtree_latch.h\u003e\n-#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/tracepoint-defs.h\u003e\n #include \u003clinux/srcu.h\u003e\n #include \u003clinux/static_call_types.h\u003e\ndiff --git a/include/linux/syscalls.h b/include/linux/syscalls.h\nindex 8413b624ad478..552d9710a0d57 100644\n--- a/include/linux/syscalls.h\n+++ b/include/linux/syscalls.h\n@@ -92,6 +92,7 @@ struct file_attr;\n #include \u003clinux/quota.h\u003e\n #include \u003clinux/key.h\u003e\n #include \u003clinux/personality.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003ctrace/syscall.h\u003e\n \n #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER\ndiff --git a/kernel/module/main.c b/kernel/module/main.c\nindex d0e1e0bd2ad06..f1392c10907a2 100644\n--- a/kernel/module/main.c\n+++ b/kernel/module/main.c\n@@ -60,6 +60,7 @@\n #include \u003clinux/codetag.h\u003e\n #include \u003clinux/debugfs.h\u003e\n #include \u003clinux/execmem.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003cuapi/linux/module.h\u003e\n #include \"internal.h\"\n \ndiff --git a/net/core/skb_fault_injection.c b/net/core/skb_fault_injection.c\nindex 4235db6bdfad5..2c7f519bef800 100644\n--- a/net/core/skb_fault_injection.c\n+++ b/net/core/skb_fault_injection.c\n@@ -1,6 +1,7 @@\n // SPDX-License-Identifier: GPL-2.0-only\n \n #include \u003clinux/debugfs.h\u003e\n+#include \u003clinux/error-injection.h\u003e\n #include \u003clinux/fault-inject.h\u003e\n #include \u003clinux/netdevice.h\u003e\n #include \u003clinux/skbuff.h\u003e\n"
}

2/1 2026/09/11 15:46 agent patch-evaluator
1m Model:
core

Args:
null

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "Reasoning": "The patch series consists solely of header include reorganizations: removing '#include \u003clinux/error-injection.h\u003e' from 'include/linux/module.h' and adding direct '#include \u003clinux/error-injection.h\u003e' directives across various source files that rely on error injection macros. There are no executable C logic, data structure, control flow, or assertion changes.",
  "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 06d051e47fa6970b8f8aed93a527f448fa138ea0
Author: syz-cluster <triage@syzkaller.com>
Date:   Fri Sep 11 15:46:02 2026 +0000

    syz-cluster: applied patch under review

diff --git a/block/blk-core.c b/block/blk-core.c
index 196bccf27f58d..324a2d1bb727b 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -40,6 +40,7 @@
 #include <linux/part_stat.h>
 #include <linux/sched/sysctl.h>
 #include <linux/blk-crypto.h>
+#include <linux/error-injection.h>
 
 #define CREATE_TRACE_POINTS
 #include <trace/events/block.h>
diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c
index 7ef9338d67abf..a287884c0045f 100644
--- a/drivers/gpu/drm/i915/display/intel_connector.c
+++ b/drivers/gpu/drm/i915/display/intel_connector.c
@@ -23,6 +23,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/error-injection.h>
 #include <linux/i2c.h>
 #include <linux/slab.h>
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index 70d112fd4287a..204810a11e463 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -7,6 +7,7 @@
  * details here.
  */
 
+#include <linux/error-injection.h>
 #include <linux/vga_switcheroo.h>
 #include <acpi/video.h>
 #include <drm/display/drm_dp_mst_helper.h>
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
index c0fd349a4600c..2c3bc7b67c0d5 100644
--- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
@@ -3,6 +3,7 @@
  * Copyright © 2016 Intel Corporation
  */
 
+#include <linux/error-injection.h>
 #include <linux/string_helpers.h>
 
 #include <drm/drm_print.h>
diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c
index 5c7f862f7100a..2f0e1cb5578ce 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt.c
@@ -3,6 +3,8 @@
  * Copyright © 2019 Intel Corporation
  */
 
+#include <linux/error-injection.h>
+
 #include <drm/drm_managed.h>
 #include <drm/intel/intel-gtt.h>
 #include <drm/intel/intel_gmd_interrupt_regs.h>
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
index 1c455d84bf9d8..091aa33f624aa 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/circ_buf.h>
+#include <linux/error-injection.h>
 #include <linux/ktime.h>
 #include <linux/string_helpers.h>
 #include <linux/time64.h>
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
index bd07c72a66fce..d367a897c86b2 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
@@ -3,6 +3,7 @@
  * Copyright © 2016-2019 Intel Corporation
  */
 
+#include <linux/error-injection.h>
 #include <linux/string_helpers.h>
 
 #include "gt/intel_gt.h"
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index 7fac97fe30a63..d7c731fe972bf 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/bitfield.h>
+#include <linux/error-injection.h>
 #include <linux/firmware.h>
 #include <linux/highmem.h>
 
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index ce6d20958320c..aeb7b24c81c8b 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -30,6 +30,7 @@
 #include <linux/aperture.h>
 #include <linux/acpi.h>
 #include <linux/device.h>
+#include <linux/error-injection.h>
 #include <linux/module.h>
 #include <linux/oom.h>
 #include <linux/pci.h>
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 2f03f95945f1b..84a7dc6ab5dba 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -22,6 +22,8 @@
  *
  */
 
+#include <linux/error-injection.h>
+
 #include <drm/drm_color_mgmt.h>
 #include <drm/drm_drv.h>
 #include <drm/intel/pci_config.h>
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 170e83a8c9fc3..e360e4f9d9a2d 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -21,6 +21,7 @@
  * IN THE SOFTWARE.
  */
 
+#include <linux/error-injection.h>
 #include <linux/pm_runtime.h>
 
 #include <drm/drm_managed.h>
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index ee732e5495f7d..fcef8d5fc7ca2 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -7,7 +7,7 @@
 
 #include <linux/aperture.h>
 #include <linux/delay.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 #include <linux/units.h>
 
 #include <drm/drm_client.h>
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index cd053de3c6b56..3e46c14584c42 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -5,6 +5,7 @@
 
 #include "xe_exec_queue.h"
 
+#include <linux/error-injection.h>
 #include <linux/nospec.h>
 
 #include <drm/drm_device.h>
diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c
index 8ec23862477fc..e05582ad098a6 100644
--- a/drivers/gpu/drm/xe/xe_ggtt.c
+++ b/drivers/gpu/drm/xe/xe_ggtt.c
@@ -6,7 +6,7 @@
 #include "xe_ggtt.h"
 
 #include <kunit/visibility.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 #include <linux/sizes.h>
 
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index 4286bd05c6861..34e21a70d5ad8 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -5,6 +5,7 @@
 
 #include "xe_guc.h"
 
+#include <linux/error-injection.h>
 #include <linux/iopoll.h>
 #include <drm/drm_managed.h>
 
diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
index ff8eee3831aa2..41a2b8c807d68 100644
--- a/drivers/gpu/drm/xe/xe_guc_ads.c
+++ b/drivers/gpu/drm/xe/xe_guc_ads.c
@@ -5,7 +5,7 @@
 
 #include "xe_guc_ads.h"
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <drm/drm_managed.h>
 
diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c
index fe70c0fd85c52..ac6cbbaa6cc0a 100644
--- a/drivers/gpu/drm/xe/xe_guc_ct.c
+++ b/drivers/gpu/drm/xe/xe_guc_ct.c
@@ -8,7 +8,7 @@
 #include <linux/bitfield.h>
 #include <linux/circ_buf.h>
 #include <linux/delay.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <kunit/static_stub.h>
 
diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c
index 538d4df0f7aa7..6f0739204d9e2 100644
--- a/drivers/gpu/drm/xe/xe_guc_log.c
+++ b/drivers/gpu/drm/xe/xe_guc_log.c
@@ -5,7 +5,7 @@
 
 #include "xe_guc_log.h"
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <linux/utsname.h>
 #include <drm/drm_managed.h>
diff --git a/drivers/gpu/drm/xe/xe_guc_relay.c b/drivers/gpu/drm/xe/xe_guc_relay.c
index eed0a750d2eb2..e528d95ba7fee 100644
--- a/drivers/gpu/drm/xe/xe_guc_relay.c
+++ b/drivers/gpu/drm/xe/xe_guc_relay.c
@@ -5,7 +5,7 @@
 
 #include <linux/bitfield.h>
 #include <linux/delay.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <drm/drm_managed.h>
 
diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
index d42e263e0611e..ac81f382e7dc0 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
@@ -4,6 +4,7 @@
  */
 
 #include <drm/drm_managed.h>
+#include <linux/error-injection.h>
 #include <linux/kobject.h>
 #include <linux/sysfs.h>
 
diff --git a/drivers/gpu/drm/xe/xe_hw_engine_group.c b/drivers/gpu/drm/xe/xe_hw_engine_group.c
index 0804b426b6f9e..418ff427ae308 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine_group.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine_group.c
@@ -3,6 +3,8 @@
  * Copyright © 2024 Intel Corporation
  */
 
+#include <linux/error-injection.h>
+
 #include <drm/drm_managed.h>
 
 #include "xe_assert.h"
diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
index 7fa18dfcb5a28..d8f8a2453bb65 100644
--- a/drivers/gpu/drm/xe/xe_mmio.c
+++ b/drivers/gpu/drm/xe/xe_mmio.c
@@ -6,6 +6,7 @@
 #include "xe_mmio.h"
 
 #include <linux/delay.h>
+#include <linux/error-injection.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 #include <linux/minmax.h>
 #include <linux/pci.h>
diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c
index ab09dcff58609..b15c96e35fabf 100644
--- a/drivers/gpu/drm/xe/xe_oa.c
+++ b/drivers/gpu/drm/xe/xe_oa.c
@@ -5,6 +5,7 @@
 
 #include <linux/anon_inodes.h>
 #include <linux/delay.h>
+#include <linux/error-injection.h>
 #include <linux/nospec.h>
 #include <linux/poll.h>
 
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index a5289a9df8d25..c0489a8d8a625 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -5,7 +5,7 @@
 
 #include "xe_pm.h"
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 #include <linux/pm_runtime.h>
 #include <linux/suspend.h>
 #include <linux/dmi.h>
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index a07316a45d79b..6c6d9be2717ef 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -5,6 +5,8 @@
 
 #include "xe_pt.h"
 
+#include <linux/error-injection.h>
+
 #include "regs/xe_gtt_defs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
diff --git a/drivers/gpu/drm/xe/xe_pxp.c b/drivers/gpu/drm/xe/xe_pxp.c
index 2fef274a585e8..2f3632ac201ab 100644
--- a/drivers/gpu/drm/xe/xe_pxp.c
+++ b/drivers/gpu/drm/xe/xe_pxp.c
@@ -5,6 +5,8 @@
 
 #include "xe_pxp.h"
 
+#include <linux/error-injection.h>
+
 #include <drm/drm_managed.h>
 #include <uapi/drm/xe_drm.h>
 
diff --git a/drivers/gpu/drm/xe/xe_sriov.c b/drivers/gpu/drm/xe/xe_sriov.c
index f3835867fce5d..ec254b950daf4 100644
--- a/drivers/gpu/drm/xe/xe_sriov.c
+++ b/drivers/gpu/drm/xe/xe_sriov.c
@@ -3,7 +3,7 @@
  * Copyright © 2023 Intel Corporation
  */
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <drm/drm_managed.h>
 
diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 37866768d64c2..711de22f49864 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -6,6 +6,7 @@
 #include "xe_sync.h"
 
 #include <linux/dma-fence-array.h>
+#include <linux/error-injection.h>
 #include <linux/kthread.h>
 #include <linux/sched/mm.h>
 #include <linux/uaccess.h>
diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c
index 74d925a337b76..810dfd98d8300 100644
--- a/drivers/gpu/drm/xe/xe_tile.c
+++ b/drivers/gpu/drm/xe/xe_tile.c
@@ -3,7 +3,7 @@
  * Copyright © 2023 Intel Corporation
  */
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <drm/drm_managed.h>
 #include <drm/drm_pagemap_util.h>
diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
index bcec40ca2d35f..d3d38b4380bec 100644
--- a/drivers/gpu/drm/xe/xe_tuning.c
+++ b/drivers/gpu/drm/xe/xe_tuning.c
@@ -5,6 +5,8 @@
 
 #include "xe_tuning.h"
 
+#include <linux/error-injection.h>
+
 #include <kunit/visibility.h>
 
 #include <drm/drm_managed.h>
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index a8e6f18cc9b4a..f17925ad53f5b 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -4,7 +4,7 @@
  */
 
 #include <linux/bitfield.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 #include <linux/firmware.h>
 
 #include <drm/drm_managed.h>
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 23952ad8951e2..f000564f1e596 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -6,6 +6,7 @@
 #include "xe_vm.h"
 
 #include <linux/dma-fence-array.h>
+#include <linux/error-injection.h>
 #include <linux/nospec.h>
 
 #include <drm/drm_drv.h>
diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
index 139434946f8f8..98d2fdd3ba6f8 100644
--- a/drivers/gpu/drm/xe/xe_wa.c
+++ b/drivers/gpu/drm/xe/xe_wa.c
@@ -8,7 +8,7 @@
 #include <drm/drm_managed.h>
 #include <kunit/visibility.h>
 #include <linux/compiler_types.h>
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include <generated/xe_device_wa_oob.h>
 #include <generated/xe_wa_oob.h>
diff --git a/drivers/gpu/drm/xe/xe_wopcm.c b/drivers/gpu/drm/xe/xe_wopcm.c
index fe65ed246775d..7da1e3ebc8391 100644
--- a/drivers/gpu/drm/xe/xe_wopcm.c
+++ b/drivers/gpu/drm/xe/xe_wopcm.c
@@ -5,7 +5,7 @@
 
 #include "xe_wopcm.h"
 
-#include <linux/fault-inject.h>
+#include <linux/error-injection.h>
 
 #include "regs/xe_guc_regs.h"
 #include "xe_device.h"
diff --git a/drivers/net/netdevsim/tc.c b/drivers/net/netdevsim/tc.c
index a415e02a6df1e..e2d7d3aba1933 100644
--- a/drivers/net/netdevsim/tc.c
+++ b/drivers/net/netdevsim/tc.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/error-injection.h>
 #include <linux/netdevice.h>
 #include <net/pkt_sched.h>
 #include <net/pkt_cls.h>
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 8da0a15c95f4e..ad37ca617e65c 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -18,6 +18,7 @@
 #include <linux/aio_abi.h>	/* for aio_context_t */
 #include <linux/uaccess.h>
 #include <linux/unistd.h>
+#include <linux/error-injection.h>
 
 #include <asm/compat.h>
 #include <asm/siginfo.h>
diff --git a/include/linux/module.h b/include/linux/module.h
index 96cc98568eea5..b3a3d5827384f 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -24,7 +24,6 @@
 #include <linux/jump_label.h>
 #include <linux/export.h>
 #include <linux/rbtree_latch.h>
-#include <linux/error-injection.h>
 #include <linux/tracepoint-defs.h>
 #include <linux/srcu.h>
 #include <linux/static_call_types.h>
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 8413b624ad478..552d9710a0d57 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -92,6 +92,7 @@ struct file_attr;
 #include <linux/quota.h>
 #include <linux/key.h>
 #include <linux/personality.h>
+#include <linux/error-injection.h>
 #include <trace/syscall.h>
 
 #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
diff --git a/kernel/module/main.c b/kernel/module/main.c
index d0e1e0bd2ad06..f1392c10907a2 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -60,6 +60,7 @@
 #include <linux/codetag.h>
 #include <linux/debugfs.h>
 #include <linux/execmem.h>
+#include <linux/error-injection.h>
 #include <uapi/linux/module.h>
 #include "internal.h"
 
diff --git a/net/core/skb_fault_injection.c b/net/core/skb_fault_injection.c
index 4235db6bdfad5..2c7f519bef800 100644
--- a/net/core/skb_fault_injection.c
+++ b/net/core/skb_fault_injection.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 
 #include <linux/debugfs.h>
+#include <linux/error-injection.h>
 #include <linux/fault-inject.h>
 #include <linux/netdevice.h>
 #include <linux/skbuff.h>

3/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 10090
							output: 34
							thoughts: 1272
						

Thoughts:
**Analyzing a Kernel Patch Series: Header File Inclusion Refactoring**

Okay, so the user wants me to evaluate a patch series applied as HEAD in the kernel. My initial thought is to grab the commit message and get the complete context using `git log`. But hold on, am I able to actually run `git log` directly, or do I have some other tooling at my disposal? Let's see... what tools do I have? I've got `read-file`, `codesearch-dir-index`, `grepper`, and `set-results`. Right, I don't see anything explicitly for git operations. 

Let's switch gears and focus on the diff provided. It looks like it is just `#include` modifications, specifically for `linux/error-injection.h`. I see many files now include this header file, and I see a lot of instances where `fault-inject.h` is being replaced with `error-injection.h`. This includes changes in `block/blk-core.c`, several DRM/i915 and DRM/xe driver files, `drivers/net/netdevsim/tc.c`, some header files, and `kernel/module/main.c`, and `net/core/skb_fault_injection.c`.

Okay, the diff confirms it. The ONLY change in every file modified is either the addition of `#include <linux/error-injection.h>` or a replacement of `fault-inject.h` with `error-injection.h`. It looks like there's no executable code change here.

So, why are we seeing this? The removal of `#include <linux/error-injection.h>` from `include/linux/module.h` is the key. Previously, files including `module.h` implicitly included `error-injection.h`. This refactoring is likely to decouple header dependencies, probably as part of a cleanup or modularization effort. The header is being included explicitly where it's actually needed. And in the DRM/xe driver, it is being refactored from `fault-inject.h` to `error-injection.h`. The files affected include the relevant macros, such as `ALLOW_ERROR_INJECTION`, etc.

Let me confirm that I can access the line where the include was removed from `include/linux/module.h` around line 24.



4/2 2026/09/11 15:46 tool read-file
0m Args:
{
  "File": "include/linux/module.h",
  "FirstLine": 20,
  "LineCount": 20
}

Results:
{
  "Contents": "  20:\t#include \u003clinux/elf.h\u003e\n  21:\t#include \u003clinux/stringify.h\u003e\n  22:\t#include \u003clinux/kobject.h\u003e\n  23:\t#include \u003clinux/moduleparam.h\u003e\n  24:\t#include \u003clinux/jump_label.h\u003e\n  25:\t#include \u003clinux/export.h\u003e\n  26:\t#include \u003clinux/rbtree_latch.h\u003e\n  27:\t#include \u003clinux/tracepoint-defs.h\u003e\n  28:\t#include \u003clinux/srcu.h\u003e\n  29:\t#include \u003clinux/static_call_types.h\u003e\n  30:\t#include \u003clinux/dynamic_debug.h\u003e\n  31:\t\n  32:\t#include \u003clinux/percpu.h\u003e\n  33:\t#include \u003casm/module.h\u003e\n  34:\t\n  35:\t#define MODULE_NAME_LEN __MODULE_NAME_LEN\n  36:\t\n  37:\tstruct modversion_info {\n  38:\t\tunsigned long crc;\n  39:\t\tchar name[MODULE_NAME_LEN];\n"
}

5/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 12201
							output: 34
							thoughts: 19
						

Thoughts:
Here's my attempt at summarizing the thought process, tailored for an expert audience:

**Diving into `kernel/module/main.c`**

Okay, time to troubleshoot this issue. I'm going to start by taking a look at `kernel/module/main.c`. My hunch is that the problem might be related to module loading or unloading, so I'll be zeroing in on that area. Specifically, let's zero in on the vicinity of line 60. I suspect that there might be something happening around the early stage or late stage of the module life cycle. Let's see if this hunch holds any weight, I'll start with this file and go from there.



6/2 2026/09/11 15:46 tool read-file
0m Args:
{
  "File": "kernel/module/main.c",
  "FirstLine": 55,
  "LineCount": 20
}

Results:
{
  "Contents": "  55:\t#include \u003clinux/pfn.h\u003e\n  56:\t#include \u003clinux/bsearch.h\u003e\n  57:\t#include \u003clinux/dynamic_debug.h\u003e\n  58:\t#include \u003clinux/audit.h\u003e\n  59:\t#include \u003clinux/cfi.h\u003e\n  60:\t#include \u003clinux/codetag.h\u003e\n  61:\t#include \u003clinux/debugfs.h\u003e\n  62:\t#include \u003clinux/execmem.h\u003e\n  63:\t#include \u003clinux/error-injection.h\u003e\n  64:\t#include \u003cuapi/linux/module.h\u003e\n  65:\t#include \"internal.h\"\n  66:\t\n  67:\t#define CREATE_TRACE_POINTS\n  68:\t#include \u003ctrace/events/module.h\u003e\n  69:\t\n  70:\t/*\n  71:\t * Mutex protects:\n  72:\t * 1) List of modules (also safely readable within RCU read section),\n  73:\t * 2) module_use links,\n  74:\t * 3) mod_tree.addr_min/mod_tree.addr_max.\n"
}

7/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 12716
							output: 35
							thoughts: 20
						

Thoughts:
Here's my attempt at summarizing the thought process, tailored for an expert audience:

**Diving into the Kernel's System Call Definitions**

Okay, time to get to the heart of this. My gut feeling tells me the answer I need is probably hanging around the system call definitions. Let's start with the standard location, `include/linux/syscalls.h`. I'm specifically aiming for around line 92. Hopefully, that will contain the relevant macro or struct declaration I'm hunting for. My experience tells me that's a prime spot for the core definitions. It's often where the interface to the system call table is described or, failing that, where one can find the key data structures involved in the dispatching mechanism. Let's see what's what.



8/2 2026/09/11 15:46 tool read-file
0m Args:
{
  "File": "include/linux/syscalls.h",
  "FirstLine": 90,
  "LineCount": 15
}

Results:
{
  "Contents": "  90:\t#include \u003casm/siginfo.h\u003e\n  91:\t#include \u003clinux/unistd.h\u003e\n  92:\t#include \u003clinux/quota.h\u003e\n  93:\t#include \u003clinux/key.h\u003e\n  94:\t#include \u003clinux/personality.h\u003e\n  95:\t#include \u003clinux/error-injection.h\u003e\n  96:\t#include \u003ctrace/syscall.h\u003e\n  97:\t\n  98:\t#ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER\n  99:\t/*\n 100:\t * It may be useful for an architecture to override the definitions of the\n 101:\t * SYSCALL_DEFINE0() and __SYSCALL_DEFINEx() macros, in particular to use a\n 102:\t * different calling convention for syscalls. To allow for that, the prototypes\n 103:\t * for the sys_*() functions below will *not* be included if\n 104:\t * CONFIG_ARCH_HAS_SYSCALL_WRAPPER is enabled.\n"
}

9/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 13211
							output: 35
							thoughts: 235
						

Thoughts:
**My Assessment of WorthFuzzing=false Criteria**

Okay, let's drill down into these negative criteria for determining when a patch isn't "WorthFuzzing." We're looking at scenarios where a change *shouldn't* trigger fuzzing. The key here is to quickly identify modifications that are fundamentally benign from a code execution perspective.

Right, so we're starting with things like non-kernel and non-executable changes: documentation updates, comment adjustments, spelling fixes—that's all obvious and safe. User-space stuff like tools, samples, scripts (under `tools/`, `samples/`, `scripts/`, `usr/`) that don't touch the kernel image (`vmlinux`) or kernel modules are also clearly excluded. Purely decorative logging, like log messages in `pr_err`, `printk`, `dev_info`, or tracepoints, which don't mess with control flow or data structures, should be excluded as well. And, as expected, build system changes or Kconfig modifications that don't touch the actual compiled C logic are off the list too.

But... hang on a minute. What about reorganizing header inclusions without altering any logic? Let's say I'm simply shuffling `#include` directives around. Does that change anything significant? Does *adding* or *removing* something like `#include <linux/error-injection.h>` truly leave the C logic untouched? I'm getting a little uneasy about that. I need to be absolutely sure.

Okay, let's stop and really look at that `error-injection.h` header file. What does it actually contain? If it's *just* macro definitions, would adding or removing it from a file like `module.h`, or somewhere else, subtly alter any macro definitions or behavior? I need to check the actual contents. Time to pull up `include/linux/error-injection.h` and investigate.



10/2 2026/09/11 15:46 tool read-file
0m Args:
{
  "File": "include/linux/error-injection.h",
  "FirstLine": 1,
  "LineCount": 80
}

Results:
{
  "Contents": "   1:\t/* SPDX-License-Identifier: GPL-2.0 */\n   2:\t#ifndef _LINUX_ERROR_INJECTION_H\n   3:\t#define _LINUX_ERROR_INJECTION_H\n   4:\t\n   5:\t#include \u003clinux/compiler.h\u003e\n   6:\t#include \u003clinux/errno.h\u003e\n   7:\t#include \u003casm-generic/error-injection.h\u003e\n   8:\t\n   9:\t#ifdef CONFIG_FUNCTION_ERROR_INJECTION\n  10:\t\n  11:\textern bool within_error_injection_list(unsigned long addr);\n  12:\textern int get_injectable_error_type(unsigned long addr);\n  13:\t\n  14:\t#else /* !CONFIG_FUNCTION_ERROR_INJECTION */\n  15:\t\n  16:\tstatic inline bool within_error_injection_list(unsigned long addr)\n  17:\t{\n  18:\t\treturn false;\n  19:\t}\n  20:\t\n  21:\tstatic inline int get_injectable_error_type(unsigned long addr)\n  22:\t{\n  23:\t\treturn -EOPNOTSUPP;\n  24:\t}\n  25:\t\n  26:\t#endif\n  27:\t\n  28:\t#endif /* _LINUX_ERROR_INJECTION_H */\n"
}

11/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 14245
							output: 37
							thoughts: 15
						

Thoughts:
Here's my take on the thought process, summarized as you requested:

**Diving into Error Injection**

Okay, so I need to get a handle on the error injection mechanisms here. Let's see... the first logical step is to check out `asm-generic/error-injection.h`. That header file is usually the place where these sorts of core, generic error injection definitions are kept, right? I'm hoping it's well-documented and provides a clear overview of how the system is structured. I need to understand the fundamental building blocks before I can start to dissect any specific implementations or figure out how this is integrated into the larger context. This header will likely contain the macros, data structures, or function prototypes related to how and where errors are injected into the kernel. It’s the starting point for understanding how this particular module handles it.



12/2 2026/09/11 15:46 tool read-file
0m Args:
{
  "File": "include/asm-generic/error-injection.h",
  "FirstLine": 1,
  "LineCount": 50
}

Results:
{
  "Contents": "   1:\t/* SPDX-License-Identifier: GPL-2.0 */\n   2:\t#ifndef _ASM_GENERIC_ERROR_INJECTION_H\n   3:\t#define _ASM_GENERIC_ERROR_INJECTION_H\n   4:\t\n   5:\t#if defined(__KERNEL__) \u0026\u0026 !defined(__ASSEMBLY__)\n   6:\tenum {\n   7:\t\tEI_ETYPE_NULL,\t\t/* Return NULL if failure */\n   8:\t\tEI_ETYPE_ERRNO,\t\t/* Return -ERRNO if failure */\n   9:\t\tEI_ETYPE_ERRNO_NULL,\t/* Return -ERRNO or NULL if failure */\n  10:\t\tEI_ETYPE_TRUE,\t\t/* Return true if failure */\n  11:\t};\n  12:\t\n  13:\tstruct error_injection_entry {\n  14:\t\tunsigned long\taddr;\n  15:\t\tint\t\tetype;\n  16:\t};\n  17:\t\n  18:\tstruct pt_regs;\n  19:\t\n  20:\t#ifdef CONFIG_FUNCTION_ERROR_INJECTION\n  21:\t/*\n  22:\t * Whitelist generating macro. Specify functions which can be error-injectable\n  23:\t * using this macro. If you unsure what is required for the error-injectable\n  24:\t * functions, please read Documentation/fault-injection/fault-injection.rst\n  25:\t * 'Error Injectable Functions' section.\n  26:\t */\n  27:\t#define ALLOW_ERROR_INJECTION(fname, _etype)\t\t\t\t\\\n  28:\tstatic struct error_injection_entry __used\t\t\t\t\\\n  29:\t\t__section(\"_error_injection_whitelist\")\t\t\t\t\\\n  30:\t\t_eil_addr_##fname = {\t\t\t\t\t\t\\\n  31:\t\t\t.addr = (unsigned long)fname,\t\t\t\t\\\n  32:\t\t\t.etype = EI_ETYPE_##_etype,\t\t\t\t\\\n  33:\t\t}\n  34:\t\n  35:\tvoid override_function_with_return(struct pt_regs *regs);\n  36:\t#else\n  37:\t#define ALLOW_ERROR_INJECTION(fname, _etype)\n  38:\t\n  39:\tstatic inline void override_function_with_return(struct pt_regs *regs) { }\n  40:\t#endif\n  41:\t#endif\n  42:\t\n  43:\t#endif /* _ASM_GENERIC_ERROR_INJECTION_H */\n"
}

13/2 2026/09/11 15:46 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 15100
							output: 39
							thoughts: 220
						

Thoughts:
**Analyzing the Error Injection Mechanism**

Okay, so I'm looking at this code and immediately I see `error-injection.h` defining `ALLOW_ERROR_INJECTION()`. My initial thought is, when `include/linux/module.h` included that header, then everything that includes `module.h` also implicitly gets this macro. That's a classic way to propagate settings, though it can create dependencies that need to be carefully managed.

Then I noticed something interesting in `xe_device.c`. Originally, there was an include for `fault-inject.h`, and now it's been replaced with `error-injection.h`. My immediate hypothesis is that there was a mix-up, perhaps a simple typo, or someone realized they really needed `ALLOW_ERROR_INJECTION` which is defined in `error-injection.h`. Perhaps `fault-inject.h` was included by accident.

Now, my next step is clear: I need to verify how and where `ALLOW_ERROR_INJECTION` is actually used within `xe_device.c` or other files that might be affected. I should check specifically within the `drivers/gpu/drm/xe/xe_device.c` file itself to see if the macro is directly used. A quick grep will get me the answer I need.



14/2 2026/09/11 15:47 tool grepper
0m Args:
{
  "Expression": "ALLOW_ERROR_INJECTION",
  "PathPrefix": "drivers/gpu/drm/xe/xe_device.c"
}

Results:
{
  "Output": "drivers/gpu/drm/xe/xe_device.c=485=struct xe_device *xe_device_create(struct pci_dev *pdev)\n--\ndrivers/gpu/drm/xe/xe_device.c-513-}\ndrivers/gpu/drm/xe/xe_device.c:514:ALLOW_ERROR_INJECTION(xe_device_create, ERRNO); /* See xe_pci_probe() */\ndrivers/gpu/drm/xe/xe_device.c-515-\n--\ndrivers/gpu/drm/xe/xe_device.c=772=int xe_device_probe_early(struct xe_device *xe)\n--\ndrivers/gpu/drm/xe/xe_device.c-831-}\ndrivers/gpu/drm/xe/xe_device.c:832:ALLOW_ERROR_INJECTION(xe_device_probe_early, ERRNO); /* See xe_pci_probe() */\ndrivers/gpu/drm/xe/xe_device.c-833-\n"
}

15/2 2026/09/11 15:47 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 15899
							output: 34
							thoughts: 55
						

Thoughts:
**Investigating the Dependency of `syscalls.h` on `error-injection.h`**

Okay, so I'm looking at `include/linux/syscalls.h` and I need to figure out this connection. Why would a file defining system call interfaces possibly require error injection mechanisms? That seems... unusual. My first instinct is to see what's going on with `ALLOW_ERROR_INJECTION` within that file itself. Let's see what that macro's definition reveals. Understanding that should shed some light on this design choice. Perhaps it's conditional compilation based on some broader system configuration, or maybe it's just a diagnostic tool. Time to dive in.



16/2 2026/09/11 15:47 tool grepper
0m Args:
{
  "Expression": "ALLOW_ERROR_INJECTION",
  "PathPrefix": "include/linux/syscalls.h"
}

Results:
{
  "Output": "include/linux/syscalls.h=212=static inline int is_syscall_trace_event(struct trace_event_call *tp_event)\n--\ninclude/linux/syscalls.h-221-\tasmlinkage long sys_##sname(void);\t\t\t\\\ninclude/linux/syscalls.h:222:\tALLOW_ERROR_INJECTION(sys_##sname, ERRNO);\t\t\\\ninclude/linux/syscalls.h-223-\tasmlinkage long sys_##sname(void)\n--\ninclude/linux/syscalls.h-256-\t\t__attribute__((alias(__stringify(__se_sys##name))));\t\\\ninclude/linux/syscalls.h:257:\tALLOW_ERROR_INJECTION(sys##name, ERRNO);\t\t\t\\\ninclude/linux/syscalls.h-258-\tstatic inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\\\n"
}

17/2 2026/09/11 15:47 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 16377
							output: 33
							thoughts: 127
						

Thoughts:
**Investigating the `ALLOW_ERROR_INJECTION` Macro**

Okay, so I'm digging into this code and I've just spotted something interesting. It looks like the `ALLOW_ERROR_INJECTION` macro is being used right there in the `SYSCALL_DEFINEx` macros defined in `include/linux/syscalls.h`. Now, I recall this macro used to be sourced through `include/linux/module.h` or somewhere similar. I remember when the `include/linux/error-injection.h` was removed from `include/linux/module.h`, causing a ripple effect where files that didn't include `module.h` directly, or only included `syscalls.h`, suddenly needed to explicitly include `error-injection.h` to access `ALLOW_ERROR_INJECTION`. It was a fun little refactoring exercise at the time, but this brings up some questions. I had to look at `compat.h` for some other context, so let's see what that file can tell us.



18/2 2026/09/11 15:47 tool grepper
0m Args:
{
  "Expression": "ALLOW_ERROR_INJECTION",
  "PathPrefix": "include/linux/compat.h"
}

Results:
{
  "Output": "include/linux/compat.h-48-\tasmlinkage long compat_sys_##name(void); \\\ninclude/linux/compat.h:49:\tALLOW_ERROR_INJECTION(compat_sys_##name, ERRNO); \\\ninclude/linux/compat.h-50-\tasmlinkage long compat_sys_##name(void)\n--\ninclude/linux/compat.h-81-\t\t__attribute__((alias(__stringify(__se_compat_sys##name))));\t\\\ninclude/linux/compat.h:82:\tALLOW_ERROR_INJECTION(compat_sys##name, ERRNO);\t\t\t\t\\\ninclude/linux/compat.h-83-\tstatic inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\\\n"
}

19/2 2026/09/11 15:47 llm patch-evaluator
0m Model:
gemini-3.8-flash

Args:
null

Results:
null

Tokens:
							input: 16960
							output: 107
							thoughts: 2012
						

Thoughts:
**Analysis of a Header File Refactoring Patch**

Alright, let's break this down. It seems this patch is all about tidying up how `error-injection.h` is included in the kernel. The core idea is that previously, this header was included through `include/linux/module.h`, but now it's being explicitly included where `ALLOW_ERROR_INJECTION` is actually used.  There's also a minor correction in the `xe` drivers, switching from `fault-inject.h` to `error-injection.h` where appropriate.

My primary concern is whether this changes any actual *code*. Let's look at the diff: it's purely about adding or removing `#include <linux/error-injection.h>`.  I see no changes to functions, control flow, data structures, or any logic at all.  The changes are limited to a long list of files adding the relevant header, and one file which is removing it. No executable code has been altered!

Now, applying our triage rules...  Section 2's criteria for WorthFuzzing=false seems spot-on here. This patch is nothing more than header file dependency adjustments. It's essentially "non-kernel and non-executable," falling into the "Build system or Kconfig changes that do not alter compiled C logic" category - even if it's not a build system change *per se*, it is a dependency change that *does not* affect compiled C logic.

Therefore, `WorthFuzzing` is unequivocally `false`. The `Reasoning` should explicitly state this - the patch only involves header file inclusion adjustments, specifically moving `#include <linux/error-injection.h>` from `include/linux/module.h` to individual files and correcting includes within the `xe` drivers, with *no* impact on executable C code, data structures, control flow, or assertions. `FocusSymbols` will be an empty list `[]`, and `EnableConfigs` will also be `[]`. No need to enable anything, as this patch does not add any new functionality. It's simply a code cleanup. I'm confident in this assessment.



20/2 2026/09/11 15:47 tool set-results
0m Args:
{
  "EnableConfigs": [],
  "FocusSymbols": [],
  "Reasoning": "The patch series consists solely of header include reorganizations: removing '#include \u003clinux/error-injection.h\u003e' from 'include/linux/module.h' and adding direct '#include \u003clinux/error-injection.h\u003e' directives across various source files that rely on error injection macros. There are no executable C logic, data structure, control flow, or assertion changes.",
  "WorthFuzzing": false
}

Results:
{
  "EnableConfigs": null,
  "FocusSymbols": [],
  "Reasoning": "The patch series consists solely of header include reorganizations: removing '#include \u003clinux/error-injection.h\u003e' from 'include/linux/module.h' and adding direct '#include \u003clinux/error-injection.h\u003e' directives across various source files that rely on error injection macros. There are no executable C logic, data structure, control flow, or assertion changes.",
  "WorthFuzzing": false
}

21/1 2026/09/11 15:47 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)