Skip to content

[CIQ 6.12] Rebase to v6.12.24 #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Apr 23, 2025

Conversation

bmastbergen
Copy link
Collaborator

LE-2862

Config Changes

A couple of minor config changes. IRQ_BYPASS_MANAGER and HAVE_KVM_IRQ_BYPASS_MANAGER now default to whatever KVM is. CONFIG_KVM=m in our x86_64 configs, so these have switched to =m as well. And the not set
CONFIG_HID_UNIVERSAL_PIDFF is for a new driver.

CONFIG_IRQ_BYPASS_MANAGER now follows KVM
CONFIG_HAVE_KVM_IRQ_BYPASS now follows KVM
 KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
 Upstream: fae0a8796c4f5d31500959753e87953238eccd95

CONFIG_HID_UNIVERSAL_PIDFF is new
 HID: Add hid-universal-pidff driver and supported device ids
 Upstream: f45f26a6b3e7260c129c7c6bb0ace63aeb7b3868

Removed Patch

We have removed the x86/paravirt: Move halt paravirt calls under CONFIG_PARAVIRT patch from our patchset since it is in 6.12.24 already.

Build Log

kABI check will be skipped
/home/brett/kernel-src-tree
no .config file found, moving on
[TIMER]{MRPROPER}: 0s
x86_64 architecture detected, copying config
'ciq/configs/kernel-x86_64.config' -> '.config'
Setting Local Version for build
CONFIG_LOCALVERSION="-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a"
Making olddefconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
Starting Build
  GEN     arch/x86/include/generated/asm/orc_hash.h
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h

[SNIP]

   STRIP   /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/hsr/hsr.ko
  STRIP   /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/qrtr/qrtr.ko
  STRIP   /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/virt/lib/irqbypass.ko
  STRIP   /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/qrtr/qrtr-mhi.ko
  SIGN    /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko
  SIGN    /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/virt/lib/irqbypass.ko
  SIGN    /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/hsr/hsr.ko
  SIGN    /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/qrtr/qrtr.ko
  SIGN    /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+/kernel/net/qrtr/qrtr-mhi.ko
  DEPMOD  /lib/modules/6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+
[TIMER]{MODULES}: 11s
Making Install
  INSTALL /boot
[TIMER]{INSTALL}: 62s
Checking kABI
kABI check skipped
Setting Default Kernel to /boot/vmlinuz-6.12.24-_automation_tmp__ciq-6.12.y-next-e5dfecdde37a+ and Index to 2
Hopefully Grub2.0 took everything ... rebooting after time metrices
[TIMER]{MRPROPER}: 0s
[TIMER]{BUILD}: 1322s
[TIMER]{MODULES}: 11s
[TIMER]{INSTALL}: 62s
[TIMER]{TOTAL} 1416s
Rebooting in 10 seconds

Testing

kselftests were run before and after the rebase

selftests-before.log

selftests-after.log

brett@lycia ~/ciq/le-2862 % grep ^ok selftests-before.log | wc -l
423
brett@lycia ~/ciq/le-2862 % grep ^ok selftests-after.log | wc -l
421
brett@lycia ~/ciq/le-2862 %

