Skip to content

[ciq-6.18.y-next] Multiple patches tested (40 commits)#1112

Open
ciq-kernel-automation[bot] wants to merge 40 commits intociq-6.18.y-nextfrom
{automation_tmp}_ciq-6.18.y-next
Open

[ciq-6.18.y-next] Multiple patches tested (40 commits)#1112
ciq-kernel-automation[bot] wants to merge 40 commits intociq-6.18.y-nextfrom
{automation_tmp}_ciq-6.18.y-next

Conversation

@ciq-kernel-automation
Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

Add CIQ configs

Adding configs based of Fedora-ARK default config from 6.18.2.
Add initial CIQ config tweaks

We are modifying these with the following configs where available
CONFIG_MODIFY_LDT_SYSCALL=n
CONFIG_LEGACY_VSYSCALL_NONE=n
These options are for old software support which adds performance
overhead and potential attack surfaces with go against the CIQ LT
kernels priority of performance and security.
github actions: Make Builds on Merge Request Work

Setting up the default build configs to ensure everything builds when we
update and rebase.
arm64: add kernel config option to lock down when in Secure Boot mode

jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
	    summary line.
efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode

jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.
UEFI machines can be booted in Secure Boot mode.  Add an EFI_SECURE_BOOT
flag that can be passed to efi_enabled() to find out whether secure boot is
enabled.
efi: Lock down the kernel if booted in secure boot mode

jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.
mtd: phram,slram: Disable when the kernel is locked down

jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.
Add efi_status_to_str() and rework efi_status_to_err().

jira LE-2629
feature Fedora EFI status status
ommit 7a60169d168d6aae70aca10b7b71070666068529
commit-source https://gitlab.com/cki-project/kernel-ark/
[CIQ] v6.18.3 - rebased configs

CONFIG_SPI_MICROCHIP_CORE is no longer a valid config option in 6.18.3
 spi: microchip: rename driver file and internal identifiers
 Upstream 71c814e98696f2cd53e9e6cef7501c2d667d4c5a
[CIQ] v6.18.7 - rebased configs

Upstream commit 5ba2f0a15564 (mm: introduce deferred freeing for
kernel page tables) was backported which adds new config option
ASYNC_KERNEL_PGTABLE_FREE.  Then upsteam commit e37d5a2d60a3
(iommu/sva: invalidate stale IOTLB entries for kernel address space)
was backported which selects it by default for x86 configs that have
selected IOMMU_SVA (which our x86_64 configs have)
 iommu/sva: invalidate stale IOTLB entries for kernel address space
 Upstream e37d5a2d60a338c5917c45296bac65da1382eda5
[CIQ] v6.18.9 - rebased configs

The config dependency on DEVICE_PRIVATE for DRM_GPUSVM was removed,
causing it to be selected by default for configs with DRM_XE (like ours).
Because DRM_GPUSVM is now enabled, DRM_XE_USERPTR_INVAL_INJECT is valid,
but not selected by default.
 drm, drm/xe: Fix xe userptr in the absence of CONFIG_DEVICE_PRIVATE
 Upstrea: bdcdf968be314b6fc8835b99fb4519e7619671e6 upstream.
[CIQ] v6.18.14 - rebased configs

ATH9K_AHB now depends on OF to be selected by default.  x86_64
configs do not have OF.  This is fine since ahb bus is arm only.
 wifi: ath9k: add OF dependency to AHB
 upstream: 125e7b31f041cc0a4ede1e42bef69915f0a63a35
[CIQ] v6.18.17 - rebased configs

WARN_ALL_UNSEEDED_RANDOM was removed completely
 Remove WARN_ALL_UNSEEDED_RANDOM kernel config option
 Upstream: 7dff99b354601dd01829e1511711846e04340a69
configs: Enable INTEL_TDX_HOST for x86_64 configs

There are customers that will need this enabled by default
Import initial dist-git for 6.18.19

kernel.spec: Fix buildid and pkgrelease

This matches the 6.12 spec
Remove gating.yaml

Update sbat templates

We are defining the product as clk so if we ever need to revoke or
deny the cert we can target this specific product
Ensure all qdiscs are in modules-core

by design, kernel-ark blacklists all modules in modules-extra that have
a module alias. Now that qdiscs have their module alias [1], some of them
became blacklisted even if we didn't really intend to: move them back to
kernel-modules to preserve feature parity with other qdiscs (and
previous
releases).
Remove modules-rt-kvm references

We don't have that
Set buildid to .1

And define pkgrelease using buildid.
rocky: generalize rule for kunit and test kmod placement

Rename package to kernel-clk6.18

Remove gemini switch

This comes from kernel-ark and is part of their solution for a
kernel variant that should supplant the factory kernel.  Since thats
not what we want, remove this to avoid any confusion.
Add Provides/Conflicts for non-parallel installable kernel-* packages

