Upstream Linux 3.11-3.17 uses older percpu_ref implementations whose
memory lifetime and reinitialization rules do not support the revival
needed when SCST cancels a suspend with outstanding commands. Maintaining
those implementations requires a separate compatibility path.
Require upstream Linux 3.18 or later and remove the eight 3.10-3.17
entries from the nightly matrix and the 3.10 selector from regression CI.
Keep every distribution entry, including EL7 7.5-7.9 and UEK4/UEK5. EL7
has the newer percpu_ref implementation despite its 3.10 base version.
Enforce the minimum and vendor exception in the shared build header.
This is a support-policy change, not an analyzer-warning fix. It does not
fix the remaining reinit-versus-resurrect mismatch on supported kernels.
Refresh eight existing upstream series and add Linux 7.3, using the
kernel.org release feed and archives as of October 19, 2026. Keep older
series in the matrix, including the final Linux 7.1.13 release.
Update the existing Rocky 10.2, 9.8 and 8.10 kernels and the UEK entries
for Oracle Linux 10, 9 and 8. Also pick up the final AlmaLinux 9.3 and
8.8 source RPM updates. Preserve distribution releases and UEK generations.
Add the 7.3 regression selector. Both CI matrices resolve exact versions
from nightly.conf, so no workflow version lists need updating. Keep full
nightly checks on 7.3 and apply the usual -nc option to the previous head.
Move patch generation, specialization, regression, kernel selection and
module signing helpers together, with their shared shell libraries. Update
component Makefiles, CI, nightly jobs, packaging metadata, documentation
and KUnit tooling references alongside the move.
Adjust repository-root and source-inventory lookups for the deeper path.
Resolve rhel-rpm-functions relative to kernel-functions through
BASH_SOURCE, since it is also sourced by the QLogic extraction helpers.
Keep the regression runner behavior and the nightly kernel matrix intact,
including the existing checkpatch, sparse and smatch switches and policy.
The top-level guides still describe retired source, QLogic, service and
kernel-support workflows. Following them can select the wrong driver,
cross-compile only part of the tree, or misstate module-signing policy.
Commit 7aade0a109 ("Makefile: Make the qla2x00t-32gbit driver
the default QLogic FC driver") made the newer tree the default.
Commit 0d3c9018af ("debian, scstadmin: Add systemd scst.service")
added the installed systemd unit.
Point source users at GitHub and kernel support at
nightly/conf/nightly.conf. Separate kernel and user-space cross builds,
follow the current service recipes, and make module acceptance depend
on the target kernel and platform policy.
Add compatibility for RHEL 8.10 and RHEL 9.6 kernels. Update nightly build
and regression test configs, and adjust version checks in the codebase
to handle changes in these new RHEL kernel releases.