PlaidCat and others added 13 commits April 22, 2025 10:01
Adding configs based of Fedora-ARK default config from 6.12.15.

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, is not even supported
as a config for ARM.

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.
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 78c8af872660c31779951583b6f1ebf283d95985
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 <[email protected]>
[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 <[email protected]>
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit 78c8af872660c31779951583b6f1ebf283d95985
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 <[email protected]>
Signed-off-by: David Howells <[email protected]>
Reviewed-by: Ard Biesheuvel <[email protected]>
cc: [email protected]
[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 <[email protected]>
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit 78c8af872660c31779951583b6f1ebf283d95985
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 <[email protected]>
[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 <[email protected]>
Signed-off-by: Jonathan Maple <[email protected]>
jira LE-2629
feature Additional SecureBoot patches for dynamic lockdown
commit 78c8af872660c31779951583b6f1ebf283d95985
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 <[email protected]>
Cc: Matthew Garrett <[email protected]>
Cc: David Howells <[email protected]>
Cc: Joern Engel <[email protected]>
Cc: [email protected]
Signed-off-by: Jonathan Maple <[email protected]>
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 <[email protected]>
Signed-off-by: Jonathan Maple <[email protected]>
jira LE-2629

The config option CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is enabled for
x86_64 from our base kernel-ark fork process however since we
prioritized the additional lockdown patches from Debian as they also
support ARM they've also set the config CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
to for their arm configs as well so we must do the same.

For technical reasons its defined here:
https://salsa.debian.org/kernel-team/linux/-/blob/debian/latest/debian/config/config?ref_type=heads#L7762

It was validated that this is the generic setting by downloading their
arm64 configs from here:
https://packages.debian.org/sid/amd64/linux-config-6.12/download
jira LE-2628

The config changes should have been run through make olddefconfig but
were not after making their modifications.  We want to do thsi so that
we can identify easily configs that might be introduced in a Zeta
release of the LT or Stable GKH kernels.

Fixes: 59a132d
All configs dropped the follwoing since its dependent on ARCH_MVEBU
which is not configured on so there is no reason to ask.
 # CONFIG_CZNIC_PLATFORMS is not set
See upstream commit: dd0f05b

x86_64 configs also dropped a previously defined y config
 -CONFIG_IMX_SCMI_MISC_DRV=y
 This comes from firmware: imx: IMX_SCMI_MISC_DRV should depend on ARCH_MXC
See Upstream Commit: be6686b
Whats a little confusing is that the fedora kernel-ark says that this is
marked as a `y`
$ cat redhat/configs/rhel/generic/CONFIG_IMX_SCMI_MISC_DRV
CONFIG_IMX_SCMI_MISC_DRV=y

[kernel-ark]$ ls redhat/configs/kernel-6.13.8-x86_64*
redhat/configs/kernel-6.13.8-x86_64-automotive.config
redhat/configs/kernel-6.13.8-x86_64.config
redhat/configs/kernel-6.13.8-x86_64-rt.config
redhat/configs/kernel-6.13.8-x86_64-automotive-debug.config
redhat/configs/kernel-6.13.8-x86_64-debug.config
redhat/configs/kernel-6.13.8-x86_64-rt-debug.config

[kernel-ark]$ grep CONFIG_IMX_SCMI_MISC_DRV redhat/configs/kernel-6.13.8-x86_64*
[kernel-ark]$

Do to this we're leaving this as the default Kconfig of off for x86_64
These are all default options that are extending other selections
already present in our configs.

FW_CACHE is enabled ddue to PM_SLEEP being enabled in all kernels
 drm/nouveau: select FW caching
 Upstream commit 6b481ab

DRM_CLIENT_SELECTION is enabled due to this change for nouveau
 drm/nouveau: Run DRM default client setup
 Upstream commit ef35089

DRM_CLIENT_SETUP is selected if DRM_CLIENT_SELECTION is selected and if
DRM_FBDEV_EMULATION is selected which is selected in all configs
 drm: Add client-agnostic setup helper
 Upstream comimt d07fdf9
HAVE_EISA is only allowed for 32-bit
 x86/platform: Only allow CONFIG_EISA for 32-bit
 Upstream: commit 3e14d9a

LD_CAN_USE_KEEP_IN_OVERLAY is now enabled if LD_IS_BFD=y
 ARM: 9443/1: Require linker to support KEEP within OVERLAY for DCE
 Upstream: 59fc423
CONFIG_IRQ_BYPASS_MANAGER now follows KVM
CONFIG_HAVE_KVM_IRQ_BYPASS now follows KVM
 KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
 Upstream: fae0a87

CONFIG_HID_UNIVERSAL_PIDFF is new
 HID: Add hid-universal-pidff driver and supported device ids
 Upstream: f45f26a
Copy link

@thefossguy-ciq thefossguy-ciq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚤

Copy link
Collaborator

@PlaidCat PlaidCat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@bmastbergen bmastbergen merged commit e5dfecd into ciq-6.12.y-next Apr 23, 2025
6 checks passed
@bmastbergen bmastbergen deleted the {automation_tmp}_ciq-6.12.y-next branch April 23, 2025 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

7 participants