From 10a7631d1f83770993b830d69e7fb66691d967f6 Mon Sep 17 00:00:00 2001 From: Gleb Chesnokov Date: Wed, 21 Oct 2026 17:51:32 +0300 Subject: [PATCH] scst: Raise the minimum upstream kernel version to 3.18 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. --- .github/kernel-matrix.conf | 1 - nightly/conf/nightly.conf | 8 -------- scst/include/backport.h | 5 +++-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/kernel-matrix.conf b/.github/kernel-matrix.conf index 4c9d00ec7..4b16b95d5 100644 --- a/.github/kernel-matrix.conf +++ b/.github/kernel-matrix.conf @@ -28,7 +28,6 @@ GITHUB_REGRESSION_KERNEL_SELECTORS="\ 4.14 \ 4.9 \ 3.18 \ -3.10 \ Rocky^10.2 \ Rocky^10.1 \ Rocky^9.8 \ diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index a1be2fd18..535e4e83e 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -70,14 +70,6 @@ ABT_KERNELS=" \ 4.0.9-nc \ 3.19.8-nc \ 3.18.140-nc \ -3.17.8-nc \ -3.16.85-nc \ -3.15.10-nc \ -3.14.79-nc \ -3.13.11-nc \ -3.12.74-nc \ -3.11.10-nc \ -3.10.108-nc \ 6.12.0-211.66.1.el10_2^Rocky^10.2-nc \ 6.12.0-124.56.1.el10_1^Rocky^10.1-nc \ 5.14.0-687.58.1.el9_8^Rocky^9.8-nc \ diff --git a/scst/include/backport.h b/scst/include/backport.h index d2200849e..98ba43e74 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -30,8 +30,9 @@ #error RHEL 6 is no longer supported. Please upgrade to RHEL 7 or later. #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -#error SCST does not support kernels older than 3.10.0. +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && \ + (!defined(RHEL_MAJOR) || RHEL_MAJOR - 0 < 7) +#error SCST requires Linux 3.18 or later, except for supported RHEL 7 kernels. #endif #include