Files
Gleb Chesnokov 2f8ff7ea63 scripts: Integrate Sparse and Smatch with reviewed policy
Run the native checkers through the ordered SCST module build with C=2.
Preserve Kbuild flags, full raw output and every attempted CHECK record.
Keep full, diff and explicit input selection on the shared scope; diff
selection triggers the complete configured module analysis.

Read exact diagnostic exceptions from policy/sparse.json and
smatch.json: two reviewed Smatch IRQ reports and the external FC
flexible-array warning. Keep the existing SCST matching boundaries and
reasons. Smatch uses its matching installed kernel data without
engine-specific additions.

Reject build, checker, frontend and truncation failures even when Kbuild
returns success. Retain per-invocation records and a machine-readable
run summary, and detect printed CHECK steps without a record. Require
selected C inputs to occur in the build. Keep findings distinct from
incompleteness.

Check native compatibility before compilation, and forward external
kernel capability probes to the real checker instead of skipping them as
inputs outside SCST. Include the pinned Smatch typeof frontend
correction and isolated fixtures for failure propagation and exact
exception boundaries.
2026-10-19 21:38:56 +03:00

35 lines
1.2 KiB
JSON

{
"version": 1,
"exclude_directories": [
{
"path": "usr",
"reason": "Userspace programs are outside the module Kbuild analysis."
},
{
"path": "iscsi-scst/usr",
"reason": "The iSCSI userspace daemon is outside the module Kbuild analysis."
}
],
"source_exceptions": [
{
"file": "scst/src/dev_handlers/scst_user_main.c",
"function": "dev_user_unjam_cmd",
"message": "mixing irqsave and irq",
"reason": "The unchanged flags pointer selects matching unlock/lock operations; all callers use the corresponding IRQ mode."
},
{
"file": "scst/src/dev_handlers/kunit/user/suites/scst_user_cleanup_test.c",
"function": "user_reply_test",
"message": "mixing irqsave and irq",
"reason": "The saved_flags parameter selects matching lock/unlock operations and intentionally covers both caller modes."
}
],
"kernel_exceptions": [
{
"header": "include/uapi/scsi/fc/fc_els.h",
"message": "array of flexible structures",
"reason": "The external FC UAPI declares arrays of TLV descriptors that themselves contain a flexible array. Match only the canonical header resolved from the forced kernel kconfig include."
}
]
}