Adds Provides and Conflicts tags to kernel-clk6.18-* packages that
cannot be parallel installed with stock Rocky kernel packages:
- kernel-doc
- kernel-headers
- kernel-cross-headers
- kernel-debuginfo-common
- kernel-tools
- kernel-tools-libs
- kernel-tools-libs-devel
- kernel-selftests-internal
Rename tool packages with pkg_suffix and add Provides/Conflicts

Introduce %{pkg_suffix} macro (clk%{patchversion}) and use it for:
- package_name: kernel-%{pkg_suffix}
- tool packages: perf, python3-perf, libperf, rtla, rv
Use gzip for symvers compression to match upstream

Switch Module.symvers compression from the dynamic %compression
macro (xz) to hardcoded gzip -c9, matching the upstream kernel spec.
Also fixes the ghost file permissions from 0644 to 0600.
Add +clk6.18 suffix to kernel version string (uname -r)

Inject +%{pkg_suffix} into KVERREL and the shell-level equivalents
(KernelVer, DevelDir, EXTRAVERSION) so that uname -r shows the CLK
kernel identity, e.g. 6.18.19-1.1.el9_ciq.x86_64+clk6.18.
Add kernel-clk6.18-default package to set default kernel

Consolidate spec version defines and prevent CLK kernel from hijacking boot default

Reduce duplicated version numbers in the spec to single sources of truth:
- kernel_major_minor, kernel_patch, and buildid are the base defines
- specversion, kversion, patchlevel, pkgrelease, specrelease, and
  tarfile_release are all derived from them
- Remove specrpmversion (identical to specversion)
- Add el_version for tarball naming
Rework -default package and clean up tool subpackage naming

Move -default subpackage out of %if %{with_tools} guard so it exists
independently of the tools build flag.  Add Requires(posttrans) on
-core to guarantee vmlinuz is installed before grubby runs.  Add
Provides/Conflicts on kernel-provider(default) for mutual exclusion.
Bundle bindgen-cli from source for Rocky 9.6 builds

The bindgen tool required for kernel Rust support is not packaged in
Rocky Linux 9.6. Replace the bindgen BuildRequires with a bundled
bindgen-cli crate built from vendored source during the RPM build.
[CIQ] v6.18.20 - updated spec

[CIQ] v6.18.21 - updated spec

github actions: Inherit the Kernel CI Automated workflow from main

spec: Skip certificate setup for noarch builds

Update spec for ciq_kernel-6.18.21-2

We've picked up a source code change to fix a kallsym issue and
a spec file change to address noarch builds while secure boot signing
github actions: Use trigger for kernelCI

Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
github actions: Trigger kernelCI on ciq-6.18.y-next branches

[CIQ] v6.18.22 - updated spec

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 37m 23s 40m 13s
aarch64 22m 59s 25m 40s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed
x86_64 441 62
aarch64 370 57

Test Comparison

x86_64:

  • ⚠️ Status: Skipped - No baseline available

aarch64:

  • ⚠️ Status: Skipped - No baseline available

🤖 This PR was automatically generated by GitHub Actions
Run ID: 24302759008

bmastbergen and others added 30 commits April 12, 2026 08:45
Adding configs based of Fedora-ARK default config from 6.18.2.
We are modifying these with the following configs where available
CONFIG_MODIFY_LDT_SYSCALL=n
CONFIG_LEGACY_VSYSCALL_NONE=n
These options are for old software support which adds performance
overhead and potential attack surfaces with go against the CIQ LT
kernels priority of performance and security.

CONFIG_LIVEPATCH=n
We do not have Live patching on for any road-map

CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
This should be enabled, it often improves performance funnily enough

CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_HZ=100
These are set to increase throughput CONFIG_PREEMPT_VOLUNTARY=y
(default
Fedora config) but CONFIG_HZ=100 for higher throughput over the
x86_64
default of CONFIG_HZ=1000 which provides lower latency.

After modification 'make CROSS_COMPILE=./scripts/dummy-tools/' was
run
Setting up the default build configs to ensure everything builds when we
update and rebase.
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
	    summary line.

Add a kernel configuration option to lock down the kernel, to restrict
userspace's ability to modify the running kernel when UEFI Secure Boot is
enabled. Based on the x86 patch by Matthew Garrett.

Determine the state of Secure Boot in the EFI stub and pass this to the
kernel using the FDT.

Signed-off-by: Linn Crosetto <linn@hpe.com>
[bwh: Forward-ported to 4.10: adjust context]
[Lukas Wunner: Forward-ported to 4.11: drop parts applied upstream]
[bwh: Forward-ported to 4.15 and lockdown patch set:
 - Pass result of efi_get_secureboot() in stub through to
   efi_set_secure_boot() in main kernel
 - Use lockdown API and naming]
[bwh: Forward-ported to 4.19.3: adjust context in update_fdt()]
[dannf: Moved init_lockdown() call after uefi_init(), fixing SB detection]
[bwh: Drop call to init_lockdown(), as efi_set_secure_boot() now calls this]
[bwh: Forward-ported to 5.6: efi_get_secureboot() no longer takes a
 sys_table parameter]
[bwh: Forward-ported to 5.7: EFI initialisation from FDT was rewritten, so:
 - Add Secure Boot mode to the parameter enumeration in fdtparams.c
 - Add a parameter to efi_get_fdt_params() to return the Secure Boot mode
 - Since Xen does not have a property name defined for Secure Boot mode,
   change efi_get_fdt_prop() to handle a missing property name by clearing
   the output variable]
[Salvatore Bonaccorso: Forward-ported to 5.10: f30f242 ("efi: Rename
arm-init to efi-init common for all arch") renamed arm-init.c to efi-init.c]

Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.
UEFI machines can be booted in Secure Boot mode.  Add an EFI_SECURE_BOOT
flag that can be passed to efi_enabled() to find out whether secure boot is
enabled.

Move the switch-statement in x86's setup_arch() that inteprets the
secure_boot boot parameter to generic code and set the bit there.

Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
cc: linux-efi@vger.kernel.org
[rperier: Forward-ported to 5.5:
 - Use pr_warn()
 - Adjust context]
[bwh: Forward-ported to 5.6: adjust context]
[bwh: Forward-ported to 5.7:
 - Use the next available bit in efi.flags
 - Adjust context]
Signed-off-by: Jonathan Maple <jmaple@ciq.com>

Revert "efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode"

This reverts commit 4047f887e98539d07d664eaa6699d9c8fb6c0ca4.
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.

Based on an earlier patch by David Howells, who wrote the following
description:

> UEFI Secure Boot provides a mechanism for ensuring that the firmware will
> only load signed bootloaders and kernels.  Certain use cases may also
> require that all kernel modules also be signed.  Add a configuration option
> that to lock down the kernel - which includes requiring validly signed
> modules - if the kernel is secure-booted.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
[Salvatore Bonaccorso: After fixing https://bugs.debian.org/956197 the
help text for LOCK_DOWN_IN_EFI_SECURE_BOOT was adjusted to mention that
lockdown is triggered in integrity mode (https://bugs.debian.org/1025417)]
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit b24fbd012b781b752cc51d6ef1fe1c6d5875ae87
commit-source https://salsa.debian.org/kernel-team/linux.git
commit-patch-path debian/patches/features/all/lockdown
commit-info Checkout the commit sha above and move to the directory
            listed above to find Debian patches matching this commits
            summary line.

These drivers allow mapping arbitrary memory ranges as MTD devices.
This should be disabled to preserve the kernel's integrity when it is
locked down.

* Add the HWPARAM flag to the module parameters
* When slram is built-in, it uses __setup() to read kernel parameters,
  so add an explicit check security_locked_down() check

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Matthew Garrett <mjg59@google.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Joern Engel <joern@lazybastard.org>
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira LE-2629
feature Fedora EFI status status
ommit 7a60169d168d6aae70aca10b7b71070666068529
commit-source https://gitlab.com/cki-project/kernel-ark/

This adds efi_status_to_str() for use when printing efi_status_t
messages, and reworks efi_status_to_err() so that the two use a common
list of errors.

Upstream Status: RHEL only
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
CONFIG_SPI_MICROCHIP_CORE is no longer a valid config option in 6.18.3
 spi: microchip: rename driver file and internal identifiers
 Upstream 71c814e
Upstream commit 5ba2f0a (mm: introduce deferred freeing for
kernel page tables) was backported which adds new config option
ASYNC_KERNEL_PGTABLE_FREE.  Then upsteam commit e37d5a2
(iommu/sva: invalidate stale IOTLB entries for kernel address space)
was backported which selects it by default for x86 configs that have
selected IOMMU_SVA (which our x86_64 configs have)
 iommu/sva: invalidate stale IOTLB entries for kernel address space
 Upstream e37d5a2
The config dependency on DEVICE_PRIVATE for DRM_GPUSVM was removed,
causing it to be selected by default for configs with DRM_XE (like ours).
Because DRM_GPUSVM is now enabled, DRM_XE_USERPTR_INVAL_INJECT is valid,
but not selected by default.
 drm, drm/xe: Fix xe userptr in the absence of CONFIG_DEVICE_PRIVATE
 Upstrea: bdcdf96 upstream.
ATH9K_AHB now depends on OF to be selected by default.  x86_64
configs do not have OF.  This is fine since ahb bus is arm only.
 wifi: ath9k: add OF dependency to AHB
 upstream: 125e7b3
WARN_ALL_UNSEEDED_RANDOM was removed completely
 Remove WARN_ALL_UNSEEDED_RANDOM kernel config option
 Upstream: 7dff99b

UNWIND_USER and HAVE_UNWIND_USER_FP were added and enabled
by default for x86.
 unwind_user/x86: Enable frame pointer unwinding on x86
 Upstream: 49cf34c
There are customers that will need this enabled by default
This matches the 6.12 spec
We are defining the product as clk so if we ever need to revoke or
deny the cert we can target this specific product
by design, kernel-ark blacklists all modules in modules-extra that have
a module alias. Now that qdiscs have their module alias [1], some of them
became blacklisted even if we didn't really intend to: move them back to
kernel-modules to preserve feature parity with other qdiscs (and
previous
releases).

[1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=241a94abcf465ba9363d93168da5ddd47002930f
And define pkgrelease using buildid.

.1.1.0.0 is excessive
This comes from kernel-ark and is part of their solution for a
kernel variant that should supplant the factory kernel.  Since thats
not what we want, remove this to avoid any confusion.
Adds Provides and Conflicts tags to kernel-clk6.18-* packages that
cannot be parallel installed with stock Rocky kernel packages:
- kernel-doc
- kernel-headers
- kernel-cross-headers
- kernel-debuginfo-common
- kernel-tools
- kernel-tools-libs
- kernel-tools-libs-devel
- kernel-selftests-internal

This allows these packages to satisfy dependencies for stock kernel
packages while preventing simultaneous installation.
Introduce %{pkg_suffix} macro (clk%{patchversion}) and use it for:
- package_name: kernel-%{pkg_suffix}
- tool packages: perf, python3-perf, libperf, rtla, rv

Tool packages now named:
- perf-%{pkg_suffix}
- python3-perf-%{pkg_suffix}
- libperf-%{pkg_suffix}
- libperf-%{pkg_suffix}-devel
- rtla-%{pkg_suffix}
- rv-%{pkg_suffix}
- *-debuginfo variants

Each tool package includes:
- Provides: <original-name> = %{specrpmversion}-%{release}
- Conflicts: <original-name>

This prevents parallel installation with stock Rocky kernel tools
while satisfying dependencies for the original package names.
Switch Module.symvers compression from the dynamic %compression
macro (xz) to hardcoded gzip -c9, matching the upstream kernel spec.
Also fixes the ghost file permissions from 0644 to 0600.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
Inject +%{pkg_suffix} into KVERREL and the shell-level equivalents
(KernelVer, DevelDir, EXTRAVERSION) so that uname -r shows the CLK
kernel identity, e.g. 6.18.19-1.1.el9_ciq.x86_64+clk6.18.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
…g boot default

Reduce duplicated version numbers in the spec to single sources of truth:
- kernel_major_minor, kernel_patch, and buildid are the base defines
- specversion, kversion, patchlevel, pkgrelease, specrelease, and
  tarfile_release are all derived from them
- Remove specrpmversion (identical to specversion)
- Add el_version for tarball naming

Export GRUB_NON_STANDARD_KERNEL=true in the posttrans before calling
kernel-install so that 20-grub.install respects DEFAULTKERNEL in
/etc/sysconfig/kernel. When DEFAULTKERNEL=kernel-core, the CLK kernel
will no longer take over as the boot default on upgrade.

Update generate_tarball.sh to extract the base defines and compute
derived values rather than reading the now-derived tarfile_release
directly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
jdieter and others added 10 commits April 12, 2026 08:45
Move -default subpackage out of %if %{with_tools} guard so it exists
independently of the tools build flag.  Add Requires(posttrans) on
-core to guarantee vmlinuz is installed before grubby runs.  Add
Provides/Conflicts on kernel-provider(default) for mutual exclusion.

Replace the simple %post sed approach with proper %pre/%postun/%posttrans
scriptlets that back up the original /etc/sysconfig/kernel, restore it
on uninstall, and use grubby to set the boot default.

Convert tools subpackages from -n %{package_name}-tools to %package tools
(short form) matching the convention used by all other subpackages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
The bindgen tool required for kernel Rust support is not packaged in
Rocky Linux 9.6. Replace the bindgen BuildRequires with a bundled
bindgen-cli crate built from vendored source during the RPM build.

Add bundle_bindgen.sh helper script to download, vendor, and tar the
bindgen-cli source for inclusion as Source5000.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan Dieter <jdieter@ciq.com>
We've picked up a source code change to fix a kallsym issue and
a spec file change to address noarch builds while secure boot signing
Signed-off-by: Brett Mastbergen <bmastbergen@ciq.com>
@ciq-kernel-automation ciq-kernel-automation bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Apr 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

6 participants