diff --git a/Makefile.rhelver b/Makefile.rhelver new file mode 100644 index 0000000..a620a22 --- /dev/null +++ b/Makefile.rhelver @@ -0,0 +1,47 @@ +RHEL_MAJOR = 9 +RHEL_MINOR = 0 + +# +# RHEL_RELEASE +# ------------- +# +# Represents build number in 'release' part of RPM's name-version-release. +# name is , e.g. kernel +# version is upstream kernel version this kernel is based on, e.g. 4.18.0 +# release is .[], e.g. 100.el8 +# +# Use this spot to avoid future merge conflicts. +# Do not trim this comment. +RHEL_RELEASE = 13 + +# +# Early y+1 numbering +# -------------------- +# +# In early y+1 process, RHEL_RELEASE consists of 2 numbers: x.y +# First is RHEL_RELEASE inherited/merged from y as-is, second number +# is incremented with each build starting from 1. After merge from y, +# it resets back to 1. This way y+1 nvr reflects status of last merge. +# +# Example: +# +# rhel8.0 rhel-8.1 +# kernel-4.18.0-58.el8 --> kernel-4.18.0-58.1.el8 +# kernel-4.18.0-58.2.el8 +# kernel-4.18.0-59.el8 kernel-4.18.0-59.1.el8 +# kernel-4.18.0-60.el8 +# kernel-4.18.0-61.el8 --> kernel-4.18.0-61.1.el8 +# +# +# Use this spot to avoid future merge conflicts. +# Do not trim this comment. +EARLY_YSTREAM ?= no +EARLY_YBUILD:= +EARLY_YRELEASE:= +ifneq ("$(ZSTREAM)", "yes") + ifeq ("$(EARLY_YSTREAM)","yes") + RHEL_RELEASE:=$(RHEL_RELEASE).$(EARLY_YRELEASE) + endif +endif + +RTBUILD:=.13 diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..5de37e5 --- /dev/null +++ b/README.rst @@ -0,0 +1,25 @@ +=================== +The Kernel dist-git +=================== + +The kernel is maintained in a `source tree`_ rather than directly in dist-git. +The specfile is maintained as a `template`_ in the source tree along with a set +of build scripts to generate configurations, (S)RPMs, and to populate the +dist-git repository. + +The `documentation`_ for the source tree covers how to contribute and maintain +the tree. + +If you're looking for the downstream patch set it's available in the source +tree with "git log master..ark-patches" or +`online`_. + +Each release in dist-git is tagged in the source repository so you can easily +check out the source tree for a build. The tags are in the format +name-version-release, but note release doesn't contain the dist tag since the +source can be built in different build roots (Fedora, CentOS, etc.) + +.. _source tree: https://gitlab.com/cki-project/kernel-ark.git +.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template +.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home +.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches diff --git a/check-kabi b/check-kabi new file mode 100755 index 0000000..f9d4dcb --- /dev/null +++ b/check-kabi @@ -0,0 +1,149 @@ +#!/usr/bin/python3 +# +# check-kabi - Red Hat kABI reference checking tool +# +# We use this script to check against reference Module.kabi files. +# +# Author: Jon Masters +# Copyright (C) 2007-2009 Red Hat, Inc. +# +# This software may be freely redistributed under the terms of the GNU +# General Public License (GPL). + +# Changelog: +# +# 2018/06/01 - Update for python3 by Petr Oros. +# 2009/08/15 - Updated for use in RHEL6. +# 2007/06/13 - Initial rewrite in python by Jon Masters. + +__author__ = "Jon Masters " +__version__ = "2.0" +__date__ = "2009/08/15" +__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc" +__license__ = "GPL" + +import getopt +import string +import sys + +true = 1 +false = 0 + + +def load_symvers(symvers, filename): + """Load a Module.symvers file.""" + + symvers_file = open(filename, "r") + + while true: + in_line = symvers_file.readline() + if in_line == "": + break + if in_line == "\n": + continue + checksum, symbol, directory, type = in_line.split() + + symvers[symbol] = in_line[0:-1] + + +def load_kabi(kabi, filename): + """Load a Module.kabi file.""" + + kabi_file = open(filename, "r") + + while true: + in_line = kabi_file.readline() + if in_line == "": + break + if in_line == "\n": + continue + checksum, symbol, directory, type = in_line.split() + + kabi[symbol] = in_line[0:-1] + + +def check_kabi(symvers, kabi): + """Check Module.kabi and Module.symvers files.""" + + fail = 0 + warn = 0 + changed_symbols = [] + moved_symbols = [] + + for symbol in kabi: + abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split() + if symbol in symvers: + sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split() + if abi_hash != sym_hash: + fail = 1 + changed_symbols.append(symbol) + + if abi_dir != sym_dir: + warn = 1 + moved_symbols.append(symbol) + else: + fail = 1 + changed_symbols.append(symbol) + + if fail: + print("*** ERROR - ABI BREAKAGE WAS DETECTED ***") + print("") + print("The following symbols have been changed (this will cause an ABI breakage):") + print("") + for symbol in changed_symbols: + print(symbol) + print("") + + if warn: + print("*** WARNING - ABI SYMBOLS MOVED ***") + print("") + print("The following symbols moved (typically caused by moving a symbol from being") + print("provided by the kernel vmlinux out to a loadable module):") + print("") + for symbol in moved_symbols: + print(symbol) + print("") + + """Halt the build, if we got errors and/or warnings. In either case, + double-checkig is required to avoid introducing / concealing + KABI inconsistencies.""" + if fail or warn: + sys.exit(1) + sys.exit(0) + + +def usage(): + print(""" +check-kabi: check Module.kabi and Module.symvers files. + + check-kabi [ -k Module.kabi ] [ -s Module.symvers ] + +""") + + +if __name__ == "__main__": + + symvers_file = "" + kabi_file = "" + + opts, args = getopt.getopt(sys.argv[1:], 'hk:s:') + + for o, v in opts: + if o == "-s": + symvers_file = v + if o == "-h": + usage() + sys.exit(0) + if o == "-k": + kabi_file = v + + if (symvers_file == "") or (kabi_file == ""): + usage() + sys.exit(1) + + symvers = {} + kabi = {} + + load_symvers(symvers, symvers_file) + load_kabi(kabi, kabi_file) + check_kabi(symvers, kabi) diff --git a/cpupower.config b/cpupower.config new file mode 100644 index 0000000..8629a4a --- /dev/null +++ b/cpupower.config @@ -0,0 +1,3 @@ +# See 'cpupower help' and cpupower(1) for more info +CPUPOWER_START_OPTS="frequency-set -g performance" +CPUPOWER_STOP_OPTS="frequency-set -g ondemand" diff --git a/cpupower.service b/cpupower.service new file mode 100644 index 0000000..5f10ab7 --- /dev/null +++ b/cpupower.service @@ -0,0 +1,13 @@ +[Unit] +Description=Configure CPU power related settings +After=syslog.target + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile=/etc/sysconfig/cpupower +ExecStart=/usr/bin/cpupower $CPUPOWER_START_OPTS +ExecStop=/usr/bin/cpupower $CPUPOWER_STOP_OPTS + +[Install] +WantedBy=multi-user.target diff --git a/filter-aarch64.sh.rhel b/filter-aarch64.sh.rhel new file mode 100644 index 0000000..e088c8e --- /dev/null +++ b/filter-aarch64.sh.rhel @@ -0,0 +1,18 @@ +#! /bin/bash + +# This is the aarch64 override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" + +ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom" + +drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" diff --git a/filter-armv7hl.sh.rhel b/filter-armv7hl.sh.rhel new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/filter-armv7hl.sh.rhel diff --git a/filter-i686.sh.rhel b/filter-i686.sh.rhel new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/filter-i686.sh.rhel diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel new file mode 100755 index 0000000..c4a8e59 --- /dev/null +++ b/filter-modules.sh.rhel @@ -0,0 +1,169 @@ +#! /bin/bash +# +# Called as filter-modules.sh list-of-modules Arch + +# This script filters the modules into the kernel-core and kernel-modules +# subpackages. We list out subsystems/subdirs to prune from the installed +# module directory. What is left is put into the kernel-core package. What is +# pruned is contained in the kernel-modules package. +# +# This file contains the default subsys/subdirs to prune from all architectures. +# If an architecture needs to differ, we source a per-arch filter-.sh file +# that contains the set of override lists to be used instead. If a module or +# subsys should be in kernel-modules on all arches, please change the defaults +# listed here. + +# Overrides is individual modules which need to remain in kernel-core due to deps. +overrides="cec" + +# Set the default dirs/modules to filter out +driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1" + +chardrvs="mwave pcmcia" + +netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless" + +ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" + +inputdrvs="gameport tablet touchscreen" + +scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf" + +usbdrvs="atm image misc serial wusbcore" + +fsdrvs="affs befs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs" + +netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless" + +drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via " + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus" + +# Grab the arch-specific filter list overrides +source ./filter-$2.sh + +filter_dir() { + filelist=$1 + dir=$2 + + grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp + + if [ $? -ne 0 ] + then + echo "Couldn't remove ${dir}. Skipping." + else + grep -e "${dir}/" ${filelist} >> k-d.list + mv ${filelist}.tmp $filelist + fi + + return 0 +} + +filter_ko() { + filelist=$1 + mod=$2 + + grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp + + if [ $? -ne 0 ] + then + echo "Couldn't remove ${mod}.ko Skipping." + else + grep -e "${mod}.ko" ${filelist} >> k-d.list + mv ${filelist}.tmp $filelist + fi + + return 0 +} + +# Filter the drivers/ subsystems +for subsys in ${driverdirs} +do + filter_dir $1 drivers/${subsys} +done + +# Filter the networking drivers +for netdrv in ${netdrvs} +do + filter_dir $1 drivers/net/${netdrv} +done + +# Filter the char drivers +for char in ${chardrvs} +do + filter_dir $1 drivers/char/${char} +done + +# Filter the ethernet drivers +for eth in ${ethdrvs} +do + filter_dir $1 drivers/net/ethernet/${eth} +done + +# SCSI +for scsi in ${scsidrvs} +do + filter_dir $1 drivers/scsi/${scsi} +done + +# Input +for input in ${inputdrvs} +do + filter_dir $1 drivers/input/${input} +done + +# USB +for usb in ${usbdrvs} +do + filter_dir $1 drivers/usb/${usb} +done + +# Filesystems +for fs in ${fsdrvs} +do + filter_dir $1 fs/${fs} +done + +# Network protocols +for prot in ${netprots} +do + filter_dir $1 kernel/net/${prot} +done + +# DRM +for drm in ${drmdrvs} +do + filter_dir $1 drivers/gpu/drm/${drm} +done + +# Just kill sound. +filter_dir $1 kernel/sound +filter_dir $1 kernel/drivers/soundwire + +# Now go through and filter any single .ko files that might have deps on the +# things we filtered above +for mod in ${singlemods} +do + filter_ko $1 ${mod} +done + +# Now process the override list to bring those modules back into core +for mod in ${overrides} +do + grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp + if [ $? -ne 0 ] + then + echo "Couldn't save ${mod}.ko Skipping." + else + grep -e "/${mod}.ko" k-d.list >> $filelist + mv k-d.list.tmp k-d.list + fi + +done + +# Go through our generated drivers list and remove the .ko files. We'll +# restore them later. +for mod in `cat k-d.list` +do + rm -rf $mod +done diff --git a/filter-ppc64le.sh.rhel b/filter-ppc64le.sh.rhel new file mode 100644 index 0000000..d80956d --- /dev/null +++ b/filter-ppc64le.sh.rhel @@ -0,0 +1,14 @@ +#! /bin/bash + +# This is the ppc64le override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" diff --git a/filter-s390x.sh.rhel b/filter-s390x.sh.rhel new file mode 100644 index 0000000..04f7110 --- /dev/null +++ b/filter-s390x.sh.rhel @@ -0,0 +1,12 @@ +#! /bin/bash + +# This is the s390x override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +# Defaults work so no need to override diff --git a/filter-x86_64.sh.rhel b/filter-x86_64.sh.rhel new file mode 100644 index 0000000..1aa80f2 --- /dev/null +++ b/filter-x86_64.sh.rhel @@ -0,0 +1,12 @@ +#! /bin/bash + +# This is the x86_64 override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +# Defaults work so no need to override diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..c49c5bf --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: manual.sst_kernel_maintainers.kernel-rt.final} diff --git a/generate_all_configs.sh b/generate_all_configs.sh new file mode 100755 index 0000000..4c02b66 --- /dev/null +++ b/generate_all_configs.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# Adjusts the configuration options to build the variants correctly +# +# arg1: configuration to go in the primary variant +# arg2: are we only generating debug configs + + +PRIMARY=$1 +DEBUGBUILDSENABLED=$2 + +if [ -z "$2" ]; then + exit 1 +fi + +if [ -z "$PRIMARY" ]; then + PRIMARY=rhel +fi + +if [ "$PRIMARY" = "fedora" ]; then + SECONDARY=rhel +else + SECONDARY=fedora +fi + +for i in kernel-auto-*-"$PRIMARY".config; do + NEW=kernel-auto-"$VERSION"-$(echo "$i" | cut -d - -f3- | sed s/-"$PRIMARY"//) + #echo $NEW + mv "$i" "$NEW" +done + +rm -f kernel-auto-*-"$SECONDARY".config + +if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then + for i in kernel-auto-*debug*.config; do + base=$(echo "$i" | sed -r s/-?debug//g) + NEW=kernel-auto-$(echo "$base" | cut -d - -f3-) + mv "$i" "$NEW" + done +fi diff --git a/generate_crashkernel_default.sh b/generate_crashkernel_default.sh new file mode 100755 index 0000000..46d4546 --- /dev/null +++ b/generate_crashkernel_default.sh @@ -0,0 +1,25 @@ +#!/bin/bash +kernelver=$1 && shift +arch=$1 && shift +rootfs=$1 && shift + +output="${rootfs}/lib/modules/${kernelver}/crashkernel.default" + +case $arch in +x86_64|s390*) + ck_cmdline="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" + ;; +arm64|aarch64) + ck_cmdline="crashkernel=2G-:448M" + ;; +powerpc|ppc64*) + ck_cmdline="crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G" + ;; +*) + ck_cmdline="" + ;; +esac + +cat > "$output" < in the rpmbuild command, or by forcing these values to 0. +# +# standard kernel +%define with_up %{?_without_up: 0} %{?!_without_up: 1} +# kernel PAE (only valid for ARM (lpae)) +%define with_pae %{?_without_pae: 0} %{?!_without_pae: 1} +# kernel-debug +%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1} +# kernel-zfcpdump (s390 specific kernel for zfcpdump) +%define with_zfcpdump %{?_without_zfcpdump: 0} %{?!_without_zfcpdump: 1} +# kernel-doc +%define with_doc %{?_without_doc: 0} %{?!_without_doc: 1} +# auto +%define with_auto %{?_without_auto: 0} %{?!_without_auto: 1} +# kernel-headers +%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} +%define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1} +# perf +%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1} +# tools +%define with_tools %{?_without_tools: 0} %{?!_without_tools: 1} +# bpf tool +%define with_bpftool %{?_without_bpftool: 0} %{?!_without_bpftool: 1} +# kernel-debuginfo +%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1} +# kernel-abi-stablelists +%define with_kernel_abi_stablelists %{?_without_kernel_abi_stablelists: 0} %{?!_without_kernel_abi_stablelists: 1} +# internal samples and selftests +%define with_selftests %{?_without_selftests: 0} %{?!_without_selftests: 1} +# +# Additional options for user-friendly one-off kernel building: +# +# Only build the base kernel (--with baseonly): +%define with_baseonly %{?_with_baseonly: 1} %{?!_with_baseonly: 0} +# Only build the pae kernel (--with paeonly): +%define with_paeonly %{?_with_paeonly: 1} %{?!_with_paeonly: 0} +# Only build the debug kernel (--with dbgonly): +%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0} +# Control whether we perform a compat. check against published ABI. +%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} +# Temporarily disable kabi checks until RC. +%define with_kabichk 0 +# Control whether we perform a compat. check against DUP ABI. +%define with_kabidupchk %{?_with_kabidupchk: 1} %{?!_with_kabidupchk: 0} +# +# Control whether to run an extensive DWARF based kABI check. +# Note that this option needs to have baseline setup in SOURCE300. +%define with_kabidwchk %{?_without_kabidwchk: 0} %{?!_without_kabidwchk: 1} +%define with_kabidw_base %{?_with_kabidw_base: 1} %{?!_with_kabidw_base: 0} +# +# Control whether to install the vdso directories. +%define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1} +# +# should we do C=1 builds with sparse +%define with_sparse %{?_with_sparse: 1} %{?!_with_sparse: 0} +# +# Cross compile requested? +%define with_cross %{?_with_cross: 1} %{?!_with_cross: 0} +# +# build a release kernel on rawhide +%define with_release %{?_with_release: 1} %{?!_with_release: 0} + +# verbose build, i.e. no silent rules and V=1 +%define with_verbose %{?_with_verbose: 1} %{?!_with_verbose: 0} + +# +# check for mismatched config options +%define with_configchecks %{?_without_configchecks: 0} %{?!_without_configchecks: 1} + +# +# gcov support +%define with_gcov %{?_with_gcov:1}%{?!_with_gcov:0} + +# +# ipa_clone support +%define with_ipaclones %{?_without_ipaclones: 0} %{?!_without_ipaclones: 1} + +# Want to build a vanilla kernel build without any non-upstream patches? +%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} + +%if 0%{?fedora} +# Kernel headers are being split out into a separate package +%define with_headers 0 +%define with_cross_headers 0 +# no ipa_clone for now +%define with_ipaclones 0 +# no stablelist +%define with_kernel_abi_stablelists 0 +# Fedora builds these separately +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 +# selftests turns on bpftool +%define with_selftests 0 +%endif + +%if %{with_verbose} +%define make_opts V=1 +%else +%define make_opts -s +%endif + +%if %{with toolchain_clang} +%global clang_make_opts HOSTCC=clang CC=clang +%if %{with clang_lto} +%global clang_make_opts %{clang_make_opts} LD=ld.lld HOSTLD=ld.lld AR=llvm-ar NM=llvm-nm HOSTAR=llvm-ar HOSTNM=llvm-nm LLVM_IAS=1 +%endif +%global make_opts %{make_opts} %{clang_make_opts} +# clang does not support the -fdump-ipa-clones option +%global with_ipaclones 0 +%endif + +# turn off debug kernel and kabichk for gcov builds +%if %{with_gcov} +%define with_debug 0 +%define with_kabichk 0 +%define with_kabidupchk 0 +%define with_kabidwchk 0 +%define with_kabidw_base 0 +%define with_kernel_abi_stablelists 0 +%endif + +# turn off kABI DWARF-based check if we're generating the base dataset +%if %{with_kabidw_base} +%define with_kabidwchk 0 +%endif + +# kpatch_kcflags are extra compiler flags applied to base kernel +# -fdump-ipa-clones is enabled only for base kernels on selected arches +%if %{with_ipaclones} +%ifarch x86_64 ppc64le +%define kpatch_kcflags -fdump-ipa-clones +%else +%define with_ipaclones 0 +%endif +%endif + +%if %{with_auto} +# The preempt RT patch level +#global rttag %%RTTAG%% +# autoN +%global rtbuild %%RTBUILD%% +%define with_doc 0 +%define with_headers 0 +%define with_cross_headers 0 +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 +%define with_zfcpdump 0 +%define with_kabichk 0 +%define with_kernel_abi_stablelists 0 +%define with_bpf_samples 0 +%define with_kabidw_base 0 +%define with_ipaclones 0 +%endif + +%define make_target bzImage +%define image_install_path boot + +%define KVERREL %{version}-%{release}.%{_target_cpu} +%define KVERREL_RE %(echo %KVERREL | sed 's/+/[+]/g') +%define hdrarch %_target_cpu +%define asmarch %_target_cpu + +%if 0%{!?nopatches:1} +%define nopatches 0 +%endif + +%if %{with_vanilla} +%define nopatches 1 +%endif + +%if %{with_release} +%define debugbuildsenabled 1 +%endif + +%if !%{with_debuginfo} +%define _enable_debug_packages 0 +%endif +%define debuginfodir /usr/lib/debug +# Needed because we override almost everything involving build-ids +# and debuginfo generation. Currently we rely on the old alldebug setting. +%global _build_id_links alldebug + +# kernel PAE is only built on ARMv7 +%ifnarch armv7hl +%define with_pae 0 +%endif + +# if requested, only build base kernel +%if %{with_baseonly} +%define with_pae 0 +%define with_debug 0 +%define with_vdso_install 0 +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 +%define with_kernel_abi_stablelists 0 +%define with_selftests 0 +%define with_cross 0 +%define with_cross_headers 0 +%define with_ipaclones 0 +%endif + +# if requested, only build pae kernel +%if %{with_paeonly} +%define with_up 0 +%define with_debug 0 +%endif + +# if requested, only build debug kernel +%if %{with_dbgonly} +%define with_up 0 +%define with_vdso_install 0 +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 +%define with_kernel_abi_stablelists 0 +%define with_selftests 0 +%define with_cross 0 +%define with_cross_headers 0 +%define with_ipaclones 0 +%endif + +# turn off kABI DUP check and DWARF-based check if kABI check is disabled +%if !%{with_kabichk} +%define with_kabidupchk 0 +%define with_kabidwchk 0 +%endif + +%if %{with_vdso_install} +%define use_vdso 1 +%endif + +# selftests require bpftool to be built +%if %{with_selftests} +%define with_bpftool 1 +%endif + +%ifnarch noarch +%define with_kernel_abi_stablelists 0 +%endif + +# Overrides for generic default options + +# only package docs noarch +%ifnarch noarch +%define with_doc 0 +%define doc_build_fail true +%endif + +%if 0%{?fedora} +# don't do debug builds on anything but i686 and x86_64 +%ifnarch i686 x86_64 +%define with_debug 0 +%endif +%endif + +# don't build noarch kernels or headers (duh) +%ifarch noarch +%define with_up 0 +%define with_headers 0 +%define with_cross_headers 0 +%define with_tools 0 +%define with_perf 0 +%define with_bpftool 0 +%define with_selftests 0 +%define with_debug 0 +%define all_arch_configs %{name}-%{version}-*.config +%endif + +# sparse blows up on ppc +%ifnarch ppc64le +%define with_sparse 0 +%endif + +# zfcpdump mechanism is s390 only +%ifnarch s390x +%define with_zfcpdump 0 +%endif + +%if 0%{?fedora} +# This is not for Fedora +%define with_zfcpdump 0 +%endif + +# Per-arch tweaks + +%ifarch i686 +%define asmarch x86 +%define hdrarch i386 +%define all_arch_configs %{name}-%{version}-i?86*.config +%define kernel_image arch/x86/boot/bzImage +%endif + +%ifarch x86_64 +%define asmarch x86 +%define all_arch_configs %{name}-%{version}-x86_64*.config +%define kernel_image arch/x86/boot/bzImage +%endif + +%ifarch ppc64le +%define asmarch powerpc +%define hdrarch powerpc +%define make_target vmlinux +%define kernel_image vmlinux +%define kernel_image_elf 1 +%define use_vdso 0 +%define all_arch_configs %{name}-%{version}-ppc64le*.config +%endif + +%ifarch s390x +%define asmarch s390 +%define hdrarch s390 +%define all_arch_configs %{name}-%{version}-s390x.config +%define kernel_image arch/s390/boot/bzImage +%define vmlinux_decompressor arch/s390/boot/compressed/vmlinux +%endif + +%ifarch %{arm} +%define all_arch_configs %{name}-%{version}-arm*.config +%define skip_nonpae_vdso 1 +%define asmarch arm +%define hdrarch arm +%define make_target bzImage +%define kernel_image arch/arm/boot/zImage +# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html +%define kernel_mflags KALLSYMS_EXTRA_PASS=1 +# we only build headers/perf/tools on the base arm arches +# just like we used to only build them on i386 for x86 +%ifnarch armv7hl +%define with_headers 0 +%define with_cross_headers 0 +%endif +# These currently don't compile on armv7 +%define with_selftests 0 +%endif + +%ifarch aarch64 +%define all_arch_configs %{name}-%{version}-aarch64*.config +%define asmarch arm64 +%define hdrarch arm64 +%define make_target Image.gz +%define kernel_image arch/arm64/boot/Image.gz +%endif + +# Should make listnewconfig fail if there's config options +# printed out? +%if %{nopatches} +%define with_configchecks 0 +%endif + +# To temporarily exclude an architecture from being built, add it to +# %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we +# don't build kernel-headers then the new build system will no longer let +# us use the previous build of that package -- it'll just be completely AWOL. +# Which is a BadThing(tm). + +# We only build kernel-headers on the following... +%if 0%{?fedora} +%define nobuildarches i386 +%else +%define nobuildarches i386 i686 %{arm} +%endif + +%ifarch %nobuildarches +# disable BuildKernel commands +%define with_up 0 +%define with_debug 0 +%define with_pae 0 +%define with_zfcpdump 0 + +%define with_debuginfo 0 +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 +%define with_selftests 0 +%define _enable_debug_packages 0 +%endif + +# Architectures we build tools/cpupower on +%if 0%{?fedora} +%define cpupowerarchs %{ix86} x86_64 ppc64le %{arm} aarch64 +%else +%define cpupowerarchs i686 x86_64 ppc64le aarch64 +%endif + +%if 0%{?use_vdso} + +%if 0%{?skip_nonpae_vdso} +%define _use_vdso 0 +%else +%define _use_vdso 1 +%endif + +%else +%define _use_vdso 0 +%endif + +# If build of debug packages is disabled, we need to know if we want to create +# meta debug packages or not, after we define with_debug for all specific cases +# above. So this must be at the end here, after all cases of with_debug or not. +%define with_debug_meta 0 +%if !%{debugbuildsenabled} +%if %{with_debug} +%define with_debug_meta 1 +%endif +%define with_debug 0 +%endif + + +# +# Packages that need to be installed before the kernel is, because the %%post +# scripts use them. +# +%define kernel_prereq coreutils, systemd >= 203-2, /usr/bin/kernel-install +%define initrd_prereq dracut >= 027 + + +Name: kernel-auto +License: GPLv2 and Redistributable, no modification permitted +URL: https://www.kernel.org/ +Version: %{rpmversion} +Release: %{pkg_release} +# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. +# SET %%nobuildarches (ABOVE) INSTEAD +%if %{with_auto} +ExclusiveArch: x86_64 aarch64 +%else +%if 0%{?fedora} +ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le +%else +ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le +%endif +%endif +ExclusiveOS: Linux +%ifnarch %{nobuildarches} +Requires: %{name}-core-uname-r = %{KVERREL} +Requires: %{name}-modules-uname-r = %{KVERREL} +%if %{with_auto} +Requires: auto-setup +%endif +%endif + + +# +# List the packages used during the kernel build +# +BuildRequires: kmod, patch, bash, coreutils, tar, git-core, which +BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk +BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++ +BuildRequires: net-tools, hostname, bc, elfutils-devel +BuildRequires: dwarves +BuildRequires: python3-devel +BuildRequires: gcc-plugin-devel +%ifnarch %{nobuildarches} noarch +BuildRequires: bpftool +%endif +%if %{with_headers} +BuildRequires: rsync +%endif +%if %{with_doc} +BuildRequires: xmlto, asciidoc, python3-sphinx, python3-sphinx_rtd_theme +%endif +%if %{with_sparse} +BuildRequires: sparse +%endif +%if %{with_perf} +BuildRequires: zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison flex xz-devel +BuildRequires: audit-libs-devel +BuildRequires: java-devel +BuildRequires: libbpf-devel +BuildRequires: libbabeltrace-devel +BuildRequires: libtraceevent-devel +%ifnarch %{arm} s390x +BuildRequires: numactl-devel +%endif +%ifarch aarch64 +BuildRequires: opencsd-devel >= 1.0.0 +%endif +%endif +%if %{with_tools} +BuildRequires: gettext ncurses-devel +BuildRequires: libcap-devel libcap-ng-devel +%ifnarch s390x +BuildRequires: pciutils-devel +%endif +%endif +%if %{with_bpftool} +BuildRequires: python3-docutils +BuildRequires: zlib-devel binutils-devel +%endif +%if %{with_selftests} +BuildRequires: clang llvm +%ifnarch %{arm} +BuildRequires: numactl-devel +%endif +BuildRequires: libcap-devel libcap-ng-devel rsync libmnl-devel +%endif +BuildConflicts: rhbuildsys(DiskFree) < 500Mb +%if %{with_debuginfo} +BuildRequires: rpm-build, elfutils +BuildConflicts: rpm < 4.13.0.1-19 +BuildConflicts: dwarves < 1.13 +# Most of these should be enabled after more investigation +%undefine _include_minidebuginfo +%undefine _find_debuginfo_dwz_opts +%undefine _unique_build_ids +%undefine _unique_debug_names +%undefine _unique_debug_srcs +%undefine _debugsource_packages +%undefine _debuginfo_subpackages +%global _find_debuginfo_opts -r +%global _missing_build_ids_terminate_build 1 +%global _no_recompute_build_ids 1 +%endif +%if %{with_kabidwchk} || %{with_kabidw_base} +BuildRequires: kabi-dw +%endif + +%if %{signkernel}%{signmodules} +BuildRequires: openssl openssl-devel +%if %{signkernel} +%ifarch x86_64 aarch64 +BuildRequires: nss-tools +BuildRequires: pesign >= 0.10-4 +%endif +%endif +%endif + +%if %{with_cross} +BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu +%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu- +%define __strip %{_build_arch}-linux-gnu-strip +%endif + +# These below are required to build man pages +%if %{with_perf} +BuildRequires: xmlto +%endif +%if %{with_perf} || %{with_tools} +BuildRequires: asciidoc +%endif + +%if %{with toolchain_clang} +BuildRequires: clang +%endif + +%if %{with clang_lto} +BuildRequires: llvm +BuildRequires: lld +%endif + +# Because this is the kernel, it's hard to get a single upstream URL +# to represent the base without needing to do a bunch of patching. This +# tarball is generated from a src-git tree. If you want to see the +# exact git commit you can run +# +# xzcat -qq ${TARBALL} | git get-tar-commit-id +Source0: linux-5.14.0-13.rt21.13.test.el9.tar.xz + +Source1: Makefile.rhelver + + +# Name of the packaged file containing signing key +%ifarch ppc64le +%define signing_key_filename kernel-signing-ppc.cer +%endif +%ifarch s390x +%define signing_key_filename kernel-signing-s390.cer +%endif + +%if %{?released_kernel} + +Source10: redhatsecurebootca5.cer +Source11: redhatsecurebootca3.cer +Source12: redhatsecurebootca6.cer +Source13: redhatsecureboot501.cer +Source14: redhatsecureboot302.cer +Source15: redhatsecureboot601.cer + +%ifarch x86_64 aarch64 +%define secureboot_ca_0 %{SOURCE10} +%define secureboot_key_0 %{SOURCE13} +%define pesign_name_0 redhatsecureboot501 +%endif +%ifarch s390x +%define secureboot_ca_0 %{SOURCE11} +%define secureboot_key_0 %{SOURCE14} +%define pesign_name_0 redhatsecureboot302 +%endif +%ifarch ppc64le +%define secureboot_ca_0 %{SOURCE12} +%define secureboot_key_0 %{SOURCE15} +%define pesign_name_0 redhatsecureboot601 +%endif + +# released_kernel +%else + +Source10: redhatsecurebootca4.cer +Source11: redhatsecureboot401.cer + +%define secureboot_ca_0 %{SOURCE10} +%define secureboot_key_0 %{SOURCE11} +%define pesign_name_0 redhatsecureboot401 + +# released_kernel +%endif + +Source20: mod-denylist.sh +Source21: mod-sign.sh +Source22: parallel_xz.sh + +%define modsign_cmd %{SOURCE21} + +%if 0%{?include_rhel} +Source23: x509.genkey.rhel + +Source26: mod-extra.list.rhel + +%if !%{with_auto} +Source27: kernel-auto-ppc64le-rhel.config +Source28: kernel-auto-ppc64le-debug-rhel.config +Source29: kernel-auto-s390x-rhel.config +Source30: kernel-auto-s390x-debug-rhel.config +Source31: kernel-auto-s390x-zfcpdump-rhel.config +%endif +Source24: kernel-auto-aarch64-rhel.config +Source25: kernel-auto-aarch64-debug-rhel.config +Source32: kernel-auto-x86_64-rhel.config +Source33: kernel-auto-x86_64-debug-rhel.config + +Source34: filter-x86_64.sh.rhel +Source35: filter-armv7hl.sh.rhel +Source36: filter-i686.sh.rhel +Source37: filter-aarch64.sh.rhel +Source38: filter-ppc64le.sh.rhel +Source39: filter-s390x.sh.rhel +Source40: filter-modules.sh.rhel +%endif + +%if 0%{?include_fedora} +Source50: x509.genkey.fedora +Source51: mod-extra.list.fedora + +%if !%{with_auto} +Source52: kernel-auto-aarch64-fedora.config +Source53: kernel-auto-aarch64-debug-fedora.config +Source54: kernel-auto-armv7hl-fedora.config +Source55: kernel-auto-armv7hl-debug-fedora.config +Source56: kernel-auto-armv7hl-lpae-fedora.config +Source57: kernel-auto-armv7hl-lpae-debug-fedora.config +Source58: kernel-auto-i686-fedora.config +Source59: kernel-auto-i686-debug-fedora.config +Source60: kernel-auto-ppc64le-fedora.config +Source61: kernel-auto-ppc64le-debug-fedora.config +Source62: kernel-auto-s390x-fedora.config +Source63: kernel-auto-s390x-debug-fedora.config +Source64: kernel-auto-x86_64-fedora.config +Source65: kernel-auto-x86_64-debug-fedora.config +%endif + +Source67: filter-x86_64.sh.fedora +Source68: filter-armv7hl.sh.fedora +Source69: filter-i686.sh.fedora +Source70: filter-aarch64.sh.fedora +Source71: filter-ppc64le.sh.fedora +Source72: filter-s390x.sh.fedora +Source73: filter-modules.sh.fedora +%endif + +Source80: generate_all_configs.sh +Source81: process_configs.sh + +Source82: update_scripts.sh +Source83: generate_crashkernel_default.sh + +Source84: mod-internal.list + +Source100: rheldup3.x509 +Source101: rhelkpatch1.x509 + +Source200: check-kabi + +%if !%{with_auto} +Source201: Module.kabi_aarch64 +Source202: Module.kabi_ppc64le +Source203: Module.kabi_s390x +Source204: Module.kabi_x86_64 + +Source210: Module.kabi_dup_aarch64 +Source211: Module.kabi_dup_ppc64le +Source212: Module.kabi_dup_s390x +Source213: Module.kabi_dup_x86_64 + +Source300: kernel-abi-stablelists-%{rpmversion}-%{distro_build}.tar.bz2 +Source301: kernel-kabi-dw-%{rpmversion}-%{distro_build}.tar.bz2 +%endif + +%if %{with_auto} +Source400: mod-kvm.list +%endif + +# Sources for kernel-tools +Source2000: cpupower.service +Source2001: cpupower.config +Source2002: kvm_stat.logrotate + +# Some people enjoy building customized kernels from the dist-git in Fedora and +# use this to override configuration options. One day they may all use the +# source tree, but in the mean time we carry this to support the legacy workflow +Source3000: merge.pl +Source3001: kernel-local + +Source4000: README.rst +Source4001: rpminspect.yaml +Source4002: gating.yaml + +## Patches needed for building this package + +%if !%{nopatches} + +Patch1: patch-%{rpmversion}-redhat.patch +%endif + +# empty final patch to facilitate testing of kernel patches +Patch999999: linux-kernel-test.patch + +# END OF PATCH DEFINITIONS + +%description +The kernel meta package + +# +# This macro does requires, provides, conflicts, obsoletes for a kernel package. +# %%kernel_reqprovconf +# It uses any kernel__conflicts and kernel__obsoletes +# macros defined above. +# +%define kernel_reqprovconf \ +Provides: kernel = %{rpmversion}-%{pkg_release}\ +Provides: %{name} = %{rpmversion}-%{pkg_release}\ +Provides: %{name}-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:+%{1}}\ +Provides: kernel-drm-nouveau = 16\ +Provides: %{name}-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires(pre): %{kernel_prereq}\ +Requires(pre): %{initrd_prereq}\ +Requires(pre): linux-firmware >= 20150904-56.git6ebf5d57\ +Requires(preun): systemd >= 200\ +Conflicts: xfsprogs < 4.3.0-1\ +Conflicts: xorg-x11-drv-vmmouse < 13.0.99\ +%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\ +%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\ +%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\ +# We can't let RPM do the dependencies automatic because it'll then pick up\ +# a correct but undesirable perl dependency from the module headers which\ +# isn't required for the kernel proper to function\ +AutoReq: no\ +AutoProv: yes\ +%{nil} + + +%package doc +Summary: Various documentation bits found in the kernel source +Group: Documentation +%description doc +This package contains documentation files from the kernel +source. Various bits of information about the Linux kernel and the +device drivers shipped with it are documented in these files. + +You'll want to install this package if you need a reference to the +options that can be passed to Linux kernel modules at load time. + + +%package headers +Summary: Header files for the Linux kernel for use by glibc +Obsoletes: glibc-kernheaders < 3.0-46 +Provides: glibc-kernheaders = 3.0-46 +%description headers +Kernel-headers includes the C header files that specify the interface +between the Linux kernel and userspace libraries and programs. The +header files define structures and constants that are needed for +building most standard programs and are also needed for rebuilding the +glibc package. + +%package cross-headers +Summary: Header files for the Linux kernel for use by cross-glibc +%description cross-headers +Kernel-cross-headers includes the C header files that specify the interface +between the Linux kernel and userspace libraries and programs. The +header files define structures and constants that are needed for +building most standard programs and are also needed for rebuilding the +cross-glibc package. + + +%package debuginfo-common-%{_target_cpu} +Summary: Kernel source files used by %{name}-debuginfo packages +Provides: installonlypkg(kernel) +%description debuginfo-common-%{_target_cpu} +This package is required by %{name}-debuginfo subpackages. +It provides the kernel source files common to all builds. + +%if %{with_perf} +%package -n perf +Summary: Performance monitoring for the Linux kernel +Requires: bzip2 +License: GPLv2 +%description -n perf +This package contains the perf tool, which enables performance monitoring +of the Linux kernel. + +%package -n perf-debuginfo +Summary: Debug information for package perf +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} +AutoReqProv: no +%description -n perf-debuginfo +This package provides debug information for the perf package. + +# Note that this pattern only works right to match the .build-id +# symlinks because of the trailing nonmatching alternation and +# the leading .*, because of find-debuginfo.sh's buggy handling +# of matching the pattern against the symlinks file. +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/libperf-jvmti.so(\.debug)?|XXX' -o perf-debuginfo.list} + +%package -n python3-perf +Summary: Python bindings for apps which will manipulate perf events +%description -n python3-perf +The python3-perf package contains a module that permits applications +written in the Python programming language to use the interface +to manipulate perf events. + +%package -n python3-perf-debuginfo +Summary: Debug information for package perf python bindings +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} +AutoReqProv: no +%description -n python3-perf-debuginfo +This package provides debug information for the perf python bindings. + +# the python_sitearch macro should already be defined from above +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python3_sitearch}/perf.*so(\.debug)?|XXX' -o python3-perf-debuginfo.list} + +# with_perf +%endif + +%if %{with_tools} +%package -n kernel-tools +Summary: Assortment of tools for the Linux kernel +License: GPLv2 +%ifarch %{cpupowerarchs} +Provides: cpupowerutils = 1:009-0.6.p1 +Obsoletes: cpupowerutils < 1:009-0.6.p1 +Provides: cpufreq-utils = 1:009-0.6.p1 +Provides: cpufrequtils = 1:009-0.6.p1 +Obsoletes: cpufreq-utils < 1:009-0.6.p1 +Obsoletes: cpufrequtils < 1:009-0.6.p1 +Obsoletes: cpuspeed < 1:1.5-16 +Requires: kernel-tools-libs = %{version}-%{release} +%endif +%define __requires_exclude ^%{_bindir}/python +%description -n kernel-tools +This package contains the tools/ directory from the kernel source +and the supporting documentation. + +%package -n kernel-tools-libs +Summary: Libraries for the kernels-tools +License: GPLv2 +%description -n kernel-tools-libs +This package contains the libraries built from the tools/ directory +from the kernel source. + +%package -n kernel-tools-libs-devel +Summary: Assortment of tools for the Linux kernel +License: GPLv2 +Requires: kernel-tools = %{version}-%{release} +%ifarch %{cpupowerarchs} +Provides: cpupowerutils-devel = 1:009-0.6.p1 +Obsoletes: cpupowerutils-devel < 1:009-0.6.p1 +%endif +Requires: kernel-tools-libs = %{version}-%{release} +Provides: kernel-tools-devel +%description -n kernel-tools-libs-devel +This package contains the development files for the tools/ directory from +the kernel source. + +%package -n kernel-tools-debuginfo +Summary: Debug information for package kernel-tools +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} +AutoReqProv: no +%description -n kernel-tools-debuginfo +This package provides debug information for package kernel-tools. + +# Note that this pattern only works right to match the .build-id +# symlinks because of the trailing nonmatching alternation and +# the leading .*, because of find-debuginfo.sh's buggy handling +# of matching the pattern against the symlinks file. +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/gpio-watch(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|.*%%{_bindir}/intel-speed-select(\.debug)?|.*%%{_bindir}/page_owner_sort(\.debug)?|.*%%{_bindir}/slabinfo(\.debug)?|XXX' -o kernel-tools-debuginfo.list} + +# with_tools +%endif + +%if !%{with_auto} +%if %{with_bpftool} + +%package -n bpftool +Summary: Inspection and simple manipulation of eBPF programs and maps +License: GPLv2 +%description -n bpftool +This package contains the bpftool, which allows inspection and simple +manipulation of eBPF programs and maps. + +%package -n bpftool-debuginfo +Summary: Debug information for package bpftool +Group: Development/Debug +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} +AutoReqProv: no +%description -n bpftool-debuginfo +This package provides debug information for the bpftool package. + +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_sbindir}/bpftool(\.debug)?|XXX' -o bpftool-debuginfo.list} + +# with_bpftool +%endif +%endif + +%if %{with_selftests} + +%package selftests-internal +Summary: Kernel samples and selftests +License: GPLv2 +Requires: binutils, bpftool, iproute-tc, nmap-ncat, python3 +Requires: %{name}-modules-internal = %{version}-%{release} +%if %{with_auto} +Conflicts: kernel-selftests-internal +%else +Conflicts: kernel-auto-selftests-internal +%endif +%description selftests-internal +Kernel sample programs and selftests. + +# Note that this pattern only works right to match the .build-id +# symlinks because of the trailing nonmatching alternation and +# the leading .*, because of find-debuginfo.sh's buggy handling +# of matching the pattern against the symlinks file. +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list} + +# with_selftests +%endif + +%if %{with_gcov} +%package gcov +Summary: gcov graph and source files for coverage data collection. +%description gcov +kernel-gcov includes the gcov graph and source files for gcov coverage collection. +%endif + +%package -n kernel-abi-stablelists +Summary: The Red Hat Enterprise Linux kernel ABI symbol stablelists +AutoReqProv: no +%description -n kernel-abi-stablelists +The kABI package contains information pertaining to the Red Hat Enterprise +Linux kernel ABI, including lists of kernel symbols that are needed by +external Linux kernel modules, and a yum plugin to aid enforcement. + +%if %{with_kabidw_base} +%package kernel-kabidw-base-internal +Summary: The baseline dataset for kABI verification using DWARF data +Group: System Environment/Kernel +AutoReqProv: no +%description kernel-kabidw-base-internal +The package contains data describing the current ABI of the Red Hat Enterprise +Linux kernel, suitable for the kabi-dw tool. +%endif + +# +# This macro creates a kernel--debuginfo package. +# %%kernel_debuginfo_package +# +# Explanation of the find_debuginfo_opts: We build multiple kernels (debug +# pae etc.) so the regex filters those kernels appropriately. We also +# have to package several binaries as part of kernel-devel but getting +# unique build-ids is tricky for these userspace binaries. We don't really +# care about debugging those so we just filter those out and remove it. +%define kernel_debuginfo_package() \ +%package %{?1:%{1}-}debuginfo\ +Summary: Debug information for package %{name}%{?1:-%{1}}\ +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\ +Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\ +Provides: installonlypkg(kernel)\ +AutoReqProv: no\ +%description %{?1:%{1}-}debuginfo\ +This package provides debug information for package %{name}%{?1:-%{1}}.\ +This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\ +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*\/usr\/src\/kernels/.*|XXX' -o ignored-debuginfo.list -p '/.*/%%{KVERREL_RE}%{?1:[+]%{1}}/.*|/.*%%{KVERREL_RE}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\ +%{nil} + +# +# This macro creates a kernel--devel package. +# %%kernel_devel_package [-m] +# +%define kernel_devel_package(m) \ +%package %{?1:%{1}-}devel\ +Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\ +Provides: %{name}%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\ +Provides: %{name}-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ +Provides: %{name}-devel-uname-r = %{KVERREL}%{?1:+%{1}}\ +Provides: installonlypkg(kernel)\ +AutoReqProv: no\ +Requires(pre): findutils\ +Requires: findutils\ +Requires: perl-interpreter\ +Requires: openssl-devel\ +Requires: elfutils-libelf-devel\ +Requires: bison\ +Requires: flex\ +Requires: make\ +Requires: gcc\ +%if %{-m:1}%{!-m:0}\ +Requires: kernel-devel-uname-r = %{KVERREL}\ +%endif\ +%description %{?1:%{1}-}devel\ +This package provides kernel headers and makefiles sufficient to build modules\ +against the %{?2:%{2} }kernel package.\ +%{nil} + +# +# This macro creates an empty kernel--devel-matched package that +# requires both the core and devel packages locked on the same version. +# %%kernel_devel_matched_package [-m] +# +%define kernel_devel_matched_package(m) \ +%package %{?1:%{1}-}devel-matched\ +Summary: Meta package to install matching core and devel packages for a given %{?2:%{2} }kernel\ +Requires: %{name}%{?1:-%{1}}-devel = %{version}-%{release}\ +Requires: %{name}%{?1:-%{1}}-core = %{version}-%{release}\ +%description %{?1:%{1}-}devel-matched\ +This meta package is used to install matching core and devel packages for a given %{?2:%{2} }kernel.\ +%{nil} + +# +# kernel--ipaclones-internal package +# +%define kernel_ipaclones_package() \ +%package %{?1:%{1}-}ipaclones-internal\ +Summary: *.ipa-clones files generated by -fdump-ipa-clones for kernel%{?1:-%{1}}\ +Group: System Environment/Kernel\ +AutoReqProv: no\ +%description %{?1:%{1}-}ipaclones-internal\ +This package provides *.ipa-clones files.\ +%{nil} + +# +# This macro creates a kernel--modules-internal package. +# %%kernel_modules_internal_package +# +%define kernel_modules_internal_package() \ +%package %{?1:%{1}-}modules-internal\ +Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ +Group: System Environment/Kernel\ +Provides: %{name}%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}\ +Provides: %{name}%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ +Provides: %{name}%{?1:-%{1}}-modules-internal = %{version}-%{release}%{?1:+%{1}}\ +Provides: installonlypkg(kernel-module)\ +Provides: %{name}%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires: %{name}-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?1:+%{1}}\ +AutoReq: no\ +AutoProv: yes\ +%description %{?1:%{1}-}modules-internal\ +This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\ +%{nil} + +# +# This macro creates a kernel--modules-extra package. +# %%kernel_modules_extra_package [-m] +# +%define kernel_modules_extra_package(m) \ +%package %{?1:%{1}-}modules-extra\ +Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ +Provides: %{name}%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\ +Provides: %{name}%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ +Provides: %{name}%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\ +Provides: installonlypkg(kernel-module)\ +Provides: %{name}%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires: %{name}-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?1:+%{1}}\ +%if %{-m:1}%{!-m:0}\ +Requires: %{name}-modules-extra-uname-r = %{KVERREL}\ +%endif\ +AutoReq: no\ +AutoProv: yes\ +%description %{?1:%{1}-}modules-extra\ +This package provides less commonly used kernel modules for the %{?2:%{2} }kernel package.\ +%{nil} + +# +# This macro creates a kernel--modules package. +# %%kernel_modules_package [-m] +# +%define kernel_modules_package(m) \ +%package %{?1:%{1}-}modules\ +Summary: kernel modules to match the %{?2:%{2}-}core kernel\ +Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\ +Provides: %{name}-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ +Provides: %{name}-modules = %{version}-%{release}%{?1:+%{1}}\ +Provides: installonlypkg(kernel-module)\ +Provides: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?1:+%{1}}\ +Requires: %{name}-uname-r = %{KVERREL}%{?1:+%{1}}\ +%if %{-m:1}%{!-m:0}\ +Requires: %{name}-modules-uname-r = %{KVERREL}\ +%endif\ +AutoReq: no\ +AutoProv: yes\ +%description %{?1:%{1}-}modules\ +This package provides commonly used kernel modules for the %{?2:%{2}-}core kernel package.\ +%{nil} + +# +# this macro creates a kernel- meta package. +# %%kernel_meta_package +# +%define kernel_meta_package() \ +%package %{1}\ +summary: kernel meta-package for the %{1} kernel\ +Requires: %{name}-%{1}-core-uname-r = %{KVERREL}+%{1}\ +Requires: %{name}-%{1}-modules-uname-r = %{KVERREL}+%{1}\ +%if %{with_auto}\ +Requires: auto-setup\ +%endif\ +Provides: installonlypkg(kernel)\ +%description %{1}\ +The meta-package for the %{1} kernel\ +%{nil} + +%if %{with_auto} +# +# this macro creates a kernel-auto--kvm package +# %%kernel_kvm_package +# +%define kernel_kvm_package() \ +%package %{?1:%{1}-}kvm\ +Summary: KVM modules for package %{name}%{?1:-%{1}}\ +Group: System Environment/Kernel\ +Requires: %{name}%{?1:-%{1}} = %{version}-%{release}\ +Provides: installonlypkg(kernel-module)\ +Provides: %{name}%{?1:-%{1}}-kvm-%{_target_cpu} = %{version}-%{release}\ +AutoReq: no\ +%description -n %{name}%{?1:-%{1}}-kvm\ +This package provides KVM modules for package %{name}%{?1:-%{1}}.\ +%{nil} +%endif + +# +# This macro creates a kernel- and its -devel and -debuginfo too. +# %%define variant_summary The Linux kernel compiled for +# %%kernel_variant_package [-n ] [-m] +# +%define kernel_variant_package(n:m) \ +%package %{?1:%{1}-}core\ +Summary: %{variant_summary}\ +Provides: %{name}-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?1:+%{1}}\ +Provides: installonlypkg(kernel)\ +%if %{-m:1}%{!-m:0}\ +Requires: kernel-core-uname-r = %{KVERREL}\ +%endif\ +%{expand:%%kernel_reqprovconf}\ +%if %{?1:1} %{!?1:0} \ +%{expand:%%kernel_meta_package %{?1:%{1}}}\ +%endif\ +%{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ +%{expand:%%kernel_devel_matched_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ +%{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ +%{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ +%if %{-m:0}%{!-m:1}\ +%{expand:%%kernel_modules_internal_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ +%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\ +%endif\ +%if %{with_auto} \ +%{expand:%%kernel_kvm_package %{?1:%{1}}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ +%endif \ +%{nil} + +# Now, each variant package. + +%if %{with_pae} +%define variant_summary The Linux kernel compiled for Cortex-A15 +%kernel_variant_package lpae +%description lpae-core +This package includes a version of the Linux kernel with support for +Cortex-A15 devices with LPAE and HW virtualisation support +%endif + +%if %{with_zfcpdump} +%define variant_summary The Linux kernel compiled for zfcpdump usage +%kernel_variant_package zfcpdump +%description zfcpdump-core +The kernel package contains the Linux kernel (vmlinuz) for use by the +zfcpdump infrastructure. +# with_zfcpdump +%endif + +%define variant_summary The Linux kernel compiled with extra debugging enabled +%if !%{debugbuildsenabled} +%kernel_variant_package -m debug +%else +%kernel_variant_package debug +%endif +%description debug-core +The kernel package contains the Linux kernel (vmlinuz), the core of any +Linux operating system. The kernel handles the basic functions +of the operating system: memory allocation, process allocation, device +input and output, etc. + +This variant of the kernel has numerous debugging options enabled. +It should only be installed when trying to gather additional information +on kernel bugs, as some of these options impact performance noticably. + +# And finally the main -core package + +%define variant_summary The Linux kernel +%kernel_variant_package +%description core +The kernel package contains the Linux kernel (vmlinuz), the core of any +Linux operating system. The kernel handles the basic functions +of the operating system: memory allocation, process allocation, device +input and output, etc. + +%if %{with_ipaclones} +%kernel_ipaclones_package +%endif + +%prep +# do a few sanity-checks for --with *only builds +%if %{with_baseonly} +%if !%{with_up} +echo "Cannot build --with baseonly, up build is disabled" +exit 1 +%endif +%endif + +# more sanity checking; do it quietly +if [ "%{patches}" != "%%{patches}" ] ; then + for patch in %{patches} ; do + if [ ! -f $patch ] ; then + echo "ERROR: Patch ${patch##/*/} listed in specfile but is missing" + exit 1 + fi + done +fi 2>/dev/null + +patch_command='patch -p1 -F1 -s' +ApplyPatch() +{ + local patch=$1 + shift + if [ ! -f $RPM_SOURCE_DIR/$patch ]; then + exit 1 + fi + if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME}.spec ; then + if [ "${patch:0:8}" != "patch-5." ] ; then + echo "ERROR: Patch $patch not listed as a source patch in specfile" + exit 1 + fi + fi 2>/dev/null + case "$patch" in + *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *.xz) unxz < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;; + esac +} + +# don't apply patch if it's empty +ApplyOptionalPatch() +{ + local patch=$1 + shift + if [ ! -f $RPM_SOURCE_DIR/$patch ]; then + exit 1 + fi + local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}') + if [ "$C" -gt 9 ]; then + ApplyPatch $patch ${1+"$@"} + fi +} + +%setup -q -n kernel-5.14.0-13.rt21.13.test.el9 -c +mv linux-5.14.0-13.rt21.13.test.el9 linux-%{KVERREL} + +cd linux-%{KVERREL} +cp -a %{SOURCE1} . + +%if !%{nopatches} + +ApplyOptionalPatch patch-%{rpmversion}-redhat.patch +%endif + +ApplyOptionalPatch linux-kernel-test.patch + +# END OF PATCH APPLICATIONS + +# Any further pre-build tree manipulations happen here. + +%if %{with_auto} +# remove the localversion-rt file since it screws around with +# the uname output +if [ -f localversion-rt ]; then + rm -f localversion-rt +fi +%endif + +chmod +x scripts/checkpatch.pl +mv COPYING COPYING-%{version}-%{release} + +# This Prevents scripts/setlocalversion from mucking with our version numbers. +touch .scmversion + +# Mangle /usr/bin/python shebangs to /usr/bin/python3 +# Mangle all Python shebangs to be Python 3 explicitly +# -p preserves timestamps +# -n prevents creating ~backup files +# -i specifies the interpreter for the shebang +# This fixes errors such as +# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly. +# We patch all sources below for which we got a report/error. +pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \ + tools/kvm/kvm_stat/kvm_stat \ + scripts/show_delta \ + scripts/diffconfig \ + scripts/bloat-o-meter \ + scripts/jobserver-exec \ + tools \ + Documentation \ + scripts/clang-tools + +# only deal with configs if we are going to build for the arch +%ifnarch %nobuildarches + +if [ -L configs ]; then + rm -f configs +fi +mkdir configs +cd configs + +# Drop some necessary files from the source dir into the buildroot +cp $RPM_SOURCE_DIR/kernel-*.config . +cp %{SOURCE80} . +# merge.pl +cp %{SOURCE3000} . +# kernel-local +cp %{SOURCE3001} . +VERSION=%{version} ./generate_all_configs.sh %{primary_target} %{debugbuildsenabled} + +# Merge in any user-provided local config option changes +%ifnarch %nobuildarches +for i in %{all_arch_configs} +do + mv $i $i.tmp + ./merge.pl %{SOURCE3001} $i.tmp > $i + rm $i.tmp +done +%endif + +# enable GCOV kernel config options if gcov is on +%if %{with_gcov} +for i in *.config +do + sed -i 's/# CONFIG_GCOV_KERNEL is not set/CONFIG_GCOV_KERNEL=y\nCONFIG_GCOV_PROFILE_ALL=y\n/' $i +done +%endif + +%if %{with clang_lto} +for i in *aarch64*.config *x86_64*.config; do + sed -i 's/# CONFIG_LTO_CLANG_THIN is not set/CONFIG_LTO_CLANG_THIN=y/' $i + sed -i 's/CONFIG_LTO_NONE=y/# CONFIG_LTO_NONE is not set/' $i +done +%endif + +# Add DUP and kpatch certificates to system trusted keys for RHEL +%if 0%{?rhel} +%if %{signkernel}%{signmodules} +openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem +openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem +cat rheldup3.pem rhelkpatch1.pem > ../certs/rhel.pem +%ifarch s390x ppc64le +openssl x509 -inform der -in %{secureboot_ca_0} -out secureboot.pem +cat secureboot.pem >> ../certs/rhel.pem +%endif +for i in *.config; do + sed -i 's@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@' $i +done +%endif +%endif + +cp %{SOURCE81} . +OPTS="" +%if %{with_configchecks} + OPTS="$OPTS -w -n -c" +%endif +%if %{with clang_lto} +for opt in %{clang_make_opts}; do + OPTS="$OPTS -m $opt" +done +%endif +./process_configs.sh $OPTS %{name} %{rpmversion} + +cp %{SOURCE82} . +RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh %{primary_target} + +# end of kernel config +%endif + +cd .. +# # End of Configs stuff + +# get rid of unwanted files resulting from patch fuzz +find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null + +# remove unnecessary SCM files +find . -name .gitignore -delete >/dev/null + +cd .. + +### +### build +### +%build + +%if %{with_sparse} +%define sparse_mflags C=1 +%endif + +cp_vmlinux() +{ + eu-strip --remove-comment -o "$2" "$1" +} + +# Note we need to disable these flags for cross builds because the flags +# from redhat-rpm-config assume that host == target so target arch +# flags cause issues with the host compiler. +%if !%{with_cross} +%define build_hostcflags %{?build_cflags} +%define build_hostldflags %{?build_ldflags} +%endif + +%define make %{__make} %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" + +InitBuildVars() { + # Initialize the kernel .config file and create some variables that are + # needed for the actual build process. + + Variant=$1 + + # Pick the right kernel config file + Config=%{name}-%{version}-%{_target_cpu}${Variant:+-${Variant}}.config + DevelDir=/usr/src/kernels/%{KVERREL}${Variant:++${Variant}} + + KernelVer=%{version}-%{release}.%{_target_cpu}${Variant:++${Variant}} + + # make sure EXTRAVERSION says what we want it to say + # Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters + ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r") + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${ShortRel}.%{_target_cpu}${Variant:++${Variant}}/" Makefile + + # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme + # if we are post rc1 this should match anyway so this won't matter + perl -p -i -e 's/^PATCHLEVEL.*/PATCHLEVEL = %{patchlevel}/' Makefile + + %{make} %{?_smp_mflags} mrproper + cp configs/$Config .config + + %if %{signkernel}%{signmodules} + cp $RPM_SOURCE_DIR/x509.genkey certs/. + %endif + + Arch=`head -1 .config | cut -b 3-` + echo USING ARCH=$Arch + + KCFLAGS="%{?kcflags}" + + # add kpatch flags for base kernel + if [ "$Variant" == "" ]; then + KCFLAGS="$KCFLAGS %{?kpatch_kcflags}" + fi +} + +BuildKernel() { + MakeTarget=$1 + KernelImage=$2 + DoVDSO=$3 + Variant=$4 + InstallName=${5:-vmlinuz} + + DoModules=1 + if [ "$Variant" = "zfcpdump" ]; then + DoModules=0 + fi + + # When the bootable image is just the ELF kernel, strip it. + # We already copy the unstripped file into the debuginfo package. + if [ "$KernelImage" = vmlinux ]; then + CopyKernel=cp_vmlinux + else + CopyKernel=cp + fi + + InitBuildVars $Variant + + echo BUILDING A KERNEL FOR ${Variant} %{_target_cpu}... + + %{make} ARCH=$Arch olddefconfig >/dev/null + + # This ensures build-ids are unique to allow parallel debuginfo + perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config + %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags} + if [ $DoModules -eq 1 ]; then + %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1 + fi + + mkdir -p $RPM_BUILD_ROOT/%{image_install_path} + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer +%if %{with_debuginfo} + mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path} +%endif + +%ifarch %{arm} aarch64 + %{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer + %{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer + cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb + find arch/$Arch/boot/dts -name '*.dtb' -type f -delete +%endif + + # Start installing the results + install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer + install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config + install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer + install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map + + # We estimate the size of the initramfs because rpm needs to take this size + # into consideration when performing disk space calculations. (See bz #530778) + dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20 + + if [ -f arch/$Arch/boot/zImage.stub ]; then + cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || : + cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || : + fi + + %if %{signkernel} + if [ "$KernelImage" = vmlinux ]; then + # We can't strip and sign $KernelImage in place, because + # we need to preserve original vmlinux for debuginfo. + # Use a copy for signing. + $CopyKernel $KernelImage $KernelImage.tosign + KernelImage=$KernelImage.tosign + CopyKernel=cp + fi + + # Sign the image if we're using EFI + # aarch64 kernels are gziped EFI images + KernelExtension=${KernelImage##*.} + if [ "$KernelExtension" == "gz" ]; then + SignImage=${KernelImage%.*} + else + SignImage=$KernelImage + fi + + %ifarch x86_64 aarch64 + %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0} + %endif + %ifarch s390x ppc64le + if [ -x /usr/bin/rpm-sign ]; then + rpm-sign --key "%{pesign_name_0}" --lkmsign $SignImage --output vmlinuz.signed + elif [ $DoModules -eq 1 ]; then + chmod +x scripts/sign-file + ./scripts/sign-file -p sha256 certs/signing_key.pem certs/signing_key.x509 $SignImage vmlinuz.signed + else + mv $SignImage vmlinuz.signed + fi + %endif + + if [ ! -s vmlinuz.signed ]; then + echo "pesigning failed" + exit 1 + fi + mv vmlinuz.signed $SignImage + if [ "$KernelExtension" == "gz" ]; then + gzip -f9 $SignImage + fi + # signkernel + %endif + + $CopyKernel $KernelImage \ + $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer + chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer + cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName + + # hmac sign the kernel for FIPS + echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac" + ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer + sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac; + cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac + + if [ $DoModules -eq 1 ]; then + # Override $(mod-fw) because we don't want it to install any firmware + # we'll get it from the linux-firmware package and we don't want conflicts + %{make} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw= + fi + +%if %{with_gcov} + # install gcov-needed files to $BUILDROOT/$BUILD/...: + # gcov_info->filename is absolute path + # gcno references to sources can use absolute paths (e.g. in out-of-tree builds) + # sysfs symlink targets (set up at compile time) use absolute paths to BUILD dir + find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \; +%endif + + # add an a noop %%defattr statement 'cause rpm doesn't like empty file list files + echo '%%defattr(-,-,-)' > ../%{name}${Variant:+-${Variant}}-ldsoconf.list + if [ $DoVDSO -ne 0 ]; then + %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer + if [ -s ldconfig-kernel.conf ]; then + install -D -m 444 ldconfig-kernel.conf \ + $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-$KernelVer.conf + echo /etc/ld.so.conf.d/%{name}-$KernelVer.conf >> ../%{name}${Variant:+-${Variant}}-ldsoconf.list + fi + + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id + fi + + # And save the headers/makefiles etc for building modules against + # + # This all looks scary, but the end result is supposed to be: + # * all arch relevant include/ files + # * all Makefile/Kconfig files + # * all script/ files + + rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) + # dirs for additional modules per module-init-tools, kbuild/modules.txt + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates + # CONFIG_KERNEL_HEADER_TEST generates some extra files in the process of + # testing so just delete + find . -name *.h.s -delete + # first copy everything + cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + if [ ! -e Module.symvers ]; then + touch Module.symvers + fi + cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + if [ -s Module.markers ]; then + cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + fi + + # create the kABI metadata for use in packaging + # NOTENOTE: the name symvers is used by the rpm backend + # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr + # NOTENOTE: script which dynamically adds exported kernel symbol + # NOTENOTE: checksums to the rpm metadata provides list. + # NOTENOTE: if you change the symvers name, update the backend too + echo "**** GENERATING kernel ABI metadata ****" + gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz + cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.gz + +%if %{with_kabichk} + echo "**** kABI checking is enabled in kernel SPEC file. ****" + chmod 0755 $RPM_SOURCE_DIR/check-kabi + if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant ]; then + cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi + $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 + # for now, don't keep it around. + rm $RPM_BUILD_ROOT/Module.kabi + else + echo "**** NOTE: Cannot find reference Module.kabi file. ****" + fi +%endif + +%if %{with_kabidupchk} + echo "**** kABI DUP checking is enabled in kernel SPEC file. ****" + if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant ]; then + cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Variant $RPM_BUILD_ROOT/Module.kabi + $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 + # for now, don't keep it around. + rm $RPM_BUILD_ROOT/Module.kabi + else + echo "**** NOTE: Cannot find DUP reference Module.kabi file. ****" + fi +%endif + +%if %{with_kabidw_base} + # Don't build kabi base for debug kernels + if [ "$Variant" != "zfcpdump" -a "$Variant" != "debug" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf + tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf + + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists + + echo "**** GENERATING DWARF-based kABI baseline dataset ****" + chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ + "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ + "$(pwd)" \ + "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Variant:+.${Variant}}" || : + + rm -rf $RPM_BUILD_ROOT/kabi-dwarf + fi +%endif + +%if %{with_kabidwchk} + if [ "$Variant" != "zfcpdump" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf + tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf + if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists + + echo "**** GENERATING DWARF-based kABI dataset ****" + chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ + "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ + "$(pwd)" \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || : + + echo "**** kABI DWARF-based comparison report ****" + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || : + echo "**** End of kABI DWARF-based comparison report ****" + else + echo "**** Baseline dataset for kABI DWARF-BASED comparison report not found ****" + fi + + rm -rf $RPM_BUILD_ROOT/kabi-dwarf + fi +%endif + + # then drop all but the needed Makefiles/Kconfig files + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include + cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/tracing + rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/spdxcheck.py + + # Files for 'make scripts' to succeed with kernel-devel. + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/security/selinux/include + cp -a --parents security/selinux/include/classmap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents security/selinux/include/initial_sid_to_string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/include/tools + cp -a --parents tools/include/tools/be_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + + # Files for 'make prepare' to succeed with kernel-devel. + cp -a --parents tools/include/linux/compiler* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/linux/types.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/objtool/sync-check.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/bpf/resolve_btfids $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + + cp --parents security/selinux/include/policycap_names.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents security/selinux/include/policycap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + + cp -a --parents tools/include/asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/linux $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/uapi/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/uapi/asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/uapi/linux $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/include/vdso $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/lib/subcmd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/lib/*.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/objtool/*.[ch] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/objtool/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/objtool/include/objtool/*.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/lib/bpf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp --parents tools/lib/bpf/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + + if [ -f tools/objtool/objtool ]; then + cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || : + fi + if [ -f tools/objtool/fixdep ]; then + cp -a tools/objtool/fixdep $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || : + fi + if [ -d arch/$Arch/scripts ]; then + cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || : + fi + if [ -f arch/$Arch/*lds ]; then + cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || : + fi + if [ -f arch/%{asmarch}/kernel/module.lds ]; then + cp -a --parents arch/%{asmarch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + fi + find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + +%ifarch ppc64le + cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ +%endif + if [ -d arch/%{asmarch}/include ]; then + cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + fi +%ifarch aarch64 + # arch/arm64/include/asm/xen references arch/arm + cp -a --parents arch/arm/include/asm/xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + # arch/arm64/include/asm/opcodes.h references arch/arm + cp -a --parents arch/arm/include/asm/opcodes.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ +%endif + # include the machine specific headers for ARM variants, if available. +%ifarch %{arm} + if [ -d arch/%{asmarch}/mach-${Variant}/include ]; then + cp -a --parents arch/%{asmarch}/mach-${Variant}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + fi + # include a few files for 'make prepare' + cp -a --parents arch/arm/tools/gen-mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/arm/tools/mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + +%endif + cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include +%ifarch i686 x86_64 + # files for 'make prepare' to succeed with kernel-devel + cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/tools/relocs_32.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/tools/relocs_64.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/purgatory/entry64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/boot/string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/boot/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents arch/x86/boot/ctype.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + + cp -a --parents scripts/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents scripts/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + + cp -a --parents tools/arch/x86/include/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/arch/x86/include/uapi/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/objtool/arch/x86/lib $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/arch/x86/lib/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/arch/x86/tools/gen-insn-attr-x86.awk $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + cp -a --parents tools/objtool/arch/x86/ $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + +%endif + # Clean up intermediate tools files + find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + + + # Make sure the Makefile and version.h have a matching timestamp so that + # external modules can be built + touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h + + # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. + cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf + +%if %{with_debuginfo} + eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id + cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id + + # + # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm + # + mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer + cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer + if [ -n "%{vmlinux_decompressor}" ]; then + eu-readelf -n %{vmlinux_decompressor} | grep "Build ID" | awk '{print $NF}' > vmlinux.decompressor.id + # Without build-id the build will fail. But for s390 the build-id + # wasn't added before 5.11. In case it is missing prefer not + # packaging the debuginfo over a build failure. + if [ -s vmlinux.decompressor.id ]; then + cp vmlinux.decompressor.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.decompressor.id + cp %{vmlinux_decompressor} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux.decompressor + fi + fi +%endif + + find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames + + # mark modules executable so that strip-to-file can strip them + xargs --no-run-if-empty chmod u+x < modnames + + # Generate a list of modules for block and networking. + + grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA | + sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef + + collect_modules_list() + { + sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef | + LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1 + if [ ! -z "$3" ]; then + sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1 + fi + } + + collect_modules_list networking \ + 'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt(l_|2x00)(pci|usb)_probe|register_netdevice' + collect_modules_list block \ + 'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size' 'pktcdvd.ko|dm-mod.ko' + collect_modules_list drm \ + 'drm_open|drm_init' + collect_modules_list modesetting \ + 'drm_crtc_init' +%if %{with_auto} + collect_modules_list kvm \ + 'kvm_init|kvmgt_init' +%endif + + # detect missing or incorrect license tags + ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \ + grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1 + + remove_depmod_files() + { + # remove files that will be auto generated by depmod at rpm -i time + pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ + rm -f modules.{alias,alias.bin,builtin.alias.bin,builtin.bin} \ + modules.{dep,dep.bin,devname,softdep,symbols,symbols.bin} + popd + } + + remove_depmod_files + + # Identify modules in the kernel-modules-extras package + %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer $RPM_SOURCE_DIR/mod-extra.list + # Identify modules in the kernel-modules-extras package + %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE84} internal +%if %{with_auto} + # Identify modules in the kernel-auto-kvm package + %{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE400} kvm +%endif + + # + # Generate the kernel-core and kernel-modules files lists + # + + # Copy the System.map file for depmod to use, and create a backup of the + # full module tree so we can restore it after we're done filtering + cp System.map $RPM_BUILD_ROOT/. + pushd $RPM_BUILD_ROOT + mkdir restore + cp -r lib/modules/$KernelVer/* restore/. + + # don't include anything going into kernel-modules-extra in the file lists + xargs rm -rf < mod-extra.list + # don't include anything going int kernel-modules-internal in the file lists + xargs rm -rf < mod-internal.list +%if %{with_auto} + # don't include anything going into kernel-auto-kvm in the file lists + xargs rm -rf < mod-kvm.list +%endif + + if [ $DoModules -eq 1 ]; then + # Find all the module files and filter them out into the core and + # modules lists. This actually removes anything going into -modules + # from the dir. + find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list + cp $RPM_SOURCE_DIR/filter-*.sh . + ./filter-modules.sh modules.list %{_target_cpu} + rm filter-*.sh + + # Run depmod on the resulting module tree and make sure it isn't broken + depmod -b . -aeF ./System.map $KernelVer &> depmod.out + if [ -s depmod.out ]; then + echo "Depmod failure" + cat depmod.out + exit 1 + else + rm depmod.out + fi + else + # Ensure important files/directories exist to let the packaging succeed + echo '%%defattr(-,-,-)' > modules.list + echo '%%defattr(-,-,-)' > k-d.list + mkdir -p lib/modules/$KernelVer/kernel + # Add files usually created by make modules, needed to prevent errors + # thrown by depmod during package installation + touch lib/modules/$KernelVer/modules.order + touch lib/modules/$KernelVer/modules.builtin + fi + + remove_depmod_files + + # Go back and find all of the various directories in the tree. We use this + # for the dir lists in kernel-core + find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list + + # Cleanup + rm System.map + cp -r restore/* lib/modules/$KernelVer/. + rm -rf restore + popd + + # Make sure the files lists start with absolute paths or rpmbuild fails. + # Also add in the dir entries + sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../%{name}${Variant:+-${Variant}}-modules.list + sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../%{name}${Variant:+-${Variant}}-core.list + sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../%{name}${Variant:+-${Variant}}-core.list + sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/mod-extra.list >> ../%{name}${Variant:+-${Variant}}-modules-extra.list + sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/mod-internal.list >> ../%{name}${Variant:+-${Variant}}-modules-internal.list +%if %{with_auto} + sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/mod-kvm.list >> ../%{name}${Variant:+-${Variant}}-kvm.list +%endif + + # Cleanup + rm -f $RPM_BUILD_ROOT/k-d.list + rm -f $RPM_BUILD_ROOT/modules.list + rm -f $RPM_BUILD_ROOT/module-dirs.list + rm -f $RPM_BUILD_ROOT/mod-extra.list + rm -f $RPM_BUILD_ROOT/mod-internal.list +%if %{with_auto} + rm -f $RPM_BUILD_ROOT/mod-kvm.list +%endif + +%if %{signmodules} + if [ $DoModules -eq 1 ]; then + # Save the signing keys so we can sign the modules in __modsign_install_post + cp certs/signing_key.pem certs/signing_key.pem.sign${Variant:++${Variant}} + cp certs/signing_key.x509 certs/signing_key.x509.sign${Variant:++${Variant}} + fi +%endif + + # Move the devel headers out of the root file system + mkdir -p $RPM_BUILD_ROOT/usr/src/kernels + mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir + + # This is going to create a broken link during the build, but we don't use + # it after this point. We need the link to actually point to something + # when kernel-devel is installed, and a relative link doesn't work across + # the F17 UsrMove feature. + ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + +%ifnarch armv7hl + # Generate vmlinux.h and put it to kernel-devel path + bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h +%endif + + # prune junk from kernel-devel + find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete + + # Generate crashkernel default config + %{SOURCE83} "$KernelVer" "$Arch" "$RPM_BUILD_ROOT" + + # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel + mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer + install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer + %ifarch s390x ppc64le + if [ $DoModules -eq 1 ]; then + if [ -x /usr/bin/rpm-sign ]; then + install -m 0644 %{secureboot_key_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + else + install -m 0644 certs/signing_key.x509.sign${Variant:++${Variant}} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer + openssl x509 -in certs/signing_key.pem.sign${Variant:++${Variant}} -outform der -out $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + chmod 0644 $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + fi + fi + %endif + +%if %{with_ipaclones} + MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p') + if [ -z "$MAXPROCS" ]; then + MAXPROCS=1 + fi + if [ "$Variant" == "" ]; then + mkdir -p $RPM_BUILD_ROOT/$DevelDir-ipaclones + find . -name '*.ipa-clones' | xargs -i{} -r -n 1 -P $MAXPROCS install -m 644 -D "{}" "$RPM_BUILD_ROOT/$DevelDir-ipaclones/{}" + fi +%endif + +} + +### +# DO it... +### + +# prepare directories +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/boot +mkdir -p $RPM_BUILD_ROOT%{_libexecdir} + +cd linux-%{KVERREL} + + +%if %{with_debug} +BuildKernel %make_target %kernel_image %{_use_vdso} debug +%endif + +%if %{with_zfcpdump} +BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump +%endif + +%if %{with_pae} +BuildKernel %make_target %kernel_image %{use_vdso} lpae +%endif + +%if %{with_up} +BuildKernel %make_target %kernel_image %{_use_vdso} +%endif + +%ifnarch noarch i686 +%if !%{with_debug} && !%{with_zfcpdump} && !%{with_pae} && !%{with_up} +# If only building the user space tools, then initialize the build environment +# and some variables so that the various userspace tools can be built. +InitBuildVars +%endif +%endif + +%ifarch aarch64 +%global perf_build_extra_opts CORESIGHT=1 +%endif +%global perf_make \ + %{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 LIBBPF_DYNAMIC=1 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3} +%if %{with_perf} +# perf +# make sure check-headers.sh is executable +chmod +x tools/perf/check-headers.sh +%{perf_make} DESTDIR=$RPM_BUILD_ROOT all +%endif + +%global tools_make \ + %{make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?make_opts} + +%if %{with_tools} +%ifarch %{cpupowerarchs} +# cpupower +# make sure version-gen.sh is executable. +chmod +x tools/power/cpupower/utils/version-gen.sh +%{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false +%ifarch x86_64 + pushd tools/power/cpupower/debug/x86_64 + %{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode + popd +%endif +%ifarch x86_64 + pushd tools/power/x86/x86_energy_perf_policy/ + %{tools_make} + popd + pushd tools/power/x86/turbostat + %{tools_make} + popd + pushd tools/power/x86/intel-speed-select + %{make} + popd +%endif +%endif +pushd tools/thermal/tmon/ +%{tools_make} +popd +pushd tools/iio/ +%{tools_make} +popd +pushd tools/gpio/ +%{tools_make} +popd +# build VM tools +pushd tools/vm/ +%{tools_make} slabinfo page_owner_sort +popd +%endif + +if [ -f $DevelDir/vmlinux.h ]; then + RPM_VMLINUX_H=$DevelDir/vmlinux.h +fi + +%global bpftool_make \ + %{__make} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT %{?make_opts} VMLINUX_H="${RPM_VMLINUX_H}" V=1 +%if %{with_bpftool} +pushd tools/bpf/bpftool +%{bpftool_make} +popd +%endif + +%if %{with_selftests} +# Unfortunately, samples/bpf/Makefile expects that the headers are installed +# in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr +# but there's no way to tell the Makefile to take them from there. +%{make} %{?_smp_mflags} headers_install +%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ + +# Prevent bpf selftests to build bpftool repeatedly: +export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool + +pushd tools/testing/selftests +# We need to install here because we need to call make with ARCH set which +# doesn't seem possible to do in the install section. +%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf livepatch net net/forwarding net/mptcp netfilter tc-testing" SKIP_TARGETS="" FORCE_TARGETS=1 INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install + +# 'make install' for bpf is broken and upstream refuses to fix it. +# Install the needed files manually. +for dir in bpf bpf/no_alu32 bpf/progs; do + # In ARK, the rpm build continues even if some of the selftests + # cannot be built. It's not always possible to build selftests, + # as upstream sometimes dependens on too new llvm version or has + # other issues. If something did not get built, just skip it. + test -d $dir || continue + mkdir -p %{buildroot}%{_libexecdir}/kselftests/$dir + find $dir -maxdepth 1 -type f \( -executable -o -name '*.py' -o -name settings -o \ + -name 'btf_dump_test_case_*.c' -o \ + -name '*.o' -exec sh -c 'readelf -h "{}" | grep -q "^ Machine:.*BPF"' \; \) -print0 | \ + xargs -0 cp -t %{buildroot}%{_libexecdir}/kselftests/$dir || true +done +popd +export -n BPFTOOL +%endif + +%if %{with_doc} +# Make the HTML pages. +%{__make} PYTHON=/usr/bin/python3 htmldocs || %{doc_build_fail} + +# sometimes non-world-readable files sneak into the kernel source tree +chmod -R a=rX Documentation +find Documentation -type d | xargs chmod u+w +%endif + +# In the modsign case, we do 3 things. 1) We check the "variant" and hard +# code the value in the following invocations. This is somewhat sub-optimal +# but we're doing this inside of an RPM macro and it isn't as easy as it +# could be because of that. 2) We restore the .tmp_versions/ directory from +# the one we saved off in BuildKernel above. This is to make sure we're +# signing the modules we actually built/installed in that variant. 3) We +# grab the arch and invoke mod-sign.sh command to actually sign the modules. +# +# We have to do all of those things _after_ find-debuginfo runs, otherwise +# that will strip the signature off of the modules. +# +# Don't sign modules for the zfcpdump variant as it is monolithic. + +%define __modsign_install_post \ + if [ "%{signmodules}" -eq "1" ]; then \ + if [ "%{with_pae}" -ne "0" ]; then \ + %{modsign_cmd} certs/signing_key.pem.sign+lpae certs/signing_key.x509.sign+lpae $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+lpae/ \ + fi \ + if [ "%{with_debug}" -ne "0" ]; then \ + %{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \ + fi \ + if [ "%{with_up}" -ne "0" ]; then \ + %{modsign_cmd} certs/signing_key.pem.sign certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \ + fi \ + fi \ + if [ "%{zipmodules}" -eq "1" ]; then \ + find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P%{zcpu} xz; \ + fi \ +%{nil} + +### +### Special hacks for debuginfo subpackages. +### + +# This macro is used by %%install, so we must redefine it before that. +%define debug_package %{nil} + +%if %{with_debuginfo} + +%ifnarch noarch +%global __debug_package 1 +%files -f debugfiles.list debuginfo-common-%{_target_cpu} +%endif + +%endif + +# We don't want to package debuginfo for self-tests and samples but +# we have to delete them to avoid an error messages about unpackaged +# files. +# Delete the debuginfo for kernel-devel files +%define __remove_unwanted_dbginfo_install_post \ + if [ "%{with_selftests}" -ne "0" ]; then \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/ksamples; \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/kselftests; \ + fi \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/src; \ +%{nil} + +# +# Disgusting hack alert! We need to ensure we sign modules *after* all +# invocations of strip occur, which is in __debug_install_post if +# find-debuginfo.sh runs, and __os_install_post if not. +# +%define __spec_install_post \ + %{?__debug_package:%{__debug_install_post}}\ + %{__arch_install_post}\ + %{__os_install_post}\ + %{__remove_unwanted_dbginfo_install_post}\ + %{__modsign_install_post} + +### +### install +### + +%install + +cd linux-%{KVERREL} + +%if %{with_doc} +docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} + +# copy the source over +mkdir -p $docdir +tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir + +# with_doc +%endif + +# We have to do the headers install before the tools install because the +# kernel headers_install will remove any header files in /usr/include that +# it doesn't install itself. + +%if %{with_headers} +# Install kernel headers +%{__make} ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install + +find $RPM_BUILD_ROOT/usr/include \ + \( -name .install -o -name .check -o \ + -name ..install.cmd -o -name ..check.cmd \) -delete + +%endif + +%if %{with_cross_headers} +%if 0%{?fedora} +HDR_ARCH_LIST='arm arm64 powerpc s390 x86' +%else +HDR_ARCH_LIST='arm64 powerpc s390 x86' +%endif +mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers + +for arch in $HDR_ARCH_LIST; do + mkdir $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} + %{__make} ARCH=${arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} headers_install +done + +find $RPM_BUILD_ROOT/usr/tmp-headers \ + \( -name .install -o -name .check -o \ + -name ..install.cmd -o -name ..check.cmd \) -delete + +# Copy all the architectures we care about to their respective asm directories +for arch in $HDR_ARCH_LIST ; do + mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include + mv $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/ +done + +rm -rf $RPM_BUILD_ROOT/usr/tmp-headers +%endif + +%if %{with_kernel_abi_stablelists} +# kabi directory +INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ +mkdir -p $INSTALL_KABI_PATH + +# install kabi releases directories +tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH +# with_kernel_abi_stablelists +%endif + +%if %{with_perf} +# perf tool binary and supporting scripts/binaries +%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin +# remove the 'trace' symlink. +rm -f %{buildroot}%{_bindir}/trace + +# For both of the below, yes, this should be using a macro but right now +# it's hard coded and we don't actually want it anyway right now. +# Whoever wants examples can fix it up! + +# remove examples +rm -rf %{buildroot}/usr/lib/perf/examples +rm -rf %{buildroot}/usr/lib/perf/include + +# python-perf extension +%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext + +# perf man pages (note: implicit rpm magic compresses them later) +mkdir -p %{buildroot}/%{_mandir}/man1 +%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man + +# remove any tracevent files, eg. its plugins still gets built and installed, +# even if we build against system's libtracevent during perf build (by setting +# LIBTRACEEVENT_DYNAMIC=1 above in perf_make macro). Those files should already +# ship with libtraceevent package. +rm -rf %{buildroot}%{_libdir}/traceevent +%endif + +%if %{with_tools} +%ifarch %{cpupowerarchs} +%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install +rm -f %{buildroot}%{_libdir}/*.{a,la} +%find_lang cpupower +mv cpupower.lang ../ +%ifarch x86_64 + pushd tools/power/cpupower/debug/x86_64 + install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode + install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode + popd +%endif +chmod 0755 %{buildroot}%{_libdir}/libcpupower.so* +mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig +install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service +install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower +%endif +%ifarch x86_64 + mkdir -p %{buildroot}%{_mandir}/man8 + pushd tools/power/x86/x86_energy_perf_policy + %{tools_make} DESTDIR=%{buildroot} install + popd + pushd tools/power/x86/turbostat + %{tools_make} DESTDIR=%{buildroot} install + popd + pushd tools/power/x86/intel-speed-select + %{tools_make} CFLAGS+="-D_GNU_SOURCE -Iinclude" DESTDIR=%{buildroot} install + popd +%endif +pushd tools/thermal/tmon +%{tools_make} INSTALL_ROOT=%{buildroot} install +popd +pushd tools/iio +%{tools_make} DESTDIR=%{buildroot} install +popd +pushd tools/gpio +%{tools_make} DESTDIR=%{buildroot} install +popd +install -m644 -D %{SOURCE2002} %{buildroot}%{_sysconfdir}/logrotate.d/kvm_stat +pushd tools/kvm/kvm_stat +%{__make} INSTALL_ROOT=%{buildroot} install-tools +%{__make} INSTALL_ROOT=%{buildroot} install-man +install -m644 -D kvm_stat.service %{buildroot}%{_unitdir}/kvm_stat.service +popd +# install VM tools +pushd tools/vm/ +install -m755 slabinfo %{buildroot}%{_bindir}/slabinfo +install -m755 page_owner_sort %{buildroot}%{_bindir}/page_owner_sort +popd +%endif + +if [ -f $DevelDir/vmlinux.h ]; then + RPM_VMLINUX_H=$DevelDir/vmlinux.h +fi + +%if !%{with_auto} +%if %{with_bpftool} +pushd tools/bpf/bpftool +%{bpftool_make} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install +popd +%endif +%endif + +%if %{with_selftests} +pushd samples +install -d %{buildroot}%{_libexecdir}/ksamples +# install bpf samples +pushd bpf +install -d %{buildroot}%{_libexecdir}/ksamples/bpf +find -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/bpf \; +install -m755 *.sh %{buildroot}%{_libexecdir}/ksamples/bpf +# test_lwt_bpf.sh compiles test_lwt_bpf.c when run; this works only from the +# kernel tree. Just remove it. +rm %{buildroot}%{_libexecdir}/ksamples/bpf/test_lwt_bpf.sh +install -m644 *_kern.o %{buildroot}%{_libexecdir}/ksamples/bpf || true +install -m644 tcp_bpf.readme %{buildroot}%{_libexecdir}/ksamples/bpf +popd +# install pktgen samples +pushd pktgen +install -d %{buildroot}%{_libexecdir}/ksamples/pktgen +find . -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; +find . -type f ! -executable -exec install -m644 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; +popd +popd +# install drivers/net/mlxsw selftests +pushd tools/testing/selftests/drivers/net/mlxsw +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +popd +# install drivers/net/netdevsim selftests +pushd tools/testing/selftests/drivers/net/netdevsim +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/netdevsim/{} \; +popd +# install net/forwarding selftests +pushd tools/testing/selftests/net/forwarding +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +popd +# install net/mptcp selftests +pushd tools/testing/selftests/net/mptcp +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; +popd +# install tc-testing selftests +pushd tools/testing/selftests/tc-testing +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +popd +# install livepatch selftests +pushd tools/testing/selftests/livepatch +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +popd +# install netfilter selftests +pushd tools/testing/selftests/netfilter +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/netfilter/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/netfilter/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/netfilter/{} \; +popd +%endif + +### +### clean +### + +### +### scripts +### + +%if %{with_tools} +%post -n kernel-tools-libs +/sbin/ldconfig + +%postun -n kernel-tools-libs +/sbin/ldconfig +%endif + +# +# This macro defines a %%post script for a kernel*-devel package. +# %%kernel_devel_post [] +# Note we don't run hardlink if ostree is in use, as ostree is +# a far more sophisticated hardlink implementation. +# https://github.com/projectatomic/rpm-ostree/commit/58a79056a889be8814aa51f507b2c7a4dccee526 +# +%define kernel_devel_post() \ +%{expand:%%post %{?1:%{1}-}devel}\ +if [ -f /etc/sysconfig/kernel ]\ +then\ + . /etc/sysconfig/kernel || exit $?\ +fi\ +if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ] \ +then\ + (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\ + /usr/bin/find . -type f | while read f; do\ + hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null\ + done)\ +fi\ +%{nil} + +# +# This macro defines a %%post script for a kernel*-modules-extra package. +# It also defines a %%postun script that does the same thing. +# %%kernel_modules_extra_post [] +# +%define kernel_modules_extra_post() \ +%{expand:%%post %{?1:%{1}-}modules-extra}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%postun %{?1:%{1}-}modules-extra}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil} + +# +# This macro defines a %%post script for a kernel*-modules-internal package. +# It also defines a %%postun script that does the same thing. +# %%kernel_modules_internal_post [] +# +%define kernel_modules_internal_post() \ +%{expand:%%post %{?1:%{1}-}modules-internal}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%postun %{?1:%{1}-}modules-internal}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil} + +%if %{with_auto} +# +# This macro defines a %%post script for a kernel*-kvm package. +# It also defines a %%postun script that does the same thing. +# %%kernel_kvm_post [] +# +%define kernel_kvm_post() \ +%{expand:%%post %{?1:%{1}-}kvm}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%postun %{?1:%{1}-}kvm}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil} +%endif + +# +# This macro defines a %%post script for a kernel*-modules package. +# It also defines a %%postun script that does the same thing. +# %%kernel_modules_post [] +# +%define kernel_modules_post() \ +%{expand:%%post %{?1:%{1}-}modules}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%postun %{?1:%{1}-}modules}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil} + +# This macro defines a %%posttrans script for a kernel package. +# %%kernel_variant_posttrans [] +# More text can follow to go at the end of this variant's %%post. +# +%define kernel_variant_posttrans() \ +%{expand:%%posttrans %{?1:%{1}-}core}\ +%if 0%{!?fedora:1}\ +%if !%{with_auto}\ +if [ -x %{_sbindir}/weak-modules ]\ +then\ + %{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\ +fi\ +%endif\ +%endif\ +/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\ +%{nil} + +# +# This macro defines a %%post script for a kernel package and its devel package. +# %%kernel_variant_post [-v ] [-r ] +# More text can follow to go at the end of this variant's %%post. +# +%define kernel_variant_post(v:r:) \ +%{expand:%%kernel_devel_post %{?-v*}}\ +%{expand:%%kernel_modules_post %{?-v*}}\ +%{expand:%%kernel_modules_extra_post %{?-v*}}\ +%{expand:%%kernel_modules_internal_post %{?-v*}}\ +%{expand:%%kernel_variant_posttrans %{?-v*}}\ +%{expand:%%post %{?-v*:%{-v*}-}core}\ +%{-r:\ +if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\ + [ -f /etc/sysconfig/kernel ]; then\ + /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\ +fi}\ +%{nil} + +# +# This macro defines a %%preun script for a kernel package. +# %%kernel_variant_preun +# +%define kernel_variant_preun() \ +%{expand:%%preun %{?1:%{1}-}core}\ +/bin/kernel-install remove %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\ +%if !%{with_auto}\ +if [ -x %{_sbindir}/weak-modules ]\ +then\ + %{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?1:+%{1}} || exit $?\ +fi\ +%endif\ +%{nil} + +%kernel_variant_preun +%kernel_variant_post -r kernel-smp +%if %{with_auto} +%kernel_kvm_post +%endif + +%if %{with_pae} +%kernel_variant_preun lpae +%kernel_variant_post -v lpae -r (kernel|kernel-smp) +%endif + +%if %{with_debug} +%kernel_variant_preun debug +%kernel_variant_post -v debug +%if %{with_auto} +%kernel_kvm_post debug +%endif +%endif + +%if %{with_zfcpdump} +%kernel_variant_preun zfcpdump +%kernel_variant_post -v zfcpdump +%endif + +if [ -x /sbin/ldconfig ] +then + /sbin/ldconfig -X || exit $? +fi + +### +### file lists +### + +%if %{with_headers} +%files headers +/usr/include/* +%endif + +%if %{with_cross_headers} +%files cross-headers +/usr/*-linux-gnu/include/* +%endif + +%if %{with_kernel_abi_stablelists} +%files -n kernel-abi-stablelists +/lib/modules/kabi-* +%endif + +%if %{with_kabidw_base} +%ifarch x86_64 s390x ppc64 ppc64le aarch64 +%files kernel-kabidw-base-internal +%defattr(-,root,root) +/kabidw-base/%{_target_cpu}/* +%endif +%endif + +# only some architecture builds need kernel-doc +%if %{with_doc} +%files doc +%defattr(-,root,root) +%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation/* +%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation +%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} +%endif + +%if %{with_perf} +%files -n perf +%{_bindir}/perf +%{_libdir}/libperf-jvmti.so +%dir %{_libexecdir}/perf-core +%{_libexecdir}/perf-core/* +%{_datadir}/perf-core/* +%{_mandir}/man[1-8]/perf* +%{_sysconfdir}/bash_completion.d/perf +%doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt +%{_docdir}/perf-tip/tips.txt + +%files -n python3-perf +%{python3_sitearch}/* + +%if %{with_debuginfo} +%files -f perf-debuginfo.list -n perf-debuginfo + +%files -f python3-perf-debuginfo.list -n python3-perf-debuginfo +%endif +# with_perf +%endif + +%if %{with_tools} +%ifnarch %{cpupowerarchs} +%files -n kernel-tools +%else +%files -n kernel-tools -f cpupower.lang +%{_bindir}/cpupower +%{_datadir}/bash-completion/completions/cpupower +%ifarch x86_64 +%{_bindir}/centrino-decode +%{_bindir}/powernow-k8-decode +%endif +%{_unitdir}/cpupower.service +%{_mandir}/man[1-8]/cpupower* +%config(noreplace) %{_sysconfdir}/sysconfig/cpupower +%ifarch x86_64 +%{_bindir}/x86_energy_perf_policy +%{_mandir}/man8/x86_energy_perf_policy* +%{_bindir}/turbostat +%{_mandir}/man8/turbostat* +%{_bindir}/intel-speed-select +%endif +# cpupowerarchs +%endif +%{_bindir}/tmon +%{_bindir}/iio_event_monitor +%{_bindir}/iio_generic_buffer +%{_bindir}/lsiio +%{_bindir}/lsgpio +%{_bindir}/gpio-hammer +%{_bindir}/gpio-event-mon +%{_bindir}/gpio-watch +%{_mandir}/man1/kvm_stat* +%{_bindir}/kvm_stat +%{_unitdir}/kvm_stat.service +%config(noreplace) %{_sysconfdir}/logrotate.d/kvm_stat +%{_bindir}/page_owner_sort +%{_bindir}/slabinfo + +%if %{with_debuginfo} +%files -f kernel-tools-debuginfo.list -n kernel-tools-debuginfo +%endif + +%ifarch %{cpupowerarchs} +%files -n kernel-tools-libs +%{_libdir}/libcpupower.so.0 +%{_libdir}/libcpupower.so.0.0.1 + +%files -n kernel-tools-libs-devel +%{_libdir}/libcpupower.so +%{_includedir}/cpufreq.h +%endif +# with_tools +%endif + +%if !%{with_auto} +%if %{with_bpftool} +%files -n bpftool +%{_sbindir}/bpftool +%{_sysconfdir}/bash_completion.d/bpftool +%{_mandir}/man8/bpftool-cgroup.8.gz +%{_mandir}/man8/bpftool-gen.8.gz +%{_mandir}/man8/bpftool-iter.8.gz +%{_mandir}/man8/bpftool-link.8.gz +%{_mandir}/man8/bpftool-map.8.gz +%{_mandir}/man8/bpftool-prog.8.gz +%{_mandir}/man8/bpftool-perf.8.gz +%{_mandir}/man8/bpftool.8.gz +%{_mandir}/man8/bpftool-net.8.gz +%{_mandir}/man8/bpftool-feature.8.gz +%{_mandir}/man8/bpftool-btf.8.gz +%{_mandir}/man8/bpftool-struct_ops.8.gz + +%if %{with_debuginfo} +%files -f bpftool-debuginfo.list -n bpftool-debuginfo +%defattr(-,root,root) +%endif +%endif +%endif + +%if %{with_selftests} +%files selftests-internal +%{_libexecdir}/ksamples +%{_libexecdir}/kselftests +%endif + +# empty meta-package +%ifnarch %nobuildarches noarch +%files +%endif + +%if %{with_gcov} +%ifarch x86_64 s390x ppc64le aarch64 +%files gcov +%{_builddir} +%endif +%endif + +# This is %%{image_install_path} on an arch where that includes ELF files, +# or empty otherwise. +%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}} + +# +# This macro defines the %%files sections for a kernel package +# and its devel and debuginfo packages. +# %%kernel_variant_files [-k vmlinux] +# +%define kernel_variant_files(k:) \ +%if %{2}\ +%{expand:%%files -f %{name}-%{?3:%{3}-}core.list %{?1:-f %{name}-%{?3:%{3}-}ldsoconf.list} %{?3:%{3}-}core}\ +%{!?_licensedir:%global license %%doc}\ +%license linux-%{KVERREL}/COPYING-%{version}-%{release}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\ +%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \ +%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \ +%ifarch %{arm} aarch64\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \ +%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \ +%endif\ +%attr(0600, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ +%ghost %attr(0600, root, root) /boot/System.map-%{KVERREL}%{?3:+%{3}}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/config\ +%ghost %attr(0600, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\ +%ghost %attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\ +%ghost %attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\ +%dir /lib/modules\ +%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\ +%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/build\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/source\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/crashkernel.default\ +%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\ +%if %{1}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\ +%endif\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\ +%{expand:%%files -f %{name}-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\ +%{expand:%%files %{?3:%{3}-}devel}\ +%defverify(not mtime)\ +/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ +%{expand:%%files %{?3:%{3}-}devel-matched}\ +%{expand:%%files -f %{name}-%{?3:%{3}-}modules-extra.list %{?3:%{3}-}modules-extra}\ +%config(noreplace) /etc/modprobe.d/*-blacklist.conf\ +%{expand:%%files -f %{name}-%{?3:%{3}-}modules-internal.list %{?3:%{3}-}modules-internal}\ +%if %{with_auto}\ +%{expand:%%files -f %{name}-%{?3:%{3}-}kvm.list %{?3:%{3}-}kvm}\ +%endif\ +%if %{with_debuginfo}\ +%ifnarch noarch\ +%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\ +%endif\ +%endif\ +%if %{?3:1} %{!?3:0}\ +%{expand:%%files %{3}}\ +%endif\ +%endif\ +%{nil} + +%kernel_variant_files %{_use_vdso} %{with_up} +%kernel_variant_files %{_use_vdso} %{with_debug} debug +%if %{with_debug_meta} +%files debug +%files debug-core +%files debug-devel +%files debug-devel-matched +%files debug-modules +%files debug-modules-extra +%endif +%kernel_variant_files %{use_vdso} %{with_pae} lpae +%kernel_variant_files %{_use_vdso} %{with_zfcpdump} zfcpdump + +%define kernel_variant_ipaclones(k:) \ +%if %{1}\ +%if %{with_ipaclones}\ +%{expand:%%files %{?2:%{2}-}ipaclones-internal}\ +%defattr(-,root,root)\ +%defverify(not mtime)\ +/usr/src/kernels/%{KVERREL}%{?2:+%{2}}-ipaclones\ +%endif\ +%endif\ +%{nil} + +%kernel_variant_ipaclones %{with_up} + +# plz don't put in a version string unless you're going to tag +# and build. +# +# +%changelog +* Tue Nov 16 2021 Clark Williams [5.14.0-13.rt21.13.test.el9] +- redhat: remove duplicate auto configs (Scott Weaver) +- redhat: add initial auto configs (Scott Weaver) +- kernel.spec.template: add aarch64 as a supported architecture (Scott Weaver) +- redhat: add configs and disable kvm for aarch64 (Scott Weaver) +- redhat: move rt configs to its own layer (Scott Weaver) +- redhat: rename kernel-rt to kernel-auto (Scott Weaver) +- futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic() (Waiman Long) [2007032] +- futex: Prevent inconsistent state and exit race (Waiman Long) [2007032] +- locking/ww_mutex: Initialize waiter.ww_ctx properly (Waiman Long) [2007032] +- futex: Return error code instead of assigning it without effect (Waiman Long) [2007032] +- locking/rwbase: Take care of ordering guarantee for fastpath reader (Waiman Long) [2007032] +- locking/rwbase: Extract __rwbase_write_trylock() (Waiman Long) [2007032] +- locking/rwbase: Properly match set_and_save_state() to restore_state() (Waiman Long) [2007032] +- locking/rtmutex: Fix ww_mutex deadlock check (Waiman Long) [2007032] +- locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT (Waiman Long) [2007032] +- locking/rtmutex: Return success on deadlock for ww_mutex waiters (Waiman Long) [2007032] +- locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Waiman Long) [2007032] +- locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Waiman Long) [2007032] +- locking/rtmutex: Dont dereference waiter lockless (Waiman Long) [2007032] +- locking/local_lock: Add PREEMPT_RT support (Waiman Long) [2007032] +- locking/spinlock/rt: Prepare for RT local_lock (Waiman Long) [2007032] +- locking/rtmutex: Add adaptive spinwait mechanism (Waiman Long) [2007032] +- locking/rtmutex: Implement equal priority lock stealing (Waiman Long) [2007032] +- preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Waiman Long) [2007032] +- locking/rtmutex: Prevent lockdep false positive with PI futexes (Waiman Long) [2007032] +- futex: Prevent requeue_pi() lock nesting issue on RT (Waiman Long) [2007032] +- futex: Simplify handle_early_requeue_pi_wakeup() (Waiman Long) [2007032] +- futex: Reorder sanity checks in futex_requeue() (Waiman Long) [2007032] +- futex: Clarify comment in futex_requeue() (Waiman Long) [2007032] +- futex: Restructure futex_requeue() (Waiman Long) [2007032] +- futex: Correct the number of requeued waiters for PI (Waiman Long) [2007032] +- futex: Remove bogus condition for requeue PI (Waiman Long) [2007032] +- futex: Clarify futex_requeue() PI handling (Waiman Long) [2007032] +- futex: Clean up stale comments (Waiman Long) [2007032] +- futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Waiman Long) [2007032] +- lib/test_lockup: Adapt to changed variables (Waiman Long) [2007032] +- locking/rtmutex: Add mutex variant for RT (Waiman Long) [2007032] +- locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Waiman Long) [2007032] +- locking/rtmutex: Extend the rtmutex core to support ww_mutex (Waiman Long) [2007032] +- locking/ww_mutex: Add rt_mutex based lock type and accessors (Waiman Long) [2007032] +- locking/ww_mutex: Add RT priority to W/W order (Waiman Long) [2007032] +- locking/ww_mutex: Implement rt_mutex accessors (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out internal lock accesses (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out mutex types (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out mutex accessors (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out waiter enqueueing (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out the waiter iteration (Waiman Long) [2007032] +- locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Waiman Long) [2007032] +- locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Waiman Long) [2007032] +- locking/ww_mutex: Split up ww_mutex_unlock() (Waiman Long) [2007032] +- locking/ww_mutex: Gather mutex_waiter initialization (Waiman Long) [2007032] +- locking/ww_mutex: Simplify lockdep annotations (Waiman Long) [2007032] +- locking/mutex: Make mutex::wait_lock raw (Waiman Long) [2007032] +- locking/ww_mutex: Move the ww_mutex definitions from into (Waiman Long) [2007032] +- locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Waiman Long) [2007032] +- locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Waiman Long) [2007032] +- locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Waiman Long) [2007032] +- locking/rwlock: Provide RT variant (Waiman Long) [2007032] +- locking/spinlock: Provide RT variant (Waiman Long) [2007032] +- locking/rtmutex: Provide the spin/rwlock core lock function (Waiman Long) [2007032] +- locking/spinlock: Provide RT variant header: (Waiman Long) [2007032] +- locking/spinlock: Provide RT specific spinlock_t (Waiman Long) [2007032] +- locking/rtmutex: Reduce header dependencies, only include (Waiman Long) [2007032] +- rbtree: Split out the rbtree type definitions into (Waiman Long) [2007032] +- locking/lockdep: Reduce header dependencies in (Waiman Long) [2007032] +- locking/rtmutex: Prevent future include recursion hell (Waiman Long) [2007032] +- locking/spinlock: Split the lock types header, and move the raw types into (Waiman Long) [2007032] +- locking/rtmutex: Guard regular sleeping locks specific functions (Waiman Long) [2007032] +- locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Waiman Long) [2007032] +- locking/rtmutex: Use rt_mutex_wake_q_head (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_wake_q_head and helpers (Waiman Long) [2007032] +- locking/rtmutex: Add wake_state to rt_mutex_waiter (Waiman Long) [2007032] +- locking/rwsem: Add rtmutex based R/W semaphore implementation (Waiman Long) [2007032] +- locking/rt: Add base code for RT rw_semaphore and rwlock (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_mutex_base_is_locked() (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_mutex_slowlock_locked() (Waiman Long) [2007032] +- locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Waiman Long) [2007032] +- locking/rtmutex: Split API from implementation (Waiman Long) [2007032] +- locking/rtmutex: Switch to from cmpxchg_*() to try_cmpxchg_*() (Waiman Long) [2007032] +- locking/rtmutex: Convert macros to inlines (Waiman Long) [2007032] +- locking/rtmutex: Remove rt_mutex_is_locked() (Waiman Long) [2007032] +- sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Waiman Long) [2007032] +- sched/core: Provide a scheduling point for RT locks (Waiman Long) [2007032] +- sched/core: Rework the __schedule() preempt argument (Waiman Long) [2007032] +- sched/wakeup: Prepare for RT sleeping spin/rwlocks (Waiman Long) [2007032] +- sched/wakeup: Reorganize the current::__state helpers (Waiman Long) [2007032] +- sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Waiman Long) [2007032] +- sched/wakeup: Split out the wakeup ->__state check (Waiman Long) [2007032] +- locking/rtmutex: Set proper wait context for lockdep (Waiman Long) [2007032] +- locking/local_lock: Add missing owner initialization (Waiman Long) [2007032] +- locking/mutex: Add MUTEX_WARN_ON (Waiman Long) [2007032] +- locking/mutex: Introduce __mutex_trylock_or_handoff() (Waiman Long) [2007032] +- locking/mutex: Fix HANDOFF condition (Waiman Long) [2007032] +- locking/mutex: Use try_cmpxchg() (Waiman Long) [2007032] +- redhat: make dist-srpm-gcov add to BUILDOPTS (Jan Stancek) [2017628] +- redhat: Fix dist-srpm-gcov (Jan Stancek) [2017628] +- s390: report more CPU capabilities (Robin Dapp) [2012095] +- s390/disassembler: add instructions (Robin Dapp) [2012095] +- audit: move put_tree() to avoid trim_trees refcount underflow and UAF (Richard Guy Briggs) [1985904] +- libbpf: Properly ignore STT_SECTION symbols in legacy map definitions (Jiri Olsa) [1998266] +- libbpf: Ignore STT_SECTION symbols in 'maps' section (Jiri Olsa) [1998266] +- selftests, bpf: test_lwt_ip_encap: Really disable rp_filter (Jiri Benc) [2006328] +- selinux: remove the SELinux lockdown implementation (Ondrej Mosnacek) [1940843 1945581] +- bpf: Fix integer overflow in prealloc_elems_and_freelist() (Yauheni Kaliuta) [2010494] {CVE-2021-41864} +- seltests: bpf: test_tunnel: Use ip neigh (Jiri Benc) [2006326] +- block: return ELEVATOR_DISCARD_MERGE if possible (Ming Lei) [1991958] +- blk-mq: avoid to iterate over stale request (Ming Lei) [2009110] +- redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) [2006320] +- CI: Update deprecated configs (Veronika Kabatova) +- powerpc/pseries: Prevent free CPU ids being reused on another node (Desnes A. Nunes do Rosario) [2004809] +- pseries/drmem: update LMBs after LPM (Desnes A. Nunes do Rosario) [2004809] +- powerpc/numa: Consider the max NUMA node for migratable LPAR (Desnes A. Nunes do Rosario) [2004809] +- selftests: bpf: disable test_lirc_mode2 (Jiri Benc) [2006359] +- selftests: bpf: disable test_doc_build.sh (Jiri Benc) [2006359] +- selftests: bpf: define SO_RCVTIMEO and SO_SNDTIMEO properly for ppc64le (Jiri Benc) [2006359] +- selftests: bpf: skip FOU tests in test_tc_tunnel (Jiri Benc) [2006359] +- selftests: bpf: disable test_seg6_loop test (Jiri Benc) [2006359] +- selftests: bpf: disable test_lwt_seg6local (Jiri Benc) [2006359] +- selftests: bpf: disable test_bpftool_build.sh (Jiri Benc) [2006359] +- selftests: add option to skip specific tests in RHEL (Jiri Benc) [2006359] +- selftests/powerpc: Add scv versions of the basic TM syscall tests (Desnes A. Nunes do Rosario) [1986651] +- powerpc/64s: system call scv tabort fix for corrupt irq soft-mask state (Desnes A. Nunes do Rosario) [1986651] +- mm/swap: consider max pages in iomap_swapfile_add_extent (Carlos Maiolino) [2005191] +- platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver (David Arcari) [2007707] +- platform/x86: intel_pmc_core: Move to intel sub-directory (David Arcari) [2007707] +- platform/x86: intel_pmc_core: Prevent possibile overflow (David Arcari) [2007707] +- Clean-up CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) [2007707] +- KVM: nVMX: Filter out all unsupported controls when eVMCS was activated (Vitaly Kuznetsov) [2001912] +- ipc: remove memcg accounting for sops objects in do_semtimedop() (Rafael Aquini) [1999707] {CVE-2021-3759} +- memcg: enable accounting of ipc resources (Rafael Aquini) [1999707] {CVE-2021-3759} +- redhat: BUILDID parameter must come last in genspec.sh (Herton R. Krzesinski) +- redhat/Makefile.variables: Set INCLUDE_FEDORA_FILES to 0 (Prarit Bhargava) [2009545] +- redhat: Remove fedora configs directories and files. (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Cleanup source numbering (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Reorganize RHEL and Fedora specific files (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Add include_fedora and include_rhel variables (Prarit Bhargava) [2009545] +- redhat/Makefile: Make kernel-local global (Prarit Bhargava) [2009545] +- redhat/Makefile: Use flavors file (Prarit Bhargava) [2009545] +- locking/lockdep: Set sane defaults for lockdep entries on kernel-rt (Juri Lelli) [1990778] +- redhat: Enable Nitro Enclaves driver on x86 for real (Vitaly Kuznetsov) [2011739] +- redhat/.gitignore: Add rhel9 KABI files (Prarit Bhargava) [2009489] +- hwmon: (k10temp) Add support for yellow carp (David Arcari) [1987069] +- hwmon: (k10temp) Rework the temperature offset calculation (David Arcari) [1987069] +- hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU (David Arcari) [1987069] +- hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs (David Arcari) [1987069] +- hwmon: (k10temp) support Zen3 APUs (David Arcari) [1987069] +- selinux,smack: fix subjective/objective credential use mixups (Ondrej Mosnacek) [2008145] +- redhat: kernel.spec: selftests: abort on build failure (Jiri Benc) [2004012] +- Revert "bpf, selftests: Disable tests that need clang13" (Jiri Benc) [2004012] +- selftests, bpf: Fix makefile dependencies on libbpf (Jiri Benc) [2004012] +- pinctrl: Bulk conversion to generic_handle_domain_irq() (David Arcari) [2000232] +- pinctrl: amd: Handle wake-up interrupt (David Arcari) [2000232] +- pinctrl: amd: Add irq field data (David Arcari) [2000232] +- Revert "redhat: define _rhel variable because pesign macro now needs it" (Jan Stancek) +- redhat: switch secureboot kernel image signing to release keys (Jan Stancek) +- redhat/configs: Disable FIREWIRE (Prarit Bhargava) [1871862] +- Enable e1000 in rhel9 as unsupported (Ken Cox) [2002344] +- redhat/configs: enable CONFIG_SQUASHFS_ZSTD which is already enabled in Fedora 34 (Tao Liu) [1998953] +- fs: dlm: fix return -EINTR on recovery stopped (Alexander Aring) [2004213] +- redhat: replace redhatsecureboot303 signing key with redhatsecureboot601 (Jan Stancek) [2002499] +- redhat: define _rhel variable because pesign macro now needs it (Jan Stancek) [2002499] +- redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Jan Stancek) [1994849] +- redhat: correct file name of redhatsecurebootca1 (Jan Stancek) [2002499] +- redhat: align file names with names of signing keys for ppc and s390 (Jan Stancek) [2002499] +- redhat: restore sublevel in changelog (Jan Stancek) +- fs: dlm: avoid comms shutdown delay in release_lockspace (Alexander Aring) [1994749] +- redhat/configs: Enable CONFIG_BLK_CGROUP_IOLATENCY & CONFIG_BLK_CGROUP_FC_APPID (Waiman Long) [1996675] +- redhat/configs: remove conflicting SYSTEM_BLACKLIST_KEYRING (Bruno Meneguele) [2002350] +- Enable "inter server to server" NFSv4.2 COPY (Steve Dickson) [1487367] +- Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver (Vitaly Kuznetsov) [1999535] +- ipc: replace costly bailout check in sysvipc_find_ipc() (Rafael Aquini) [1987130 2003270] {CVE-2021-3669} +- redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1996993] +- redhat: set USE_DIST_IN_SOURCE=1 for 9.0-beta (Jan Stancek) +- redhat: add option to use DIST tag in sources (Jan Stancek) +- CI: Enable notification messages for RHEL9 (Veronika Kabatova) +- CI: Enable private pipelines for RT branches (Veronika Kabatova) +- CI: Remove ARK leftovers (Veronika Kabatova) +- redhat: add *-matched meta packages to rpminspect emptyrpm config (Herton R. Krzesinski) +- gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1988451] +- gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1988451] +- gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1988451] +- cgroup/cpuset: Avoid memory migration when nodemasks match (Waiman Long) [1980430] +- cgroup/cpuset: Enable memory migration for cpuset v2 (Waiman Long) [1980430] +- iscsi_ibft: Fix isa_bus_to_virt not working under ARM (Maurizio Lombardi) [1963801] +- x86/setup: Explicitly include acpi.h (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix warning in reserve_ibft_region() (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix crash due to KASLR physical memory remapping (Maurizio Lombardi) [1963801] +- redhat: fix chronological order in the changelog file (Herton R. Krzesinski) +- redhat: Fix lasttag for kernel-rt (Juri Lelli) +- misc/pvpanic-pci: Allow automatic loading (Eric Auger) [1977192] +- md/raid10: Remove unnecessary rcu_dereference in raid10_handle_discard (Nigel Croxon) [1965294] +- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1998549] +- Enable bridge jobs for scratch pipelines (Michael Hofmann) +- CI: use 9.0-beta-rt branch for -rt pipeline (Jan Stancek) +- crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [1987099] +- crypto: ccp - shutdown SEV firmware on kexec (Vladis Dronov) [1987099] +- v5.14.2-rt21 (Clark Williams) [2002474] +- lockdep: Let lock_is_held_type() detect recursive read as read (Clark Williams) [2002474] +- drm/i915/gt: Use spin_lock_irq() instead of local_irq_disable() + spin_lock() (Clark Williams) [2002474] +- drm/i915/gt: Queue and wait for the irq_work item. (Clark Williams) [2002474] +- irq_work: Also rcuwait for !IRQ_WORK_HARD_IRQ on PREEMPT_RT (Clark Williams) [2002474] +- irq_work: Allow irq_work_sync() to sleep if irq_work() no IRQ support. (Clark Williams) [2002474] +- virt: acrn: Remove unsued acrn_irqfds_mutex. (Clark Williams) [2002474] +- smack: Guard smack_ipv6_lock definition within a SMACK_IPV6_PORT_LABELING block (Clark Williams) [2002474] +- ASoC: mediatek: mt8195: Remove unsued irqs_lock. (Clark Williams) [2002474] +- mm: Update Vlastimil Babka's SLUB series (Clark Williams) [2002474] +- locking: Remove rt_rwlock_is_contended() (Clark Williams) [2002474] +- locking/rtmutex: Fix ww_mutex deadlock check (Clark Williams) [2002474] +- sched: Make the idle timer expire always in hardirq context. (Clark Williams) [2002474] +- futex: Avoid redundant task lookup (Clark Williams) [2002474] +- futex: Clarify comment for requeue_pi_wake_futex() (Clark Williams) [2002474] +- futex: Prevent inconsistent state and exit race (Clark Williams) [2002474] +- futex: Return error code instead of assigning it without effect (Clark Williams) [2002474] +- lockdep: Let lock_is_held_type() detect recursive read as read (Clark Williams) [2002474] +- kcov: Replace local_irq_save() with a local_lock_t. (Clark Williams) [2002474] +- kcov: Avoid enable+disable interrupts if !in_task(). (Clark Williams) [2002474] +- kcov: Allocate per-CPU memory on the relevant node. (Clark Williams) [2002474] +- Documentation/kcov: Define `ip' in the example. (Clark Williams) [2002474] +- Documentation/kcov: Include types.h in the example. (Clark Williams) [2002474] +- sched: Prevent balance_push() on remote runqueues (Clark Williams) [2002474] +- redhat: Update RTBZ for 9.0 GA (Juri Lelli) +- redhat: Add machinery for official RT builds (Juri Lelli) +- redhat: update branches/targets after 9 Beta fork (Herton R. Krzesinski) +- hv_utils: Set the maximum packet size for VSS driver to the length of the receive buffer (Vitaly Kuznetsov) [1996628] +- Enable bridge jobs for scratch pipelines (Michael Hofmann) +- redhat: Fix legacy terminology (Juri Lelli) +- redhat: Use kernel changelog as starting base for kernel-rt (Juri Lelli) +- redhat: Change gating configuration for RT kernel (Juri Lelli) +- config: disable KASAN for kernel-rt-debug kernels (Luis Claudio R. Goncalves) [1977862] +- redhat: Add realtime-setup dependecy for kernel-rt metapackage (Juri Lelli) [1937013] +- spec: Generate separate kernel-rt-kvm packages (Juri Lelli) +- Add RT config options (Juri Lelli) +- specfile: Add with_realtime (Juri Lelli) +- RTize build scripts (Juri Lelli) +- Add localversion for -RT release (Thomas Gleixner) +- POWERPC: Allow to enable RT (Sebastian Andrzej Siewior) +- powerpc/stackprotector: work around stack-guard init from atomic (Sebastian Andrzej Siewior) +- powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT (Bogdan Purcareata) +- powerpc/pseries/iommu: Use a locallock instead local_irq_save() (Sebastian Andrzej Siewior) +- powerpc: traps: Use PREEMPT_RT (Sebastian Andrzej Siewior) +- ARM64: Allow to enable RT (Sebastian Andrzej Siewior) +- ARM: Allow to enable RT (Sebastian Andrzej Siewior) +- arm64/sve: Make kernel FPU protection RT friendly (Sebastian Andrzej Siewior) +- arm64/sve: Delay freeing memory in fpsimd_flush_thread() (Sebastian Andrzej Siewior) +- KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() (Josh Cartwright) +- ARM: enable irq in translation/section permission fault handlers (Yadi.hu) +- arch/arm64: Add lazy preempt support (Anders Roxell) +- powerpc: Add support for lazy preemption (Thomas Gleixner) +- arm: Add support for lazy preemption (Thomas Gleixner) +- entry: Fix the preempt lazy fallout (Thomas Gleixner) +- x86: Support for lazy preemption (Thomas Gleixner) +- x86/entry: Use should_resched() in idtentry_exit_cond_resched() (Sebastian Andrzej Siewior) +- sched: Add support for lazy preemption (Thomas Gleixner) +- x86: Enable RT also on 32bit (Sebastian Andrzej Siewior) +- x86: Allow to enable RT (Sebastian Andrzej Siewior) +- x86: kvm Require const tsc for RT (Thomas Gleixner) +- signal/x86: Delay calling signals in atomic (Oleg Nesterov) +- sysfs: Add /sys/kernel/realtime entry (Clark Williams) +- tpm_tis: fix stall after iowrite*()s (Haris Okanovic) +- tty/serial/pl011: Make the locking work on RT (Thomas Gleixner) +- tty/serial/omap: Make the locking RT aware (Thomas Gleixner) +- drm/i915/gt: Only disable interrupts for the timeline lock on !force-threaded (Sebastian Andrzej Siewior) +- drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE (Sebastian Andrzej Siewior) +- drm/i915: disable tracing on -RT (Sebastian Andrzej Siewior) +- drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates (Mike Galbraith) +- drm,radeon,i915: Use preempt_disable/enable_rt() where recommended (Mike Galbraith) +- random: Make it work on rt (Thomas Gleixner) +- x86: stackprotector: Avoid random pool on rt (Thomas Gleixner) +- panic: skip get_random_bytes for RT_FULL in init_oops_id (Thomas Gleixner) +- crypto: testmgr - Only disable migration in crypto_disable_simd_for_test() (Sebastian Andrzej Siewior) +- crypto: cryptd - add a lock instead preempt_disable/local_bh_disable (Sebastian Andrzej Siewior) +- crypto: limit more FPU-enabled sections (Sebastian Andrzej Siewior) +- scsi/fcoe: Make RT aware. (Thomas Gleixner) +- md: raid5: Make raid5_percpu handling RT aware (Thomas Gleixner) +- drivers/block/zram: Replace bit spinlocks with rtmutex for -rt (Mike Galbraith) +- block/mq: do not invoke preempt_disable() (Sebastian Andrzej Siewior) +- net: Remove preemption disabling in netif_rx() (Priyanka Jain) +- net: dev: always take qdisc's busylock in __dev_xmit_skb() (Sebastian Andrzej Siewior) +- net: Dequeue in dev_cpu_dead() without the lock (Sebastian Andrzej Siewior) +- net: Use skbufhead with raw lock (Thomas Gleixner) +- sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() (Mike Galbraith) +- net/core: use local_bh_disable() in netif_rx_ni() (Sebastian Andrzej Siewior) +- net: Properly annotate the try-lock for the seqlock (Sebastian Andrzej Siewior) +- net/Qdisc: use a seqlock instead seqcount (Sebastian Andrzej Siewior) +- rcutorture: Avoid problematic critical section nesting on PREEMPT_RT (From: Scott Wood) +- rcu: Delay RCU-selftests (Sebastian Andrzej Siewior) +- fs: namespace: Use cpu_chill() in trylock loops (Thomas Gleixner) +- rt: Introduce cpu_chill() (Thomas Gleixner) +- fs/dcache: disable preemption on i_dir_seq's write side (Sebastian Andrzej Siewior) +- fs/dcache: use swait_queue instead of waitqueue (Sebastian Andrzej Siewior) +- ptrace: fix ptrace vs tasklist_lock race (Sebastian Andrzej Siewior) +- signal: Revert ptrace preempt magic (Thomas Gleixner) +- mm/memcontrol: Disable on PREEMPT_RT (Thomas Gleixner) +- mm/scatterlist: Do not disable irqs on RT (Thomas Gleixner) +- mm/vmalloc: Another preempt disable region which sucks (Thomas Gleixner) +- mm/zsmalloc: copy with get_cpu_var() and locking (Mike Galbraith) +- u64_stats: Disable preemption on 32bit-UP/SMP with RT during updates (Sebastian Andrzej Siewior) +- mm/vmstat: Protect per cpu variables with preempt disable on RT (Ingo Molnar) +- mm: page_alloc: Use migrate_disable() in drain_local_pages_wq() (Sebastian Andrzej Siewior) +- irqwork: push most work into softirq context (Sebastian Andrzej Siewior) +- softirq: Disable softirq stacks for RT (Thomas Gleixner) +- softirq: Check preemption after reenabling interrupts (Thomas Gleixner) +- cpuset: Convert callback_lock to raw_spinlock_t (Mike Galbraith) +- sched: Disable TTWU_QUEUE on RT (Thomas Gleixner) +- sched: Do not account rcu_preempt_depth on RT in might_sleep() (Thomas Gleixner) +- kernel/sched: move stack + kprobe clean up to __put_task_struct() (Sebastian Andrzej Siewior) +- sched: Move mmdrop to RCU on RT (Thomas Gleixner) +- sched: Limit the number of task migrations per batch (Thomas Gleixner) +- kernel/sched: add {put|get}_cpu_light() (Sebastian Andrzej Siewior) +- preempt: Provide preempt_*_(no)rt variants (Thomas Gleixner) +- locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h (Sebastian Andrzej Siewior) +- lockdep/selftests: Adapt ww-tests for PREEMPT_RT (Sebastian Andrzej Siewior) +- lockdep/selftests: Skip the softirq related tests on PREEMPT_RT (Sebastian Andrzej Siewior) +- lockdep/selftests: Unbalanced migrate_disable() & rcu_read_lock() (Sebastian Andrzej Siewior) +- lockdep/selftests: Add rtmutex to the last column (Sebastian Andrzej Siewior) +- lockdep: Make it RT aware (Thomas Gleixner) +- rtmutex: Add rt_mutex_lock_nest_lock() and rt_mutex_lock_killable(). (Sebastian Andrzej Siewior) +- rtmutex: Add a special case for ww-mutex handling. (Sebastian Andrzej Siewior) +- sched: Trigger warning if ->migration_disabled counter underflows. (Sebastian Andrzej Siewior) +- lockdep/selftests: Avoid using local_lock_{acquire|release}(). (Sebastian Andrzej Siewior) +- locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Peter Zijlstra) +- locking/rtmutex: Return success on deadlock for ww_mutex waiters (Peter Zijlstra) +- locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Thomas Gleixner) +- locking/rtmutex: Dont dereference waiter lockless (Thomas Gleixner) +- locking/ww_mutex: Initialize waiter.ww_ctx properly (Sebastian Andrzej Siewior) +- locking/local_lock: Add PREEMPT_RT support (Thomas Gleixner) +- locking/spinlock/rt: Prepare for RT local_lock (Thomas Gleixner) +- locking/rtmutex: Add adaptive spinwait mechanism (Steven Rostedt) +- locking/rtmutex: Implement equal priority lock stealing (Gregory Haskins) +- preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Thomas Gleixner) +- locking/rtmutex: Prevent lockdep false positive with PI futexes (Thomas Gleixner) +- futex: Prevent requeue_pi() lock nesting issue on RT (Thomas Gleixner) +- futex: Simplify handle_early_requeue_pi_wakeup() (Thomas Gleixner) +- futex: Reorder sanity checks in futex_requeue() (Thomas Gleixner) +- futex: Clarify comment in futex_requeue() (Thomas Gleixner) +- futex: Restructure futex_requeue() (Thomas Gleixner) +- futex: Correct the number of requeued waiters for PI (Thomas Gleixner) +- futex: Remove bogus condition for requeue PI (Thomas Gleixner) +- futex: Clarify futex_requeue() PI handling (Thomas Gleixner) +- futex: Clean up stale comments (Thomas Gleixner) +- futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Thomas Gleixner) +- lib/test_lockup: Adapt to changed variables (Sebastian Andrzej Siewior) +- locking/rtmutex: Add mutex variant for RT (Thomas Gleixner) +- locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Peter Zijlstra) +- locking/rtmutex: Extend the rtmutex core to support ww_mutex (Peter Zijlstra) +- locking/ww_mutex: Add rt_mutex based lock type and accessors (Peter Zijlstra) +- locking/ww_mutex: Add RT priority to W/W order (Peter Zijlstra) +- locking/ww_mutex: Implement rt_mutex accessors (Peter Zijlstra) +- locking/ww_mutex: Abstract out internal lock accesses (Thomas Gleixner) +- locking/ww_mutex: Abstract out mutex types (Peter Zijlstra) +- locking/ww_mutex: Abstract out mutex accessors (Peter Zijlstra) +- locking/ww_mutex: Abstract out waiter enqueueing (Peter Zijlstra) +- locking/ww_mutex: Abstract out the waiter iteration (Peter Zijlstra) +- locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Peter Zijlstra) +- locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Peter Zijlstra (Intel)) +- locking/ww_mutex: Split up ww_mutex_unlock() (Peter Zijlstra (Intel)) +- locking/ww_mutex: Gather mutex_waiter initialization (Peter Zijlstra) +- locking/ww_mutex: Simplify lockdep annotations (Peter Zijlstra) +- locking/mutex: Make mutex::wait_lock raw (Thomas Gleixner) +- locking/ww_mutex: Move the ww_mutex definitions from into (Thomas Gleixner) +- locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Thomas Gleixner) +- locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Thomas Gleixner) +- locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Peter Zijlstra) +- locking/rwlock: Provide RT variant (Thomas Gleixner) +- locking/spinlock: Provide RT variant (Thomas Gleixner) +- locking/rtmutex: Provide the spin/rwlock core lock function (Thomas Gleixner) +- locking/spinlock: Provide RT variant header: (Thomas Gleixner) +- locking/spinlock: Provide RT specific spinlock_t (Thomas Gleixner) +- locking/rtmutex: Reduce header dependencies, only include (Sebastian Andrzej Siewior) +- rbtree: Split out the rbtree type definitions into (Sebastian Andrzej Siewior) +- locking/lockdep: Reduce header dependencies in (Sebastian Andrzej Siewior) +- locking/rtmutex: Prevent future include recursion hell (Sebastian Andrzej Siewior) +- locking/spinlock: Split the lock types header, and move the raw types into (Thomas Gleixner) +- locking/rtmutex: Guard regular sleeping locks specific functions (Thomas Gleixner) +- locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Thomas Gleixner) +- locking/rtmutex: Use rt_mutex_wake_q_head (Thomas Gleixner) +- locking/rtmutex: Provide rt_wake_q_head and helpers (Thomas Gleixner) +- locking/rtmutex: Add wake_state to rt_mutex_waiter (Thomas Gleixner) +- locking/rwsem: Add rtmutex based R/W semaphore implementation (Thomas Gleixner) +- locking/rt: Add base code for RT rw_semaphore and rwlock (Thomas Gleixner) +- locking/rtmutex: Provide rt_mutex_base_is_locked() (Thomas Gleixner) +- locking/rtmutex: Provide rt_mutex_slowlock_locked() (Thomas Gleixner) +- locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Peter Zijlstra) +- locking/rtmutex: Split API from implementation (Thomas Gleixner) +- locking/rtmutex: Switch to from cmpxchg_*() to try_cmpxchg_*() (Thomas Gleixner) +- locking/rtmutex: Convert macros to inlines (Sebastian Andrzej Siewior) +- locking/rtmutex: Remove rt_mutex_is_locked() (Peter Zijlstra) +- media/atomisp: Use lockdep instead of *mutex_is_locked() (Peter Zijlstra) +- sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Thomas Gleixner) +- sched/core: Provide a scheduling point for RT locks (Thomas Gleixner) +- sched/core: Rework the __schedule() preempt argument (Thomas Gleixner) +- sched/wakeup: Prepare for RT sleeping spin/rwlocks (Thomas Gleixner) +- sched/wakeup: Reorganize the current::__state helpers (Thomas Gleixner) +- sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Thomas Gleixner) +- sched/wakeup: Split out the wakeup ->__state check (Thomas Gleixner) +- locking/rtmutex: Set proper wait context for lockdep (Thomas Gleixner) +- locking/local_lock: Add missing owner initialization (Thomas Gleixner) +- debugobjects: Make RT aware (Thomas Gleixner) +- trace: Add migrate-disabled counter to tracing output (Thomas Gleixner) +- pid.h: include atomic.h (Grygorii Strashko) +- wait.h: include atomic.h (Sebastian Andrzej Siewior) +- efi: Allow efi=runtime (Sebastian Andrzej Siewior) +- efi: Disable runtime services on RT (Sebastian Andrzej Siewior) +- net/core: disable NET_RX_BUSY_POLL on RT (Sebastian Andrzej Siewior) +- sched: Disable CONFIG_RT_GROUP_SCHED on RT (Thomas Gleixner) +- mm: Allow only SLUB on RT (Ingo Molnar) +- kconfig: Disable config options which are not RT compatible (Thomas Gleixner) +- leds: trigger: disable CPU trigger on -RT (Sebastian Andrzej Siewior) +- jump-label: disable if stop_machine() is used (Thomas Gleixner) +- genirq: Disable irqpoll on -rt (Ingo Molnar) +- io-wq: Don't mix raw_spinlock_irq() & spin_lock_irq(). (Sebastian Andrzej Siewior) +- io-wq: remove GFP_ATOMIC allocation off schedule out path (Jens Axboe) +- genirq: update irq_set_irqchip_state documentation (Josh Cartwright) +- smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq(). (Sebastian Andrzej Siewior) +- samples/kfifo: Rename read_lock/write_lock (Sebastian Andrzej Siewior) +- tcp: Remove superfluous BH-disable around listening_hash (Sebastian Andrzej Siewior) +- net: Move lockdep where it belongs (Thomas Gleixner) +- shmem: Use raw_spinlock_t for ->stat_lock (Sebastian Andrzej Siewior) +- mm: workingset: replace IRQ-off check with a lockdep assert. (Sebastian Andrzej Siewior) +- cgroup: use irqsave in cgroup_rstat_flush_locked() (Sebastian Andrzej Siewior) +- genirq: Move prio assignment into the newly created thread (Thomas Gleixner) +- kthread: Move prio/affinite change into the newly created thread (Sebastian Andrzej Siewior) +- sched: Prevent balance_push() on remote runqueues (Thomas Gleixner) +- sched: Switch wait_task_inactive to HRTIMER_MODE_REL_HARD (Sebastian Andrzej Siewior) +- highmem: Don't disable preemption on RT in kmap_atomic() (Sebastian Andrzej Siewior) +- mm, slub: convert kmem_cpu_slab protection to local_lock (Vlastimil Babka) +- mm, slub: use migrate_disable() on PREEMPT_RT (Vlastimil Babka) +- mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg (Vlastimil Babka) +- mm, slub: make slab_lock() disable irqs with PREEMPT_RT (Vlastimil Babka) +- mm, slub: optionally save/restore irqs in slab_[un]lock()/ (Vlastimil Babka) +- mm: slub: Make object_map_lock a raw_spinlock_t (Sebastian Andrzej Siewior) +- mm: slub: Move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Sebastian Andrzej Siewior) +- mm, slab: make flush_slab() possible to call with irqs enabled (Vlastimil Babka) +- mm, slub: don't disable irqs in slub_cpu_dead() (Vlastimil Babka) +- mm, slub: only disable irq with spin_lock in __unfreeze_partials() (Vlastimil Babka) +- mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing (Vlastimil Babka) +- mm, slub: detach whole partial list at once in unfreeze_partials() (Vlastimil Babka) +- mm, slub: discard slabs in unfreeze_partials() without irqs disabled (Vlastimil Babka) +- mm, slub: move irq control into unfreeze_partials() (Vlastimil Babka) +- mm, slub: call deactivate_slab() without disabling irqs (Vlastimil Babka) +- mm, slub: make locking in deactivate_slab() irq-safe (Vlastimil Babka) +- mm, slub: move reset of c->page and freelist out of deactivate_slab() (Vlastimil Babka) +- mm, slub: stop disabling irqs around get_partial() (Vlastimil Babka) +- mm, slub: check new pages with restored irqs (Vlastimil Babka) +- mm, slub: validate slab from partial list or page allocator before making it cpu slab (Vlastimil Babka) +- mm, slub: restore irqs around calling new_slab() (Vlastimil Babka) +- mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() (Vlastimil Babka) +- mm, slub: do initial checks in ___slab_alloc() with irqs enabled (Vlastimil Babka) +- mm, slub: move disabling/enabling irqs to ___slab_alloc() (Vlastimil Babka) +- mm, slub: simplify kmem_cache_cpu and tid setup (Vlastimil Babka) +- mm, slub: restructure new page checks in ___slab_alloc() (Vlastimil Babka) +- mm, slub: return slab page from get_partial() and set c->page afterwards (Vlastimil Babka) +- mm, slub: dissolve new_slab_objects() into ___slab_alloc() (Vlastimil Babka) +- mm, slub: extract get_partial() from new_slab_objects() (Vlastimil Babka) +- mm, slub: unify cmpxchg_double_slab() and __cmpxchg_double_slab() (Vlastimil Babka) +- mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() (Vlastimil Babka) +- mm, slub: don't disable irq for debug_check_no_locks_freed() (Vlastimil Babka) +- mm, slub: allocate private object map for validate_slab_cache() (Vlastimil Babka) +- mm, slub: allocate private object map for debugfs listings (Vlastimil Babka) +- mm, slub: don't call flush_all() from slab_debug_trace_open() (Vlastimil Babka) +- printk: Enhance the condition check of msleep in pr_flush() (Chao Qin) +- printk: add pr_flush() (John Ogness) +- printk: add console handover (John Ogness) +- printk: remove deferred printing (John Ogness) +- printk: move console printing to kthreads (John Ogness) +- printk: introduce kernel sync mode (John Ogness) +- printk: use seqcount_latch for console_seq (John Ogness) +- printk: call boot_delay_msec() in printk_delay() (John Ogness) +- printk: relocate printk_delay() (John Ogness) +- serial: 8250: implement write_atomic (John Ogness) +- kdb: only use atomic consoles for output mirroring (John Ogness) +- console: add write_atomic interface (John Ogness) +- printk: rename printk cpulock API and always disable interrupts (John Ogness) +- printk: syslog: close window between wait and read (John Ogness) +- printk: convert @syslog_lock to mutex (John Ogness) +- printk: remove NMI tracking (John Ogness) +- printk: remove safe buffers (John Ogness) +- printk: track/limit recursion (John Ogness) +- lib/nmi_backtrace: explicitly serialize banner and regs (John Ogness) +- printk/console: Check consistent sequence number when handling race in console_unlock() (Petr Mladek) +- arm64: mm: Make arch_faults_on_old_pte() check for migratability (Valentin Schneider) +- rcu/nocb: Protect NOCB state via local_lock() under PREEMPT_RT (Valentin Schneider) +- sched: Introduce migratable() (Valentin Schneider) +- eventfd: Make signal recursion protection a task bit (Thomas Gleixner) +- notifier: Remove atomic_notifier_call_chain_robust() (Valentin Schneider) +- cpu_pm: Make notifier chain use a raw_spinlock_t (Valentin Schneider) +- redhat: drop Patchlist.changelog for RHEL (Jan Stancek) [1997494] +- redhat: update Makefile.variables for centos/rhel9 fork (Herton R. Krzesinski) +- redhat: add support for stream profile in koji/brew (Herton R. Krzesinski) +- redhat: make DIST default to .el9 (Herton R. Krzesinski) +- redhat: set default values in Makefiles for RHEL 9 Beta (Jan Stancek) [1997494] +- arm64: use common CONFIG_MAX_ZONEORDER for arm kernel (Mark Salter) +- Create Makefile.variables for a single point of configuration change (Justin M. Forbes) +- rpmspec: drop traceevent files instead of just excluding them from files list (Herton R. Krzesinski) [1967640] +- redhat/config: Enablement of CONFIG_PAPR_SCM for PowerPC (Gustavo Walbon) [1962936] +- Attempt to fix Intel PMT code (David Arcari) +- CI: Enable realtime branch testing (Veronika Kabatova) +- CI: Enable realtime checks for c9s and RHEL9 (Veronika Kabatova) +- [fs] dax: mark tech preview (Bill O'Donnell) +- ark: wireless: enable all rtw88 pcie wirless variants (Peter Robinson) +- wireless: rtw88: move debug options to common/debug (Peter Robinson) +- fedora: minor PTP clock driver cleanups (Peter Robinson) +- common: x86: enable VMware PTP support on ark (Peter Robinson) +- arm64: dts: rockchip: Disable CDN DP on Pinebook Pro (Matthias Brugger) +- arm64: dts: rockchip: Setup USB typec port as datarole on (Dan Johansen) +- [scsi] megaraid_sas: re-add certain pci-ids (Tomas Henzl) +- xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [1995321] +- Disable liquidio driver on ark/rhel (Herton R. Krzesinski) [1993393] +- More Fedora config updates (Justin M. Forbes) +- Fedora config updates for 5.14 (Justin M. Forbes) +- CI: Rename ARK CI pipeline type (Veronika Kabatova) +- CI: Finish up c9s config (Veronika Kabatova) +- CI: Update ppc64le config (Veronika Kabatova) +- CI: use more templates (Veronika Kabatova) +- Filter updates for aarch64 (Justin M. Forbes) +- increase CONFIG_NODES_SHIFT for aarch64 (Chris von Recklinghausen) [1890304] +- redhat: configs: Enable CONFIG_WIRELESS_HOTKEY (Hans de Goede) +- redhat/configs: Update CONFIG_NVRAM (Desnes A. Nunes do Rosario) [1988254] +- common: serial: build in SERIAL_8250_LPSS for x86 (Peter Robinson) +- powerpc: enable CONFIG_FUNCTION_PROFILER (Diego Domingos) [1831065] +- crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) +- random: Add hook to override device reads and getrandom(2) (Herbert Xu) +- redhat/configs: Disable Soft-RoCE driver (Kamal Heib) +- redhat/configs/evaluate_configs: Update help output (Prarit Bhargava) +- redhat/configs: Double MAX_LOCKDEP_CHAINS (Justin M. Forbes) +- fedora: configs: Fix WM5102 Kconfig (Hans de Goede) +- powerpc: enable CONFIG_POWER9_CPU (Diego Domingos) [1876436] +- redhat/configs: Fix CONFIG_VIRTIO_IOMMU to 'y' on aarch64 (Eric Auger) [1972795] +- filter-modules.sh: add more sound modules to filter (Jaroslav Kysela) +- redhat/configs: sound configuration cleanups and updates (Jaroslav Kysela) +- common: Update for CXL (Compute Express Link) configs (Peter Robinson) +- redhat: configs: disable CRYPTO_SM modules (Herton R. Krzesinski) [1990040] +- Remove fedora version of the LOCKDEP_BITS, we should use common (Justin M. Forbes) +- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) +- Fedora 5.14 configs round 1 (Justin M. Forbes) +- redhat: add gating configuration for centos stream/rhel9 (Herton R. Krzesinski) +- x86: configs: Enable CONFIG_TEST_FPU for debug kernels (Vitaly Kuznetsov) [1988384] +- redhat/configs: Move CHACHA and POLY1305 to core kernel to allow BIG_KEYS=y (root) [1983298] +- kernel.spec: fix build of samples/bpf (Jiri Benc) +- Enable OSNOISE_TRACER and TIMERLAT_TRACER (Jerome Marchand) [1979379] +- rpmspec: switch iio and gpio tools to use tools_make (Herton R. Krzesinski) [1956988] +- configs/process_configs.sh: Handle config items with no help text (Patrick Talbert) +- fedora: sound config updates for 5.14 (Peter Robinson) +- fedora: Only enable FSI drivers on POWER platform (Peter Robinson) +- The CONFIG_RAW_DRIVER has been removed from upstream (Peter Robinson) +- fedora: updates for 5.14 with a few disables for common from pending (Peter Robinson) +- fedora: migrate from MFD_TPS68470 -> INTEL_SKL_INT3472 (Peter Robinson) +- fedora: Remove STAGING_GASKET_FRAMEWORK (Peter Robinson) +- Fedora: move DRM_VMWGFX configs from ark -> common (Peter Robinson) +- fedora: arm: disabled unused FB drivers (Peter Robinson) +- fedora: don't enable FB_VIRTUAL (Peter Robinson) +- redhat/configs: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1940075] +- rpmspec: fix verbose output on kernel-devel installation (Herton R. Krzesinski) [1981406] +- Build Fedora x86s kernels with bytcr-wm5102 (Marius Hoch) +- Deleted redhat/configs/fedora/generic/x86/CONFIG_FB_HYPERV (Patrick Lang) +- rpmspec: correct the ghost initramfs attributes (Herton R. Krzesinski) [1977056] +- rpmspec: amend removal of depmod created files to include modules.builtin.alias.bin (Herton R. Krzesinski) [1977056] +- configs: remove duplicate CONFIG_DRM_HYPERV file (Patrick Talbert) +- CI: use common code for merge and release (Don Zickus) +- rpmspec: add release string to kernel doc directory name (Jan Stancek) +- redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_MFD_INTEL_PMT (Michael Petlan) [1880486] +- redhat/configs: enable CONFIG_BLK_DEV_ZONED (Ming Lei) [1638087] +- Add --with clang_lto option to build the kernel with Link Time Optimizations (Tom Stellard) +- common: disable DVB_AV7110 and associated pieces (Peter Robinson) +- Fix fedora-only config updates (Don Zickus) +- Fedor config update for new option (Justin M. Forbes) +- redhat/configs: Enable stmmac NIC for x86_64 (Mark Salter) +- all: hyperv: use the DRM driver rather than FB (Peter Robinson) +- all: hyperv: unify the Microsoft HyperV configs (Peter Robinson) +- all: VMWare: clean up VMWare configs (Peter Robinson) +- Update CONFIG_ARM_FFA_TRANSPORT (Patrick Talbert) +- CI: Handle all mirrors (Veronika Kabatova) +- Turn on CONFIG_STACKTRACE for s390x zfpcdump kernels (Justin M. Forbes) +- arm64: switch ark kernel to 4K pagesize (Mark Salter) +- Disable AMIGA_PARTITION and KARMA_PARTITION (Prarit Bhargava) [1802694] +- all: unify and cleanup i2c TPM2 modules (Peter Robinson) +- redhat/configs: Set CONFIG_VIRTIO_IOMMU on aarch64 (Eric Auger) [1972795] +- redhat/configs: Disable CONFIG_RT_GROUP_SCHED in rhel config (Phil Auld) +- redhat/configs: enable KEXEC_SIG which is already enabled in RHEL8 for s390x and x86_64 (Coiby Xu) [1976835] +- rpmspec: do not BuildRequires bpftool on noarch (Herton R. Krzesinski) +- redhat/configs: disable {IMA,EVM}_LOAD_X509 (Bruno Meneguele) [1977529] +- redhat: add secureboot CA certificate to trusted kernel keyring (Bruno Meneguele) +- redhat/configs: enable IMA_ARCH_POLICY for aarch64 and s390x (Bruno Meneguele) +- redhat/configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1858599] +- common: enable STRICT_MODULE_RWX everywhere (Peter Robinson) +- COMMON_CLK_STM32MP157_SCMI is bool and selects COMMON_CLK_SCMI (Justin M. Forbes) +- kernel.spec: Add kernel{,-debug}-devel-matched meta packages (Timothée Ravier) +- Turn off with_selftests for Fedora (Justin M. Forbes) +- Don't build bpftool on Fedora (Justin M. Forbes) +- Fix location of syscall scripts for kernel-devel (Justin M. Forbes) +- fedora: arm: Enable some i.MX8 options (Peter Robinson) +- Enable Landlock for Fedora (Justin M. Forbes) +- Filter update for Fedora aarch64 (Justin M. Forbes) +- rpmspec: only build debug meta packages where we build debug ones (Herton R. Krzesinski) +- rpmspec: do not BuildRequires bpftool on nobuildarches (Herton R. Krzesinski) +- redhat/configs: Consolidate CONFIG_HMC_DRV in the common s390x folder (Thomas Huth) [1976270] +- redhat/configs: Consolidate CONFIG_EXPOLINE_OFF in the common folder (Thomas Huth) [1976270] +- redhat/configs: Move CONFIG_HW_RANDOM_S390 into the s390x/ subfolder (Thomas Huth) [1976270] +- redhat/configs: Disable CONFIG_HOTPLUG_PCI_SHPC in the Fedora settings (Thomas Huth) [1976270] +- redhat/configs: Remove the non-existent CONFIG_NO_BOOTMEM switch (Thomas Huth) [1976270] +- redhat/configs: Compile the virtio-console as a module on s390x (Thomas Huth) [1976270] +- redhat/configs: Enable CONFIG_S390_CCW_IOMMU and CONFIG_VFIO_CCW for ARK, too (Thomas Huth) [1976270] +- Revert "Merge branch 'ec_fips' into 'os-build'" (Vladis Dronov) [1947240] +- Fix typos in fedora filters (Justin M. Forbes) +- More filtering for Fedora (Justin M. Forbes) +- Fix Fedora module filtering for spi-altera-dfl (Justin M. Forbes) +- Fedora 5.13 config updates (Justin M. Forbes) +- fedora: cleanup TCG_TIS_I2C_CR50 (Peter Robinson) +- fedora: drop duplicate configs (Peter Robinson) +- More Fedora config updates for 5.13 (Justin M. Forbes) +- redhat/configs: Enable needed drivers for BlueField SoC on aarch64 (Alaa Hleihel) [1858592 1858594 1858596] +- redhat: Rename mod-blacklist.sh to mod-denylist.sh (Prarit Bhargava) +- redhat/configs: enable CONFIG_NET_ACT_MPLS (Marcelo Ricardo Leitner) +- configs: Enable CONFIG_DEBUG_KERNEL for zfcpdump (Jiri Olsa) +- kernel.spec: Add support to use vmlinux.h (Don Zickus) +- spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) +- Turn off DRM_XEN_FRONTEND for Fedora as we had DRM_XEN off already (Justin M. Forbes) +- Fedora 5.13 config updates pt 3 (Justin M. Forbes) +- all: enable ath11k wireless modules (Peter Robinson) +- all: Enable WWAN and associated MHI bus pieces (Peter Robinson) +- spec: Enable sefltests rpm build (Jiri Olsa) +- spec: Allow bpf selftest/samples to fail (Jiri Olsa) +- bpf, selftests: Disable tests that need clang13 (Toke Høiland-Jørgensen) +- kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Jiri Benc) +- kernel.spec: Add missing source files to kernel-selftests-internal (Jiri Benc) +- kernel.spec: selftests: add net/forwarding to TARGETS list (Jiri Benc) +- kernel.spec: selftests: add build requirement on libmnl-devel (Jiri Benc) +- kernel.spec: add action.o to kernel-selftests-internal (Jiri Benc) +- kernel.spec: avoid building bpftool repeatedly (Jiri Benc) +- kernel.spec: selftests require python3 (Jiri Benc) +- kernel.spec: skip selftests that failed to build (Jiri Benc) +- kernel.spec: fix installation of bpf selftests (Jiri Benc) +- redhat: fix samples and selftests make options (Jiri Benc) +- kernel.spec: enable mptcp selftests for kernel-selftests-internal (Jiri Benc) +- kernel.spec: Do not export shared objects from libexecdir to RPM Provides (Jiri Benc) +- kernel.spec: add missing dependency for the which package (Jiri Benc) +- kernel.spec: add netfilter selftests to kernel-selftests-internal (Jiri Benc) +- kernel.spec: move slabinfo and page_owner_sort debuginfo to tools-debuginfo (Jiri Benc) +- kernel.spec: package and ship VM tools (Jiri Benc) +- configs: enable CONFIG_PAGE_OWNER (Jiri Benc) +- kernel.spec: add coreutils (Jiri Benc) +- kernel.spec: add netdevsim driver selftests to kernel-selftests-internal (Jiri Benc) +- redhat/Makefile: Clean out the --without flags from the baseonly rule (Jiri Benc) +- kernel.spec: Stop building unnecessary rpms for baseonly builds (Jiri Benc) +- kernel.spec: disable more kabi switches for gcov build (Jiri Benc) +- kernel.spec: Rename kabi-dw base (Jiri Benc) +- kernel.spec: Fix error messages during build of zfcpdump kernel (Jiri Benc) +- kernel.spec: perf: remove bpf examples (Jiri Benc) +- kernel.spec: selftests should not depend on modules-internal (Jiri Benc) +- kernel.spec: build samples (Jiri Benc) +- kernel.spec: tools: sync missing options with RHEL 8 (Jiri Benc) +- redhat/configs: nftables: Enable extra flowtable symbols (Phil Sutter) +- redhat/configs: Sync netfilter options with RHEL8 (Phil Sutter) +- Fedora 5.13 config updates pt 2 (Justin M. Forbes) +- Move CONFIG_ARCH_INTEL_SOCFPGA up a level for Fedora (Justin M. Forbes) +- fedora: enable the Rockchip rk3399 pcie drivers (Peter Robinson) +- Fedora 5.13 config updates pt 1 (Justin M. Forbes) +- Fix version requirement from opencsd-devel buildreq (Justin M. Forbes) +- configs/ark/s390: set CONFIG_MARCH_Z14 and CONFIG_TUNE_Z15 (Philipp Rudo) [1876435] +- configs/common/s390: Clean up CONFIG_{MARCH,TUNE}_Z* (Philipp Rudo) +- configs/process_configs.sh: make use of dummy-tools (Philipp Rudo) +- configs/common: disable CONFIG_INIT_STACK_ALL_{PATTERN,ZERO} (Philipp Rudo) +- configs/common/aarch64: disable CONFIG_RELR (Philipp Rudo) +- redhat/config: enable STMICRO nic for RHEL (Mark Salter) +- redhat/configs: Enable ARCH_TEGRA on RHEL (Mark Salter) +- redhat/configs: enable IMA_KEXEC for supported arches (Bruno Meneguele) +- redhat/configs: enable INTEGRITY_SIGNATURE to all arches (Bruno Meneguele) +- configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) +- RHEL: disable io_uring support (Jeff Moyer) +- all: Changing CONFIG_UV_SYSFS to build uv_sysfs.ko as a loadable module. (Frank Ramsay) +- Enable NITRO_ENCLAVES on RHEL (Vitaly Kuznetsov) +- Update the Quick Start documentation (David Ward) +- redhat/configs: Set PVPANIC_MMIO for x86 and PVPANIC_PCI for aarch64 (Eric Auger) [1961178] +- bpf: Fix unprivileged_bpf_disabled setup (Jiri Olsa) +- Enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Jiri Olsa) +- configs/common/s390: disable CONFIG_QETH_{OSN,OSX} (Philipp Rudo) [1903201] +- nvme: nvme_mpath_init remove multipath check (Mike Snitzer) +- team: mark team driver as deprecated (Hangbin Liu) [1945477] +- Make CRYPTO_EC also builtin (Simo Sorce) [1947240] +- Do not hard-code a default value for DIST (David Ward) +- Override %%{debugbuildsenabled} if the --with-release option is used (David Ward) +- Improve comments in SPEC file, and move some option tests and macros (David Ward) +- configs: enable CONFIG_EXFAT_FS (Pavel Reichl) [1943423] +- Revert s390x/zfcpdump part of a9d179c40281 and ecbfddd98621 (Vladis Dronov) +- Embed crypto algos, modes and templates needed in the FIPS mode (Vladis Dronov) [1947240] +- configs: Add and enable CONFIG_HYPERV_TESTING for debug kernels (Mohammed Gamal) +- mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos (David Hildenbrand) [1945002] +- configs: enable CONFIG_CMA on x86_64 in ARK (David Hildenbrand) [1945002] +- rpmspec: build debug-* meta-packages if debug builds are disabled (Herton R. Krzesinski) +- UIO: disable unused config options (Aristeu Rozanski) [1957819] +- ARK-config: Make amd_pinctrl module builtin (Hans de Goede) +- rpmspec: revert/drop content hash for kernel-headers (Herton R. Krzesinski) +- rpmspec: fix check that calls InitBuildVars (Herton R. Krzesinski) +- fedora: enable zonefs (Damien Le Moal) +- redhat: load specific ARCH keys to INTEGRITY_PLATFORM_KEYRING (Bruno Meneguele) +- redhat: enable INTEGRITY_TRUSTED_KEYRING across all variants (Bruno Meneguele) +- redhat: enable SYSTEM_BLACKLIST_KEYRING across all variants (Bruno Meneguele) +- redhat: enable INTEGRITY_ASYMMETRIC_KEYS across all variants (Bruno Meneguele) +- Remove unused boot loader specification files (David Ward) +- redhat/configs: Enable mlx5 IPsec and TLS offloads (Alaa Hleihel) [1869674 1957636] +- Force DWARF4 because crash does not support DWARF5 yet (Justin M. Forbes) +- common: disable Apple Silicon generally (Peter Robinson) +- cleanup Intel's FPGA configs (Peter Robinson) +- common: move PTP KVM support from ark to common (Peter Robinson) +- Enable CONFIG_DRM_AMDGPU_USERPTR for everyone (Justin M. Forbes) +- redhat: add initial rpminspect configuration (Herton R. Krzesinski) +- fedora: arm updates for 5.13 (Peter Robinson) +- fedora: Enable WWAN and associated MHI bits (Peter Robinson) +- Update CONFIG_MODPROBE_PATH to /usr/sbin (Justin Forbes) +- Fedora set modprobe path (Justin M. Forbes) +- Keep sctp and l2tp modules in modules-extra (Don Zickus) +- Fix ppc64le cross build packaging (Don Zickus) +- Fedora: Make amd_pinctrl module builtin (Hans de Goede) +- Keep CONFIG_KASAN_HW_TAGS off for aarch64 debug configs (Justin M. Forbes) +- New configs in drivers/bus (Fedora Kernel Team) +- RHEL: Don't build KVM PR module on ppc64 (David Gibson) [1930649] +- Flip CONFIG_USB_ROLE_SWITCH from m to y (Justin M. Forbes) +- Set valid options for CONFIG_FW_LOADER_USER_HELPER (Justin M. Forbes) +- Clean up CONFIG_FB_MODE_HELPERS (Justin M. Forbes) +- Turn off CONFIG_VFIO for the s390x zfcpdump kernel (Justin M. Forbes) +- Delete unused CONFIG_SND_SOC_MAX98390 pending-common (Justin M. Forbes) +- Update pending-common configs, preparing to set correctly (Justin M. Forbes) +- Update fedora filters for surface (Justin M. Forbes) +- Build CONFIG_CRYPTO_ECDSA inline for s390x zfcpdump (Justin M. Forbes) +- Replace "flavour" where "variant" is meant instead (David Ward) +- Drop the %%{variant} macro and fix --with-vanilla (David Ward) +- Fix syntax of %%kernel_variant_files (David Ward) +- Change description of --without-vdso-install to fix typo (David Ward) +- Config updates to work around mismatches (Justin M. Forbes) +- CONFIG_SND_SOC_FSL_ASOC_CARD selects CONFIG_MFD_WM8994 now (Justin M. Forbes) +- wireguard: disable in FIPS mode (Hangbin Liu) [1940794] +- Enable mtdram for fedora (rhbz 1955916) (Justin M. Forbes) +- Remove reference to bpf-helpers man page (Justin M. Forbes) +- Fedora: enable more modules for surface devices (Dave Olsthoorn) +- Fix Fedora config mismatch for CONFIG_FSL_ENETC_IERB (Justin M. Forbes) +- hardlink is in /usr/bin/ now (Justin M. Forbes) +- Ensure CONFIG_KVM_BOOK3S_64_PR stays on in Fedora, even if it is turned off in RHEL (Justin M. Forbes) +- Set date in package release from repository commit, not system clock (David Ward) +- Use a better upstream tarball filename for snapshots (David Ward) +- Don't create empty pending-common files on pending-fedora commits (Don Zickus) +- nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) +- nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT (Mike Snitzer) +- nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) +- Add redhat/configs/pending-common/generic/s390x/zfcpdump/CONFIG_NETFS_SUPPORT (Justin M. Forbes) +- Create ark-latest branch last for CI scripts (Don Zickus) +- Replace /usr/libexec/platform-python with /usr/bin/python3 (David Ward) +- Turn off ADI_AXI_ADC and AD9467 which now require CONFIG_OF (Justin M. Forbes) +- Export ark infrastructure files (Don Zickus) +- docs: Update docs to reflect newer workflow. (Don Zickus) +- Use upstream/master for merge-base with fallback to master (Don Zickus) +- Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede) +- filter-modules.sh.fedora: clean up "netprots" (Paul Bolle) +- filter-modules.sh.fedora: clean up "scsidrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "ethdrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "driverdirs" (Paul Bolle) +- filter-*.sh.fedora: remove incorrect entries (Paul Bolle) +- filter-*.sh.fedora: clean up "singlemods" (Paul Bolle) +- filter-modules.sh.fedora: drop unused list "iiodrvs" (Paul Bolle) +- Update mod-internal to fix depmod issue (Nico Pache) +- Turn on CONFIG_VDPA_SIM_NET (rhbz 1942343) (Justin M. Forbes) +- New configs in drivers/power (Fedora Kernel Team) +- Turn on CONFIG_NOUVEAU_DEBUG_PUSH for debug configs (Justin M. Forbes) +- Turn off KFENCE sampling by default for Fedora (Justin M. Forbes) +- Fedora config updates round 2 (Justin M. Forbes) +- New configs in drivers/soc (Jeremy Cline) +- filter-modules.sh: Fix copy/paste error 'input' (Paul Bolle) +- Update module filtering for 5.12 kernels (Justin M. Forbes) +- Fix genlog.py to ensure that comments retain "%%" characters. (Mark Mielke) +- New configs in drivers/leds (Fedora Kernel Team) +- Limit CONFIG_USB_CDNS_SUPPORT to x86_64 and arm in Fedora (David Ward) +- Fedora: Enable CHARGER_GPIO on aarch64 too (Peter Robinson) +- Fedora config updates (Justin M. Forbes) +- wireguard: mark as Tech Preview (Hangbin Liu) [1613522] +- configs: enable CONFIG_WIREGUARD in ARK (Hangbin Liu) [1613522] +- Remove duplicate configs acroos fedora, ark and common (Don Zickus) +- Combine duplicate configs across ark and fedora into common (Don Zickus) +- common/ark: cleanup and unify the parport configs (Peter Robinson) +- iommu/vt-d: enable INTEL_IDXD_SVM for both fedora and rhel (Jerry Snitselaar) +- REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 (Jeremy Linton) +- configs/common/generic: disable CONFIG_SLAB_MERGE_DEFAULT (Rafael Aquini) +- Remove _legacy_common_support (Justin M. Forbes) +- redhat/mod-blacklist.sh: Fix floppy blacklisting (Hans de Goede) +- New configs in fs/pstore (CKI@GitLab) +- New configs in arch/powerpc (Fedora Kernel Team) +- configs: enable BPF LSM on Fedora and ARK (Ondrej Mosnacek) +- configs: clean up LSM configs (Ondrej Mosnacek) +- New configs in drivers/platform (CKI@GitLab) +- New configs in drivers/firmware (CKI@GitLab) +- New configs in drivers/mailbox (Fedora Kernel Team) +- New configs in drivers/net/phy (Justin M. Forbes) +- Update CONFIG_DM_MULTIPATH_IOA (Augusto Caringi) +- New configs in mm/Kconfig (CKI@GitLab) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in drivers/input (Fedora Kernel Team) +- New configs in net/bluetooth (Justin M. Forbes) +- New configs in drivers/clk (Fedora Kernel Team) +- New configs in init/Kconfig (Jeremy Cline) +- redhat: allow running fedora-configs and rh-configs targets outside of redhat/ (Herton R. Krzesinski) +- all: unify the disable of goldfish (android emulation platform) (Peter Robinson) +- common: minor cleanup/de-dupe of dma/dmabuf debug configs (Peter Robinson) +- common/ark: these drivers/arches were removed in 5.12 (Peter Robinson) +- Correct kernel-devel make prepare build for 5.12. (Paulo E. Castro) +- redhat: add initial support for centos stream dist-git sync on Makefiles (Herton R. Krzesinski) +- redhat/configs: Enable CONFIG_SCHED_STACK_END_CHECK for Fedora and ARK (Josh Poimboeuf) [1856174] +- CONFIG_VFIO now selects IOMMU_API instead of depending on it, causing several config mismatches for the zfcpdump kernel (Justin M. Forbes) +- Turn off weak-modules for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_FW_LOADER_COMPRESS for ARK (Herton R. Krzesinski) [1939095] +- Fedora: filters: update to move dfl-emif to modules (Peter Robinson) +- drop duplicate DEVFREQ_GOV_SIMPLE_ONDEMAND config (Peter Robinson) +- efi: The EFI_VARS is legacy and now x86 only (Peter Robinson) +- common: enable RTC_SYSTOHC to supplement update_persistent_clock64 (Peter Robinson) +- generic: arm: enable SCMI for all options (Peter Robinson) +- fedora: the PCH_CAN driver is x86-32 only (Peter Robinson) +- common: disable legacy CAN device support (Peter Robinson) +- common: Enable Microchip MCP251x/MCP251xFD CAN controllers (Peter Robinson) +- common: Bosch MCAN support for Intel Elkhart Lake (Peter Robinson) +- common: enable CAN_PEAK_PCIEFD PCI-E driver (Peter Robinson) +- common: disable CAN_PEAK_PCIEC PCAN-ExpressCard (Peter Robinson) +- common: enable common CAN layer 2 protocols (Peter Robinson) +- ark: disable CAN_LEDS option (Peter Robinson) +- Fedora: Turn on SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC option (Hans de Goede) +- Fedora: enable modules for surface devices (Dave Olsthoorn) +- Turn on SND_SOC_INTEL_SOUNDWIRE_SOF_MACH for Fedora again (Justin M. Forbes) +- common: fix WM8804 codec dependencies (Peter Robinson) +- Build SERIO_SERPORT as a module (Peter Robinson) +- input: touchscreen: move ELO and Wacom serial touchscreens to x86 (Peter Robinson) +- Sync serio touchscreens for non x86 architectures to the same as ARK (Peter Robinson) +- Only enable SERIO_LIBPS2 on x86 (Peter Robinson) +- Only enable PC keyboard controller and associated keyboard on x86 (Peter Robinson) +- Generic: Mouse: Tweak generic serial mouse options (Peter Robinson) +- Only enable PS2 Mouse options on x86 (Peter Robinson) +- Disable bluetooth highspeed by default (Peter Robinson) +- Fedora: A few more general updates for 5.12 window (Peter Robinson) +- Fedora: Updates for 5.12 merge window (Peter Robinson) +- Fedora: remove dead options that were removed upstream (Peter Robinson) +- redhat: remove CONFIG_DRM_PANEL_XINGBANGDA_XBD599 (Herton R. Krzesinski) +- New configs in arch/powerpc (Fedora Kernel Team) +- Turn on CONFIG_PPC_QUEUED_SPINLOCKS as it is default upstream now (Justin M. Forbes) +- Update pending-common configs to address new upstream config deps (Justin M. Forbes) +- rpmspec: ship gpio-watch.debug in the proper debuginfo package (Herton R. Krzesinski) +- Removed description text as a comment confuses the config generation (Justin M. Forbes) +- New configs in drivers/dma-buf (Jeremy Cline) +- Fedora: ARMv7: build for 16 CPUs. (Peter Robinson) +- Fedora: only enable DEBUG_HIGHMEM on debug kernels (Peter Robinson) +- process_configs.sh: fix find/xargs data flow (Ondrej Mosnacek) +- Fedora config update (Justin M. Forbes) +- fedora: minor arm sound config updates (Peter Robinson) +- Fix trailing white space in redhat/configs/fedora/generic/CONFIG_SND_INTEL_BYT_PREFER_SOF (Justin M. Forbes) +- Add a redhat/rebase-notes.txt file (Hans de Goede) +- Turn on SND_INTEL_BYT_PREFER_SOF for Fedora (Hans de Goede) +- CI: Drop MR ID from the name variable (Veronika Kabatova) +- redhat: add DUP and kpatch certificates to system trusted keys for RHEL build (Herton R. Krzesinski) +- The comments in CONFIG_USB_RTL8153_ECM actually turn off CONFIG_USB_RTL8152 (Justin M. Forbes) +- Update CKI pipeline project (Veronika Kabatova) +- Turn off additional KASAN options for Fedora (Justin M. Forbes) +- Rename the master branch to rawhide for Fedora (Justin M. Forbes) +- Makefile targets for packit integration (Ben Crocker) +- Turn off KASAN for rawhide debug builds (Justin M. Forbes) +- New configs in arch/arm64 (Justin Forbes) +- Remove deprecated Intel MIC config options (Peter Robinson) +- redhat: replace inline awk script with genlog.py call (Herton R. Krzesinski) +- redhat: add genlog.py script (Herton R. Krzesinski) +- kernel.spec.template - fix use_vdso usage (Ben Crocker) +- redhat: remove remaining references of CONFIG_RH_DISABLE_DEPRECATED (Herton R. Krzesinski) +- Turn off vdso_install for ppc (Justin M. Forbes) +- Remove bpf-helpers.7 from bpftool package (Jiri Olsa) +- New configs in lib/Kconfig.debug (Fedora Kernel Team) +- Turn off CONFIG_VIRTIO_CONSOLE for s390x zfcpdump (Justin M. Forbes) +- New configs in drivers/clk (Justin M. Forbes) +- Keep VIRTIO_CONSOLE on s390x available. (Jakub Čajka) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- Fedora 5.11 config updates part 4 (Justin M. Forbes) +- Fedora 5.11 config updates part 3 (Justin M. Forbes) +- Fedora 5.11 config updates part 2 (Justin M. Forbes) +- Update internal (test) module list from RHEL-8 (Joe Lawrence) [1915073] +- Fix USB_XHCI_PCI regression (Justin M. Forbes) +- fedora: fixes for ARMv7 build issue by disabling HIGHPTE (Peter Robinson) +- all: s390x: Increase CONFIG_PCI_NR_FUNCTIONS to 512 (#1888735) (Dan Horák) +- Fedora 5.11 configs pt 1 (Justin M. Forbes) +- redhat: avoid conflict with mod-blacklist.sh and released_kernel defined (Herton R. Krzesinski) +- redhat: handle certificate files conditionally as done for src.rpm (Herton R. Krzesinski) +- specfile: add %%{?_smp_mflags} to "make headers_install" in tools/testing/selftests (Denys Vlasenko) +- specfile: add %%{?_smp_mflags} to "make samples/bpf/" (Denys Vlasenko) +- Run MR testing in CKI pipeline (Veronika Kabatova) +- Reword comment (Nicolas Chauvet) +- Add with_cross_arm conditional (Nicolas Chauvet) +- Redefines __strip if with_cross (Nicolas Chauvet) +- fedora: only enable ACPI_CONFIGFS, ACPI_CUSTOM_METHOD in debug kernels (Peter Robinson) +- fedora: User the same EFI_CUSTOM_SSDT_OVERLAYS as ARK (Peter Robinson) +- all: all arches/kernels enable the same DMI options (Peter Robinson) +- all: move SENSORS_ACPI_POWER to common/generic (Peter Robinson) +- fedora: PCIE_HISI_ERR is already in common (Peter Robinson) +- all: all ACPI platforms enable ATA_ACPI so move it to common (Peter Robinson) +- all: x86: move shared x86 acpi config options to generic (Peter Robinson) +- All: x86: Move ACPI_VIDEO to common/x86 (Peter Robinson) +- All: x86: Enable ACPI_DPTF (Intel DPTF) (Peter Robinson) +- All: enable ACPI_BGRT for all ACPI platforms. (Peter Robinson) +- All: Only build ACPI_EC_DEBUGFS for debug kernels (Peter Robinson) +- All: Disable Intel Classmate PC ACPI_CMPC option (Peter Robinson) +- cleanup: ACPI_PROCFS_POWER was removed upstream (Peter Robinson) +- All: ACPI: De-dupe the ACPI options that are the same across ark/fedora on x86/arm (Peter Robinson) +- Enable the vkms module in Fedora (Jeremy Cline) +- Fedora: arm updates for 5.11 and general cross Fedora cleanups (Peter Robinson) +- Add gcc-c++ to BuildRequires (Justin M. Forbes) +- Update CONFIG_KASAN_HW_TAGS (Justin M. Forbes) +- fedora: arm: move generic power off/reset to all arm (Peter Robinson) +- fedora: ARMv7: build in DEVFREQ_GOV_SIMPLE_ONDEMAND until I work out why it's changed (Peter Robinson) +- fedora: cleanup joystick_adc (Peter Robinson) +- fedora: update some display options (Peter Robinson) +- fedora: arm: enable TI PRU options (Peter Robinson) +- fedora: arm: minor exynos plaform updates (Peter Robinson) +- arm: SoC: disable Toshiba Visconti SoC (Peter Robinson) +- common: disable ARCH_BCM4908 (NFC) (Peter Robinson) +- fedora: minor arm config updates (Peter Robinson) +- fedora: enable Tegra 234 SoC (Peter Robinson) +- fedora: arm: enable new Hikey 3xx options (Peter Robinson) +- Fedora: USB updates (Peter Robinson) +- fedora: enable the GNSS receiver subsystem (Peter Robinson) +- Remove POWER_AVS as no longer upstream (Peter Robinson) +- Cleanup RESET_RASPBERRYPI (Peter Robinson) +- Cleanup GPIO_CDEV_V1 options. (Peter Robinson) +- fedora: arm crypto updates (Peter Robinson) +- CONFIG_KASAN_HW_TAGS for aarch64 (Justin M. Forbes) +- Fedora: cleanup PCMCIA configs, move to x86 (Peter Robinson) +- New configs in drivers/rtc (Fedora Kernel Team) +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGINS on ARK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_KASAN on Fedora (Josh Poimboeuf) [1856176] +- New configs in init/Kconfig (Fedora Kernel Team) +- build_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- genspec.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- mod-blacklist.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Enable Speakup accessibility driver (Justin M. Forbes) +- New configs in init/Kconfig (Fedora Kernel Team) +- Fix fedora config mismatch due to dep changes (Justin M. Forbes) +- New configs in drivers/crypto (Jeremy Cline) +- Remove duplicate ENERGY_MODEL configs (Peter Robinson) +- This is selected by PCIE_QCOM so must match (Justin M. Forbes) +- drop unused BACKLIGHT_GENERIC (Peter Robinson) +- Remove cp instruction already handled in instruction below. (Paulo E. Castro) +- Add all the dependencies gleaned from running `make prepare` on a bloated devel kernel. (Paulo E. Castro) +- Add tools to path mangling script. (Paulo E. Castro) +- Remove duplicate cp statement which is also not specific to x86. (Paulo E. Castro) +- Correct orc_types failure whilst running `make prepare` https://bugzilla.redhat.com/show_bug.cgi?id=1882854 (Paulo E. Castro) +- redhat: ark: enable CONFIG_IKHEADERS (Jiri Olsa) +- Add missing '$' sign to (GIT) in redhat/Makefile (Augusto Caringi) +- Remove filterdiff and use native git instead (Don Zickus) +- New configs in net/sched (Justin M. Forbes) +- New configs in drivers/mfd (CKI@GitLab) +- New configs in drivers/mfd (Fedora Kernel Team) +- New configs in drivers/firmware (Fedora Kernel Team) +- Temporarily backout parallel xz script (Justin M. Forbes) +- redhat: explicitly disable CONFIG_IMA_APPRAISE_SIGNED_INIT (Bruno Meneguele) +- redhat: enable CONFIG_EVM_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM_ATTR_FSUUID on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM in all arches and flavors (Bruno Meneguele) +- redhat: enable CONFIG_IMA_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: set CONFIG_IMA_DEFAULT_HASH to SHA256 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT (Bruno Meneguele) +- redhat: enable CONFIG_IMA_READ_POLICY on ARK (Bruno Meneguele) +- redhat: set default IMA template for all ARK arches (Bruno Meneguele) +- redhat: enable CONFIG_IMA_DEFAULT_HASH_SHA256 for all flavors (Bruno Meneguele) +- redhat: disable CONFIG_IMA_DEFAULT_HASH_SHA1 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_ARCH_POLICY for ppc and x86 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_MODSIG (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_BOOTPARAM (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE (Bruno Meneguele) +- redhat: enable CONFIG_INTEGRITY for aarch64 (Bruno Meneguele) +- kernel: Update some missing KASAN/KCSAN options (Jeremy Linton) +- kernel: Enable coresight on aarch64 (Jeremy Linton) +- Update CONFIG_INET6_ESPINTCP (Justin Forbes) +- New configs in net/ipv6 (Justin M. Forbes) +- fedora: move CONFIG_RTC_NVMEM options from ark to common (Peter Robinson) +- configs: Enable CONFIG_DEBUG_INFO_BTF (Don Zickus) +- fedora: some minor arm audio config tweaks (Peter Robinson) +- Ship xpad with default modules on Fedora and RHEL (Bastien Nocera) +- Fedora: Only enable legacy serial/game port joysticks on x86 (Peter Robinson) +- Fedora: Enable the options required for the Librem 5 Phone (Peter Robinson) +- Fedora config update (Justin M. Forbes) +- Fedora config change because CONFIG_FSL_DPAA2_ETH now selects CONFIG_FSL_XGMAC_MDIO (Justin M. Forbes) +- redhat: generic enable CONFIG_INET_MPTCP_DIAG (Davide Caratti) +- Fedora config update (Justin M. Forbes) +- Enable NANDSIM for Fedora (Justin M. Forbes) +- Re-enable CONFIG_ACPI_TABLE_UPGRADE for Fedora since upstream disables this if secureboot is active (Justin M. Forbes) +- Ath11k related config updates (Justin M. Forbes) +- Fedora config updates for ath11k (Justin M. Forbes) +- Turn on ATH11K for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) +- More Fedora config fixes (Justin M. Forbes) +- Fedora 5.10 config updates (Justin M. Forbes) +- Fedora 5.10 configs round 1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Allow kernel-tools to build without selftests (Don Zickus) +- Allow building of kernel-tools standalone (Don Zickus) +- redhat: ark: disable CONFIG_NET_ACT_CTINFO (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_TEQL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_SFB (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_QFQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PLUG (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PIE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_HHF (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DSMARK (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DRR (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CODEL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CHOKE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CBQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_ATM (Davide Caratti) +- redhat: ark: disable CONFIG_NET_EMATCH and sub-targets (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_TCINDEX (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP6 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_ROUTE4 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_BASIC (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SKBMOD (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SIMP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_NAT (Davide Caratti) +- arm64/defconfig: Enable CONFIG_KEXEC_FILE (Bhupesh Sharma) [1821565] +- redhat/configs: Cleanup CONFIG_CRYPTO_SHA512 (Prarit Bhargava) +- New configs in drivers/mfd (Fedora Kernel Team) +- Fix LTO issues with kernel-tools (Don Zickus) +- Point pathfix to the new location for gen_compile_commands.py (Justin M. Forbes) +- configs: Disable CONFIG_SECURITY_SELINUX_DISABLE (Ondrej Mosnacek) +- [Automatic] Handle config dependency changes (Don Zickus) +- configs/iommu: Add config comment to empty CONFIG_SUN50I_IOMMU file (Jerry Snitselaar) +- New configs in kernel/trace (Fedora Kernel Team) +- Fix Fedora config locations (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- configs: enable CONFIG_CRYPTO_CTS=y so cts(cbc(aes)) is available in FIPS mode (Vladis Dronov) [1855161] +- Partial revert: Add master merge check (Don Zickus) +- Update Maintainers doc to reflect workflow changes (Don Zickus) +- WIP: redhat/docs: Update documentation for single branch workflow (Prarit Bhargava) +- Add CONFIG_ARM64_MTE which is not picked up by the config scripts for some reason (Justin M. Forbes) +- Disable Speakup synth DECEXT (Justin M. Forbes) +- Enable Speakup for Fedora since it is out of staging (Justin M. Forbes) +- Modify patchlist changelog output (Don Zickus) +- process_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- generate_all_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- redhat/self-test: Initial commit (Ben Crocker) +- Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL only (Peter Robinson) +- arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) +- redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] +- x86: Fix compile issues with rh_check_supported() (Don Zickus) +- KEYS: Make use of platform keyring for module signature verify (Robert Holmes) +- Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires) +- ARM: tegra: usb no reset (Peter Robinson) +- arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters) +- redhat: rh_kabi: deduplication friendly structs (Jiri Benc) +- redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) +- redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) +- redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) +- redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) +- redhat: rh_kabi: Add macros to size and extend structs (Prarit Bhargava) +- Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) +- mptsas: pci-id table changes (Laura Abbott) +- mptsas: Taint kernel if mptsas is loaded (Laura Abbott) +- mptspi: pci-id table changes (Laura Abbott) +- qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline) +- be2iscsi: remove unsupported device IDs (Chris Leech) +- mptspi: Taint kernel if mptspi is loaded (Laura Abbott) +- hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) +- qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) +- aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) +- megaraid_sas: remove deprecated pci-ids (Tomas Henzl) +- mpt*: remove certain deprecated pci-ids (Jeremy Cline) +- kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) +- Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES (Don Zickus) +- Add option of 13 for FORCE_MAX_ZONEORDER (Peter Robinson) +- s390: Lock down the kernel when the IPL secure flag is set (Jeremy Cline) +- efi: Lock down the kernel if booted in secure boot mode (David Howells) +- efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells) +- security: lockdown: expose a hook to lock the kernel down (Jeremy Cline) +- Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones) +- Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones) +- Add support for deprecating processors (Laura Abbott) [1565717 1595918 1609604 1610493] +- arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline) +- iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) +- rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) +- ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [1670017] +- kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] +- add pci_hw_vendor_status() (Maurizio Lombardi) +- ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) +- Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) +- bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] +- add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] +- tags.sh: Ignore redhat/rpm (Jeremy Cline) +- put RHEL info into generated headers (Laura Abbott) [1663728] +- acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] +- aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] +- ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] +- modules: add rhelversion MODULE_INFO tag (Laura Abbott) +- ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] +- Add Red Hat tainting (Laura Abbott) [1565704] +- Introduce CONFIG_RH_DISABLE_DEPRECATED (Laura Abbott) +- Stop merging ark-patches for release (Don Zickus) +- Fix path location for ark-update-configs.sh (Don Zickus) +- Combine Red Hat patches into single patch (Don Zickus) +- New configs in drivers/misc (Jeremy Cline) +- New configs in drivers/net/wireless (Justin M. Forbes) +- New configs in drivers/phy (Fedora Kernel Team) +- New configs in drivers/tty (Fedora Kernel Team) +- Set SquashFS decompression options for all flavors to match RHEL (Bohdan Khomutskyi) +- configs: Enable CONFIG_ENERGY_MODEL (Phil Auld) +- New configs in drivers/pinctrl (Fedora Kernel Team) +- Update CONFIG_THERMAL_NETLINK (Justin Forbes) +- Separate merge-upstream and release stages (Don Zickus) +- Re-enable CONFIG_IR_SERIAL on Fedora (Prarit Bhargava) +- Create Patchlist.changelog file (Don Zickus) +- Filter out upstream commits from changelog (Don Zickus) +- Merge Upstream script fixes (Don Zickus) +- kernel.spec: Remove kernel-keys directory on rpm erase (Prarit Bhargava) +- Add mlx5_vdpa to module filter for Fedora (Justin M. Forbes) +- Add python3-sphinx_rtd_theme buildreq for docs (Justin M. Forbes) +- redhat/configs/process_configs.sh: Remove *.config.orig files (Prarit Bhargava) +- redhat/configs/process_configs.sh: Add process_configs_known_broken flag (Prarit Bhargava) +- redhat/Makefile: Fix '*-configs' targets (Prarit Bhargava) +- dist-merge-upstream: Checkout known branch for ci scripts (Don Zickus) +- kernel.spec: don't override upstream compiler flags for ppc64le (Dan Horák) +- Fedora config updates (Justin M. Forbes) +- Fedora confi gupdate (Justin M. Forbes) +- mod-sign.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Swap how ark-latest is built (Don Zickus) +- Add extra version bump to os-build branch (Don Zickus) +- dist-release: Avoid needless version bump. (Don Zickus) +- Add dist-fedora-release target (Don Zickus) +- Remove redundant code in dist-release (Don Zickus) +- Makefile.common rename TAG to _TAG (Don Zickus) +- Fedora config change (Justin M. Forbes) +- Fedora filter update (Justin M. Forbes) +- Config update for Fedora (Justin M. Forbes) +- enable PROTECTED_VIRTUALIZATION_GUEST for all s390x kernels (Dan Horák) +- redhat: ark: enable CONFIG_NET_SCH_TAPRIO (Davide Caratti) +- redhat: ark: enable CONFIG_NET_SCH_ETF (Davide Caratti) +- More Fedora config updates (Justin M. Forbes) +- New config deps (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- First half of config updates for Fedora (Justin M. Forbes) +- Updates for Fedora arm architectures for the 5.9 window (Peter Robinson) +- Merge 5.9 config changes from Peter Robinson (Justin M. Forbes) +- Add config options that only show up when we prep on arm (Justin M. Forbes) +- Config updates for Fedora (Justin M. Forbes) +- fedora: enable enery model (Peter Robinson) +- Use the configs/generic config for SND_HDA_INTEL everywhere (Peter Robinson) +- Enable ZSTD compression algorithm on all kernels (Peter Robinson) +- Enable ARM_SMCCC_SOC_ID on all aarch64 kernels (Peter Robinson) +- iio: enable LTR-559 light and proximity sensor (Peter Robinson) +- iio: chemical: enable some popular chemical and partical sensors (Peter Robinson) +- More mismatches (Justin M. Forbes) +- Fedora config change due to deps (Justin M. Forbes) +- CONFIG_SND_SOC_MAX98390 is now selected by SND_SOC_INTEL_DA7219_MAX98357A_GENERIC (Justin M. Forbes) +- Config change required for build part 2 (Justin M. Forbes) +- Config change required for build (Justin M. Forbes) +- Fedora config update (Justin M. Forbes) +- Add ability to sync upstream through Makefile (Don Zickus) +- Add master merge check (Don Zickus) +- Replace hardcoded values 'os-build' and project id with variables (Don Zickus) +- redhat/Makefile.common: Fix MARKER (Prarit Bhargava) +- gitattributes: Remove unnecesary export restrictions (Prarit Bhargava) +- Add new certs for dual signing with boothole (Justin M. Forbes) +- Update secureboot signing for dual keys (Justin M. Forbes) +- fedora: enable LEDS_SGM3140 for arm configs (Peter Robinson) +- Enable CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG (Justin M. Forbes) +- redhat/configs: Fix common CONFIGs (Prarit Bhargava) +- redhat/configs: General CONFIG cleanups (Prarit Bhargava) +- redhat/configs: Update & generalize evaluate_configs (Prarit Bhargava) +- fedora: arm: Update some meson config options (Peter Robinson) +- redhat/docs: Add Fedora RPM tagging date (Prarit Bhargava) +- Update config for renamed panel driver. (Peter Robinson) +- Enable SERIAL_SC16IS7XX for SPI interfaces (Peter Robinson) +- s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus) +- Fedora config updates (Justin M. Forbes) +- redhat/configs: Add .tmp files to .gitignore (Prarit Bhargava) +- disable uncommon TCP congestion control algorithms (Davide Caratti) +- Add new bpf man pages (Justin M. Forbes) +- Add default option for CONFIG_ARM64_BTI_KERNEL to pending-common so that eln kernels build (Justin M. Forbes) +- redhat/Makefile: Add fedora-configs and rh-configs make targets (Prarit Bhargava) +- redhat/configs: Use SHA512 for module signing (Prarit Bhargava) +- genspec.sh: 'touch' empty Patchlist file for single tarball (Don Zickus) +- Fedora config update for rc1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- redhat/Makefile.common: fix RPMKSUBLEVEL condition (Ondrej Mosnacek) +- redhat/Makefile: silence KABI tar output (Ondrej Mosnacek) +- One more Fedora config update (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix PATCHLEVEL for merge window (Justin M. Forbes) +- Change ark CONFIG_COMMON_CLK to yes, it is selected already by other options (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More module filtering for Fedora (Justin M. Forbes) +- Update filters for rnbd in Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix up module filtering for 5.8 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More Fedora config work (Justin M. Forbes) +- RTW88BE and CE have been extracted to their own modules (Justin M. Forbes) +- Set CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK for Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Arm64 Use Branch Target Identification for kernel (Justin M. Forbes) +- Change value of CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix configs for Fedora (Justin M. Forbes) +- Add zero-commit to format-patch options (Justin M. Forbes) +- Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline) +- Move the sed to clear the patch templating outside of conditionals (Justin M. Forbes) +- Match template format in kernel.spec.template (Justin M. Forbes) +- Break out the Patches into individual files for dist-git (Justin M. Forbes) +- Break the Red Hat patch into individual commits (Jeremy Cline) +- Fix update_scripts.sh unselective pattern sub (David Howells) +- Add cec to the filter overrides (Justin M. Forbes) +- Add overrides to filter-modules.sh (Justin M. Forbes) +- redhat/configs: Enable CONFIG_SMC91X and disable CONFIG_SMC911X (Prarit Bhargava) [1722136] +- Include bpftool-struct_ops man page in the bpftool package (Jeremy Cline) +- Add sharedbuffer_configuration.py to the pathfix.py script (Jeremy Cline) +- Use __make macro instead of make (Tom Stellard) +- Sign off generated configuration patches (Jeremy Cline) +- Drop the static path configuration for the Sphinx docs (Jeremy Cline) +- redhat: Add dummy-module kernel module (Prarit Bhargava) +- redhat: enable CONFIG_LWTUNNEL_BPF (Jiri Benc) +- Remove typoed config file aarch64CONFIG_SM_GCC_8150 (Justin M. Forbes) +- Add Documentation back to kernel-devel as it has Kconfig now (Justin M. Forbes) +- Copy distro files rather than moving them (Jeremy Cline) +- kernel.spec: fix 'make scripts' for kernel-devel package (Brian Masney) +- Makefile: correct help text for dist-cross--rpms (Brian Masney) +- redhat/Makefile: Fix RHEL8 python warning (Prarit Bhargava) +- redhat: Change Makefile target names to dist- (Prarit Bhargava) +- configs: Disable Serial IR driver (Prarit Bhargava) +- Fix "multiple %%files for package kernel-tools" (Pablo Greco) +- Introduce a Sphinx documentation project (Jeremy Cline) +- Build ARK against ELN (Don Zickus) +- Drop the requirement to have a remote called linus (Jeremy Cline) +- Rename 'internal' branch to 'os-build' (Don Zickus) +- Only include open merge requests with "Include in Releases" label (Jeremy Cline) +- Package gpio-watch in kernel-tools (Jeremy Cline) +- Exit non-zero if the tag already exists for a release (Jeremy Cline) +- Adjust the changelog update script to not push anything (Jeremy Cline) +- Drop --target noarch from the rh-rpms make target (Jeremy Cline) +- Add a script to generate release tags and branches (Jeremy Cline) +- Set CONFIG_VDPA for fedora (Justin M. Forbes) +- Add a README to the dist-git repository (Jeremy Cline) +- Provide defaults in ark-rebase-patches.sh (Jeremy Cline) +- Default ark-rebase-patches.sh to not report issues (Jeremy Cline) +- Drop DIST from release commits and tags (Jeremy Cline) +- Place the buildid before the dist in the release (Jeremy Cline) +- Sync up with Fedora arm configuration prior to merging (Jeremy Cline) +- Disable CONFIG_PROTECTED_VIRTUALIZATION_GUEST for zfcpdump (Jeremy Cline) +- Add RHMAINTAINERS file and supporting conf (Don Zickus) +- Add a script to test if all commits are signed off (Jeremy Cline) +- Fix make rh-configs-arch (Don Zickus) +- Drop RH_FEDORA in favor of the now-merged RHEL_DIFFERENCES (Jeremy Cline) +- Sync up Fedora configs from the first week of the merge window (Jeremy Cline) +- Migrate blacklisting floppy.ko to mod-blacklist.sh (Don Zickus) +- kernel packaging: Combine mod-blacklist.sh and mod-extra-blacklist.sh (Don Zickus) +- kernel packaging: Fix extra namespace collision (Don Zickus) +- mod-extra.sh: Rename to mod-blacklist.sh (Don Zickus) +- mod-extra.sh: Make file generic (Don Zickus) +- Fix a painfully obvious YAML syntax error in .gitlab-ci.yml (Jeremy Cline) +- Add in armv7hl kernel header support (Don Zickus) +- Disable all BuildKernel commands when only building headers (Don Zickus) +- Drop any gitlab-ci patches from ark-patches (Jeremy Cline) +- Build the srpm for internal branch CI using the vanilla tree (Jeremy Cline) +- Pull in the latest ARM configurations for Fedora (Jeremy Cline) +- Fix xz memory usage issue (Neil Horman) +- Use ark-latest instead of master for update script (Jeremy Cline) +- Move the CI jobs back into the ARK repository (Jeremy Cline) +- Sync up ARK's Fedora config with the dist-git repository (Jeremy Cline) +- Pull in the latest configuration changes from Fedora (Jeremy Cline) +- configs: enable CONFIG_NET_SCH_CBS (Marcelo Ricardo Leitner) +- Drop configuration options in fedora/ that no longer exist (Jeremy Cline) +- Set RH_FEDORA for ARK and Fedora (Jeremy Cline) +- redhat/kernel.spec: Include the release in the kernel COPYING file (Jeremy Cline) +- redhat/kernel.spec: add scripts/jobserver-exec to py3_shbang_opts list (Jeremy Cline) +- redhat/kernel.spec: package bpftool-gen man page (Jeremy Cline) +- distgit-changelog: handle multiple y-stream BZ numbers (Bruno Meneguele) +- redhat/kernel.spec: remove all inline comments (Bruno Meneguele) +- redhat/genspec: awk unknown whitespace regex pattern (Bruno Meneguele) +- Improve the readability of gen_config_patches.sh (Jeremy Cline) +- Fix some awkward edge cases in gen_config_patches.sh (Jeremy Cline) +- Update the CI environment to use Fedora 31 (Jeremy Cline) +- redhat: drop whitespace from with_gcov macro (Jan Stancek) +- configs: Enable CONFIG_KEY_DH_OPERATIONS on ARK (Ondrej Mosnacek) +- configs: Adjust CONFIG_MPLS_ROUTING and CONFIG_MPLS_IPTUNNEL (Laura Abbott) +- New configs in lib/crypto (Jeremy Cline) +- New configs in drivers/char (Jeremy Cline) +- Turn on BLAKE2B for Fedora (Jeremy Cline) +- kernel.spec.template: Clean up stray *.h.s files (Laura Abbott) +- Build the SRPM in the CI job (Jeremy Cline) +- New configs in net/tls (Jeremy Cline) +- New configs in net/tipc (Jeremy Cline) +- New configs in lib/kunit (Jeremy Cline) +- Fix up released_kernel case (Laura Abbott) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- New configs in drivers/ptp (Jeremy Cline) +- New configs in drivers/nvme (Jeremy Cline) +- New configs in drivers/net/phy (Jeremy Cline) +- New configs in arch/arm64 (Jeremy Cline) +- New configs in drivers/crypto (Jeremy Cline) +- New configs in crypto/Kconfig (Jeremy Cline) +- Add label so the Gitlab to email bridge ignores the changelog (Jeremy Cline) +- Temporarily switch TUNE_DEFAULT to y (Jeremy Cline) +- Run config test for merge requests and internal (Jeremy Cline) +- Add missing licensedir line (Laura Abbott) +- redhat/scripts: Remove redhat/scripts/rh_get_maintainer.pl (Prarit Bhargava) +- configs: Take CONFIG_DEFAULT_MMAP_MIN_ADDR from Fedra (Laura Abbott) +- configs: Turn off ISDN (Laura Abbott) +- Add a script to generate configuration patches (Laura Abbott) +- Introduce rh-configs-commit (Laura Abbott) +- kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) +- configs: Enable CONFIG_DEBUG_WX (Laura Abbott) +- configs: Disable wireless USB (Laura Abbott) +- Clean up some temporary config files (Laura Abbott) +- configs: New config in drivers/gpu for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/powerpc for v5.4-rc1 (Jeremy Cline) +- configs: New config in crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/usb for v5.4-rc1 (Jeremy Cline) +- AUTOMATIC: New configs (Jeremy Cline) +- Skip ksamples for bpf, they are broken (Jeremy Cline) +- configs: New config in fs/erofs for v5.4-rc1 (Jeremy Cline) +- configs: New config in mm for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/md for v5.4-rc1 (Jeremy Cline) +- configs: New config in init for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/fuse for v5.4-rc1 (Jeremy Cline) +- merge.pl: Avoid comments but do not skip them (Don Zickus) +- configs: New config in drivers/net/ethernet/pensando for v5.4-rc1 (Jeremy Cline) +- Update a comment about what released kernel means (Laura Abbott) +- Provide both Fedora and RHEL files in the SRPM (Laura Abbott) +- kernel.spec.template: Trim EXTRAVERSION in the Makefile (Laura Abbott) +- kernel.spec.template: Add macros for building with nopatches (Laura Abbott) +- kernel.spec.template: Add some macros for Fedora differences (Laura Abbott) +- kernel.spec.template: Consolodate the options (Laura Abbott) +- configs: Add pending direcory to Fedora (Laura Abbott) +- kernel.spec.template: Don't run hardlink if rpm-ostree is in use (Laura Abbott) +- configs: New config in net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/phy for v5.4-rc1 (Jeremy Cline) +- configs: Increase x86_64 NR_UARTS to 64 (Prarit Bhargava) [1730649] +- configs: turn on ARM64_FORCE_52BIT for debug builds (Jeremy Cline) +- kernel.spec.template: Tweak the python3 mangling (Laura Abbott) +- kernel.spec.template: Add --with verbose option (Laura Abbott) +- kernel.spec.template: Switch to using %%install instead of %%__install (Laura Abbott) +- kernel.spec.template: Make the kernel.org URL https (Laura Abbott) +- kernel.spec.template: Update message about secure boot signing (Laura Abbott) +- kernel.spec.template: Move some with flags definitions up (Laura Abbott) +- kernel.spec.template: Update some BuildRequires (Laura Abbott) +- kernel.spec.template: Get rid of %%clean (Laura Abbott) +- configs: New config in drivers/char for v5.4-rc1 (Jeremy Cline) +- configs: New config in net/sched for v5.4-rc1 (Jeremy Cline) +- configs: New config in lib for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/verity for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/aarch64 for v5.4-rc4 (Jeremy Cline) +- configs: New config in arch/arm64 for v5.4-rc1 (Jeremy Cline) +- Flip off CONFIG_ARM64_VA_BITS_52 so the bundle that turns it on applies (Jeremy Cline) +- New configuration options for v5.4-rc4 (Jeremy Cline) +- Correctly name tarball for single tarball builds (Laura Abbott) +- configs: New config in drivers/pci for v5.4-rc1 (Jeremy Cline) +- Allow overriding the dist tag on the command line (Laura Abbott) +- Allow scratch branch target to be overridden (Laura Abbott) +- Remove long dead BUILD_DEFAULT_TARGET (Laura Abbott) +- Amend the changelog when rebasing (Laura Abbott) +- configs: New config in drivers/platform for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/pinctrl for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/wireless for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/ethernet/mellanox for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hid for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/dma-buf for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in block for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/cpuidle for v5.4-rc1 (Jeremy Cline) +- redhat: configs: Split CONFIG_CRYPTO_SHA512 (Laura Abbott) +- redhat: Set Fedora options (Laura Abbott) +- Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline) +- configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline) +- Add option to allow mismatched configs on the command line (Laura Abbott) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline) +- gitlab: Add CI job for packaging scripts (Major Hayden) +- Speed up CI with CKI image (Major Hayden) +- Disable e1000 driver in ARK (Neil Horman) +- configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline) +- configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline) +- configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline) +- Add an initial CI configuration for the internal branch (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- Pull the RHEL version defines out of the Makefile (Jeremy Cline) +- Sync up the ARK build scripts (Jeremy Cline) +- Sync up the Fedora Rawhide configs (Jeremy Cline) +- Sync up the ARK config files (Jeremy Cline) +- configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott) +- configs: Add README for some other arches (Laura Abbott) +- configs: Sync up Fedora configs (Laura Abbott) +- [initial commit] Add structure for building with git (Laura Abbott) +- [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott) +- [initial commit] Red Hat gitignore and attributes (Laura Abbott) +- [initial commit] Add changelog (Laura Abbott) +- [initial commit] Add makefile (Laura Abbott) +- [initial commit] Add files for generating the kernel.spec (Laura Abbott) +- [initial commit] Add rpm directory (Laura Abbott) +- [initial commit] Add files for packaging (Laura Abbott) +- [initial commit] Add kabi files (Laura Abbott) +- [initial commit] Add scripts (Laura Abbott) +- [initial commit] Add configs (Laura Abbott) +- [initial commit] Add Makefiles (Laura Abbott) + +* Mon Nov 08 2021 Herton R. Krzesinski [5.14.0-13.el9] +- futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic() (Waiman Long) [2007032] +- futex: Prevent inconsistent state and exit race (Waiman Long) [2007032] +- locking/ww_mutex: Initialize waiter.ww_ctx properly (Waiman Long) [2007032] +- futex: Return error code instead of assigning it without effect (Waiman Long) [2007032] +- locking/rwbase: Take care of ordering guarantee for fastpath reader (Waiman Long) [2007032] +- locking/rwbase: Extract __rwbase_write_trylock() (Waiman Long) [2007032] +- locking/rwbase: Properly match set_and_save_state() to restore_state() (Waiman Long) [2007032] +- locking/rtmutex: Fix ww_mutex deadlock check (Waiman Long) [2007032] +- locking/rwsem: Add missing __init_rwsem() for PREEMPT_RT (Waiman Long) [2007032] +- locking/rtmutex: Return success on deadlock for ww_mutex waiters (Waiman Long) [2007032] +- locking/rtmutex: Prevent spurious EDEADLK return caused by ww_mutexes (Waiman Long) [2007032] +- locking/rtmutex: Dequeue waiter on ww_mutex deadlock (Waiman Long) [2007032] +- locking/rtmutex: Dont dereference waiter lockless (Waiman Long) [2007032] +- locking/local_lock: Add PREEMPT_RT support (Waiman Long) [2007032] +- locking/spinlock/rt: Prepare for RT local_lock (Waiman Long) [2007032] +- locking/rtmutex: Add adaptive spinwait mechanism (Waiman Long) [2007032] +- locking/rtmutex: Implement equal priority lock stealing (Waiman Long) [2007032] +- preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Waiman Long) [2007032] +- locking/rtmutex: Prevent lockdep false positive with PI futexes (Waiman Long) [2007032] +- futex: Prevent requeue_pi() lock nesting issue on RT (Waiman Long) [2007032] +- futex: Simplify handle_early_requeue_pi_wakeup() (Waiman Long) [2007032] +- futex: Reorder sanity checks in futex_requeue() (Waiman Long) [2007032] +- futex: Clarify comment in futex_requeue() (Waiman Long) [2007032] +- futex: Restructure futex_requeue() (Waiman Long) [2007032] +- futex: Correct the number of requeued waiters for PI (Waiman Long) [2007032] +- futex: Remove bogus condition for requeue PI (Waiman Long) [2007032] +- futex: Clarify futex_requeue() PI handling (Waiman Long) [2007032] +- futex: Clean up stale comments (Waiman Long) [2007032] +- futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Waiman Long) [2007032] +- lib/test_lockup: Adapt to changed variables (Waiman Long) [2007032] +- locking/rtmutex: Add mutex variant for RT (Waiman Long) [2007032] +- locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Waiman Long) [2007032] +- locking/rtmutex: Extend the rtmutex core to support ww_mutex (Waiman Long) [2007032] +- locking/ww_mutex: Add rt_mutex based lock type and accessors (Waiman Long) [2007032] +- locking/ww_mutex: Add RT priority to W/W order (Waiman Long) [2007032] +- locking/ww_mutex: Implement rt_mutex accessors (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out internal lock accesses (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out mutex types (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out mutex accessors (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out waiter enqueueing (Waiman Long) [2007032] +- locking/ww_mutex: Abstract out the waiter iteration (Waiman Long) [2007032] +- locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Waiman Long) [2007032] +- locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Waiman Long) [2007032] +- locking/ww_mutex: Split up ww_mutex_unlock() (Waiman Long) [2007032] +- locking/ww_mutex: Gather mutex_waiter initialization (Waiman Long) [2007032] +- locking/ww_mutex: Simplify lockdep annotations (Waiman Long) [2007032] +- locking/mutex: Make mutex::wait_lock raw (Waiman Long) [2007032] +- locking/ww_mutex: Move the ww_mutex definitions from into (Waiman Long) [2007032] +- locking/mutex: Move the 'struct mutex_waiter' definition from to the internal header (Waiman Long) [2007032] +- locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Waiman Long) [2007032] +- locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Waiman Long) [2007032] +- locking/rwlock: Provide RT variant (Waiman Long) [2007032] +- locking/spinlock: Provide RT variant (Waiman Long) [2007032] +- locking/rtmutex: Provide the spin/rwlock core lock function (Waiman Long) [2007032] +- locking/spinlock: Provide RT variant header: (Waiman Long) [2007032] +- locking/spinlock: Provide RT specific spinlock_t (Waiman Long) [2007032] +- locking/rtmutex: Reduce header dependencies, only include (Waiman Long) [2007032] +- rbtree: Split out the rbtree type definitions into (Waiman Long) [2007032] +- locking/lockdep: Reduce header dependencies in (Waiman Long) [2007032] +- locking/rtmutex: Prevent future include recursion hell (Waiman Long) [2007032] +- locking/spinlock: Split the lock types header, and move the raw types into (Waiman Long) [2007032] +- locking/rtmutex: Guard regular sleeping locks specific functions (Waiman Long) [2007032] +- locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Waiman Long) [2007032] +- locking/rtmutex: Use rt_mutex_wake_q_head (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_wake_q_head and helpers (Waiman Long) [2007032] +- locking/rtmutex: Add wake_state to rt_mutex_waiter (Waiman Long) [2007032] +- locking/rwsem: Add rtmutex based R/W semaphore implementation (Waiman Long) [2007032] +- locking/rt: Add base code for RT rw_semaphore and rwlock (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_mutex_base_is_locked() (Waiman Long) [2007032] +- locking/rtmutex: Provide rt_mutex_slowlock_locked() (Waiman Long) [2007032] +- locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Waiman Long) [2007032] +- locking/rtmutex: Split API from implementation (Waiman Long) [2007032] +- locking/rtmutex: Switch to from cmpxchg_*() to try_cmpxchg_*() (Waiman Long) [2007032] +- locking/rtmutex: Convert macros to inlines (Waiman Long) [2007032] +- locking/rtmutex: Remove rt_mutex_is_locked() (Waiman Long) [2007032] +- sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Waiman Long) [2007032] +- sched/core: Provide a scheduling point for RT locks (Waiman Long) [2007032] +- sched/core: Rework the __schedule() preempt argument (Waiman Long) [2007032] +- sched/wakeup: Prepare for RT sleeping spin/rwlocks (Waiman Long) [2007032] +- sched/wakeup: Reorganize the current::__state helpers (Waiman Long) [2007032] +- sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Waiman Long) [2007032] +- sched/wakeup: Split out the wakeup ->__state check (Waiman Long) [2007032] +- locking/rtmutex: Set proper wait context for lockdep (Waiman Long) [2007032] +- locking/local_lock: Add missing owner initialization (Waiman Long) [2007032] +- locking/mutex: Add MUTEX_WARN_ON (Waiman Long) [2007032] +- locking/mutex: Introduce __mutex_trylock_or_handoff() (Waiman Long) [2007032] +- locking/mutex: Fix HANDOFF condition (Waiman Long) [2007032] +- locking/mutex: Use try_cmpxchg() (Waiman Long) [2007032] + +* Thu Nov 04 2021 Jarod Wilson [5.14.0-12.el9] +- redhat: make dist-srpm-gcov add to BUILDOPTS (Jan Stancek) [2017628] +- redhat: Fix dist-srpm-gcov (Jan Stancek) [2017628] +- s390: report more CPU capabilities (Robin Dapp) [2012095] +- s390/disassembler: add instructions (Robin Dapp) [2012095] +- audit: move put_tree() to avoid trim_trees refcount underflow and UAF (Richard Guy Briggs) [1985904] +- libbpf: Properly ignore STT_SECTION symbols in legacy map definitions (Jiri Olsa) [1998266] +- libbpf: Ignore STT_SECTION symbols in 'maps' section (Jiri Olsa) [1998266] +- selftests, bpf: test_lwt_ip_encap: Really disable rp_filter (Jiri Benc) [2006328] + +* Thu Oct 28 2021 Herton R. Krzesinski [5.14.0-11.el9] +- selinux: remove the SELinux lockdown implementation (Ondrej Mosnacek) [1940843 1945581] +- bpf: Fix integer overflow in prealloc_elems_and_freelist() (Yauheni Kaliuta) [2010494] {CVE-2021-41864} +- seltests: bpf: test_tunnel: Use ip neigh (Jiri Benc) [2006326] + +* Tue Oct 26 2021 Herton R. Krzesinski [5.14.0-10.el9] +- block: return ELEVATOR_DISCARD_MERGE if possible (Ming Lei) [1991958] +- blk-mq: avoid to iterate over stale request (Ming Lei) [2009110] +- redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) [2006320] +- CI: Update deprecated configs (Veronika Kabatova) + +* Wed Oct 20 2021 Herton R. Krzesinski [5.14.0-9.el9] +- powerpc/pseries: Prevent free CPU ids being reused on another node (Desnes A. Nunes do Rosario) [2004809] +- pseries/drmem: update LMBs after LPM (Desnes A. Nunes do Rosario) [2004809] +- powerpc/numa: Consider the max NUMA node for migratable LPAR (Desnes A. Nunes do Rosario) [2004809] +- selftests: bpf: disable test_lirc_mode2 (Jiri Benc) [2006359] +- selftests: bpf: disable test_doc_build.sh (Jiri Benc) [2006359] +- selftests: bpf: define SO_RCVTIMEO and SO_SNDTIMEO properly for ppc64le (Jiri Benc) [2006359] +- selftests: bpf: skip FOU tests in test_tc_tunnel (Jiri Benc) [2006359] +- selftests: bpf: disable test_seg6_loop test (Jiri Benc) [2006359] +- selftests: bpf: disable test_lwt_seg6local (Jiri Benc) [2006359] +- selftests: bpf: disable test_bpftool_build.sh (Jiri Benc) [2006359] +- selftests: add option to skip specific tests in RHEL (Jiri Benc) [2006359] + +* Fri Oct 15 2021 Herton R. Krzesinski [5.14.0-8.el9] +- selftests/powerpc: Add scv versions of the basic TM syscall tests (Desnes A. Nunes do Rosario) [1986651] +- powerpc/64s: system call scv tabort fix for corrupt irq soft-mask state (Desnes A. Nunes do Rosario) [1986651] +- mm/swap: consider max pages in iomap_swapfile_add_extent (Carlos Maiolino) [2005191] +- platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake (David Arcari) [2007707] +- platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver (David Arcari) [2007707] +- platform/x86: intel_pmc_core: Move to intel sub-directory (David Arcari) [2007707] +- platform/x86: intel_pmc_core: Prevent possibile overflow (David Arcari) [2007707] +- Clean-up CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) [2007707] +- KVM: nVMX: Filter out all unsupported controls when eVMCS was activated (Vitaly Kuznetsov) [2001912] +- ipc: remove memcg accounting for sops objects in do_semtimedop() (Rafael Aquini) [1999707] {CVE-2021-3759} +- memcg: enable accounting of ipc resources (Rafael Aquini) [1999707] {CVE-2021-3759} +- redhat: BUILDID parameter must come last in genspec.sh (Herton R. Krzesinski) +- redhat/Makefile.variables: Set INCLUDE_FEDORA_FILES to 0 (Prarit Bhargava) [2009545] +- redhat: Remove fedora configs directories and files. (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Cleanup source numbering (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Reorganize RHEL and Fedora specific files (Prarit Bhargava) [2009545] +- redhat/kernel.spec.template: Add include_fedora and include_rhel variables (Prarit Bhargava) [2009545] +- redhat/Makefile: Make kernel-local global (Prarit Bhargava) [2009545] +- redhat/Makefile: Use flavors file (Prarit Bhargava) [2009545] + +* Mon Oct 11 2021 Herton R. Krzesinski [5.14.0-7.el9] +- redhat: Enable Nitro Enclaves driver on x86 for real (Vitaly Kuznetsov) [2011739] +- redhat/.gitignore: Add rhel9 KABI files (Prarit Bhargava) [2009489] +- hwmon: (k10temp) Add support for yellow carp (David Arcari) [1987069] +- hwmon: (k10temp) Rework the temperature offset calculation (David Arcari) [1987069] +- hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU (David Arcari) [1987069] +- hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs (David Arcari) [1987069] +- hwmon: (k10temp) support Zen3 APUs (David Arcari) [1987069] +- selinux,smack: fix subjective/objective credential use mixups (Ondrej Mosnacek) [2008145] +- redhat: kernel.spec: selftests: abort on build failure (Jiri Benc) [2004012] +- Revert "bpf, selftests: Disable tests that need clang13" (Jiri Benc) [2004012] +- selftests, bpf: Fix makefile dependencies on libbpf (Jiri Benc) [2004012] + +* Fri Oct 08 2021 Herton R. Krzesinski [5.14.0-6.el9] +- pinctrl: Bulk conversion to generic_handle_domain_irq() (David Arcari) [2000232] +- pinctrl: amd: Handle wake-up interrupt (David Arcari) [2000232] +- pinctrl: amd: Add irq field data (David Arcari) [2000232] +- Revert "redhat: define _rhel variable because pesign macro now needs it" (Jan Stancek) +- redhat: switch secureboot kernel image signing to release keys (Jan Stancek) +- redhat/configs: Disable FIREWIRE (Prarit Bhargava) [1871862] +- Enable e1000 in rhel9 as unsupported (Ken Cox) [2002344] + +* Mon Oct 04 2021 Jan Stancek [5.14.0-1.6.1.el9] +- Revert "redhat: define _rhel variable because pesign macro now needs it" (Jan Stancek) +- redhat: switch secureboot kernel image signing to release keys (Jan Stancek) +- redhat/configs: Disable FIREWIRE (Prarit Bhargava) [1871862] +- Enable e1000 in rhel9 as unsupported (Ken Cox) [2002344] + +* Thu Sep 30 2021 Herton R. Krzesinski [5.14.0-5.el9] +- redhat/configs: enable CONFIG_SQUASHFS_ZSTD which is already enabled in Fedora 34 (Tao Liu) [1998953] +- fs: dlm: fix return -EINTR on recovery stopped (Alexander Aring) [2004213] +- redhat: replace redhatsecureboot303 signing key with redhatsecureboot601 (Jan Stancek) [2002499] +- redhat: define _rhel variable because pesign macro now needs it (Jan Stancek) [2002499] +- redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Jan Stancek) [1994849] +- redhat: correct file name of redhatsecurebootca1 (Jan Stancek) [2002499] +- redhat: align file names with names of signing keys for ppc and s390 (Jan Stancek) [2002499] +- redhat: restore sublevel in changelog (Jan Stancek) +- fs: dlm: avoid comms shutdown delay in release_lockspace (Alexander Aring) [1994749] +- redhat/configs: Enable CONFIG_BLK_CGROUP_IOLATENCY & CONFIG_BLK_CGROUP_FC_APPID (Waiman Long) [1996675] +- redhat/configs: remove conflicting SYSTEM_BLACKLIST_KEYRING (Bruno Meneguele) [2002350] +- Enable "inter server to server" NFSv4.2 COPY (Steve Dickson) [1487367] + +* Wed Sep 29 2021 Jan Stancek [5.14.0-1.5.1.el9] +- fs: dlm: fix return -EINTR on recovery stopped (Alexander Aring) [2004213] +- redhat/configs: Update configs for secure IPL (Claudio Imbrenda) [1976884] +- redhat: replace redhatsecureboot303 signing key with redhatsecureboot601 (Jan Stancek) [2002499] +- redhat: define _rhel variable because pesign macro now needs it (Jan Stancek) [2002499] +- redhat: drop certificates that were deprecated after GRUB's BootHole flaw (Jan Stancek) [1994849] +- redhat: correct file name of redhatsecurebootca1 (Jan Stancek) [2002499] +- redhat: align file names with names of signing keys for ppc and s390 (Jan Stancek) [2002499] + +* Mon Sep 27 2021 Jan Stancek [5.14.0-1.4.1.el9] +- redhat: restore sublevel in changelog (Jan Stancek) +- fs: dlm: avoid comms shutdown delay in release_lockspace (Alexander Aring) [1994749] +- redhat/configs: Enable CONFIG_BLK_CGROUP_IOLATENCY & CONFIG_BLK_CGROUP_FC_APPID (Waiman Long) [1996675] + +* Wed Sep 22 2021 Herton R. Krzesinski [5.14-4.el9] +- Drivers: hv: vmbus: Fix kernel crash upon unbinding a device from uio_hv_generic driver (Vitaly Kuznetsov) [1999535] +- ipc: replace costly bailout check in sysvipc_find_ipc() (Rafael Aquini) [1987130 2003270] {CVE-2021-3669} +- redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1996993] +- redhat: set USE_DIST_IN_SOURCE=1 for 9.0-beta (Jan Stancek) +- redhat: add option to use DIST tag in sources (Jan Stancek) +- CI: Enable notification messages for RHEL9 (Veronika Kabatova) +- CI: Enable private pipelines for RT branches (Veronika Kabatova) +- CI: Remove ARK leftovers (Veronika Kabatova) +- redhat: add *-matched meta packages to rpminspect emptyrpm config (Herton R. Krzesinski) +- gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1988451] +- gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1988451] +- gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1988451] +- cgroup/cpuset: Avoid memory migration when nodemasks match (Waiman Long) [1980430] +- cgroup/cpuset: Enable memory migration for cpuset v2 (Waiman Long) [1980430] +- iscsi_ibft: Fix isa_bus_to_virt not working under ARM (Maurizio Lombardi) [1963801] +- x86/setup: Explicitly include acpi.h (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix warning in reserve_ibft_region() (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix crash due to KASLR physical memory remapping (Maurizio Lombardi) [1963801] +- redhat: fix chronological order in the changelog file (Herton R. Krzesinski) + +* Wed Sep 22 2021 Jan Stancek [5.14.0-1.3.1.el9] +- redhat/configs: remove conflicting SYSTEM_BLACKLIST_KEYRING (Bruno Meneguele) [2002350] +- Enable "inter server to server" NFSv4.2 COPY (Steve Dickson) [1487367] + +* Fri Sep 17 2021 Jan Stancek [5.14-1.2.1.el9] +- redhat/configs: Disable CONFIG_DRM_VMWGFX on aarch64 (Michel Dänzer) [1996993] +- redhat: set USE_DIST_IN_SOURCE=1 for 9.0-beta (Jan Stancek) +- redhat: add option to use DIST tag in sources (Jan Stancek) +- CI: Enable notification messages for RHEL9 (Veronika Kabatova) +- CI: Enable private pipelines for RT branches (Veronika Kabatova) +- CI: Remove ARK leftovers (Veronika Kabatova) +- redhat: add *-matched meta packages to rpminspect emptyrpm config (Herton R. Krzesinski) +- gfs2: Don't call dlm after protocol is unmounted (Bob Peterson) [1988451] +- gfs2: don't stop reads while withdraw in progress (Bob Peterson) [1988451] +- gfs2: Mark journal inodes as "don't cache" (Bob Peterson) [1988451] +- cgroup/cpuset: Avoid memory migration when nodemasks match (Waiman Long) [1980430] +- cgroup/cpuset: Enable memory migration for cpuset v2 (Waiman Long) [1980430] +- iscsi_ibft: Fix isa_bus_to_virt not working under ARM (Maurizio Lombardi) [1963801] +- x86/setup: Explicitly include acpi.h (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix warning in reserve_ibft_region() (Maurizio Lombardi) [1963801] +- iscsi_ibft: fix crash due to KASLR physical memory remapping (Maurizio Lombardi) [1963801] + +* Thu Sep 16 2021 Herton R. Krzesinski [5.14-3] +- misc/pvpanic-pci: Allow automatic loading (Eric Auger) [1977192] +- md/raid10: Remove unnecessary rcu_dereference in raid10_handle_discard (Nigel Croxon) [1965294] +- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1998549] +- Enable bridge jobs for scratch pipelines (Michael Hofmann) +- CI: use 9.0-beta-rt branch for -rt pipeline (Jan Stancek) +- crypto: ccp - Add support for new CCP/PSP device ID (Vladis Dronov) [1987099] +- crypto: ccp - shutdown SEV firmware on kexec (Vladis Dronov) [1987099] + +* Tue Sep 14 2021 Jan Stancek [5.14-1.1.1] +- md/raid10: Remove unnecessary rcu_dereference in raid10_handle_discard (Nigel Croxon) [1965294] +- rcu: Avoid unneeded function call in rcu_read_unlock() (Waiman Long) [1998549] + +* Mon Sep 13 2021 Herton R. Krzesinski [5.14-2] +- redhat: update branches/targets after 9 Beta fork (Herton R. Krzesinski) +- hv_utils: Set the maximum packet size for VSS driver to the length of the receive buffer (Vitaly Kuznetsov) [1996628] +- Enable bridge jobs for scratch pipelines (Michael Hofmann) + +* Mon Aug 30 2021 Herton R. Krzesinski [5.14-1] +- redhat: drop Patchlist.changelog for RHEL (Jan Stancek) [1997494] +- redhat: update Makefile.variables for centos/rhel9 fork (Herton R. Krzesinski) +- redhat: add support for stream profile in koji/brew (Herton R. Krzesinski) +- redhat: make DIST default to .el9 (Herton R. Krzesinski) +- redhat: set default values in Makefiles for RHEL 9 Beta (Jan Stancek) [1997494] +- arm64: use common CONFIG_MAX_ZONEORDER for arm kernel (Mark Salter) +- Create Makefile.variables for a single point of configuration change (Justin M. Forbes) +- rpmspec: drop traceevent files instead of just excluding them from files list (Herton R. Krzesinski) [1967640] +- redhat/config: Enablement of CONFIG_PAPR_SCM for PowerPC (Gustavo Walbon) [1962936] +- Attempt to fix Intel PMT code (David Arcari) +- CI: Enable realtime branch testing (Veronika Kabatova) +- CI: Enable realtime checks for c9s and RHEL9 (Veronika Kabatova) +- [fs] dax: mark tech preview (Bill O'Donnell) +- ark: wireless: enable all rtw88 pcie wirless variants (Peter Robinson) +- wireless: rtw88: move debug options to common/debug (Peter Robinson) +- fedora: minor PTP clock driver cleanups (Peter Robinson) +- common: x86: enable VMware PTP support on ark (Peter Robinson) +- arm64: dts: rockchip: Disable CDN DP on Pinebook Pro (Matthias Brugger) +- arm64: dts: rockchip: Setup USB typec port as datarole on (Dan Johansen) +- [scsi] megaraid_sas: re-add certain pci-ids (Tomas Henzl) +- xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [1995321] +- Disable liquidio driver on ark/rhel (Herton R. Krzesinski) [1993393] +- More Fedora config updates (Justin M. Forbes) +- Fedora config updates for 5.14 (Justin M. Forbes) +- CI: Rename ARK CI pipeline type (Veronika Kabatova) +- CI: Finish up c9s config (Veronika Kabatova) +- CI: Update ppc64le config (Veronika Kabatova) +- CI: use more templates (Veronika Kabatova) +- Filter updates for aarch64 (Justin M. Forbes) +- increase CONFIG_NODES_SHIFT for aarch64 (Chris von Recklinghausen) [1890304] +- redhat: configs: Enable CONFIG_WIRELESS_HOTKEY (Hans de Goede) +- redhat/configs: Update CONFIG_NVRAM (Desnes A. Nunes do Rosario) [1988254] +- common: serial: build in SERIAL_8250_LPSS for x86 (Peter Robinson) +- powerpc: enable CONFIG_FUNCTION_PROFILER (Diego Domingos) [1831065] +- crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) +- random: Add hook to override device reads and getrandom(2) (Herbert Xu) +- redhat/configs: Disable Soft-RoCE driver (Kamal Heib) +- redhat/configs/evaluate_configs: Update help output (Prarit Bhargava) +- redhat/configs: Double MAX_LOCKDEP_CHAINS (Justin M. Forbes) +- fedora: configs: Fix WM5102 Kconfig (Hans de Goede) +- powerpc: enable CONFIG_POWER9_CPU (Diego Domingos) [1876436] +- redhat/configs: Fix CONFIG_VIRTIO_IOMMU to 'y' on aarch64 (Eric Auger) [1972795] +- filter-modules.sh: add more sound modules to filter (Jaroslav Kysela) +- redhat/configs: sound configuration cleanups and updates (Jaroslav Kysela) +- common: Update for CXL (Compute Express Link) configs (Peter Robinson) +- redhat: configs: disable CRYPTO_SM modules (Herton R. Krzesinski) [1990040] +- Remove fedora version of the LOCKDEP_BITS, we should use common (Justin M. Forbes) +- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) +- Fedora 5.14 configs round 1 (Justin M. Forbes) +- redhat: add gating configuration for centos stream/rhel9 (Herton R. Krzesinski) +- x86: configs: Enable CONFIG_TEST_FPU for debug kernels (Vitaly Kuznetsov) [1988384] +- redhat/configs: Move CHACHA and POLY1305 to core kernel to allow BIG_KEYS=y (root) [1983298] +- kernel.spec: fix build of samples/bpf (Jiri Benc) +- Enable OSNOISE_TRACER and TIMERLAT_TRACER (Jerome Marchand) [1979379] +- rpmspec: switch iio and gpio tools to use tools_make (Herton R. Krzesinski) [1956988] +- configs/process_configs.sh: Handle config items with no help text (Patrick Talbert) +- fedora: sound config updates for 5.14 (Peter Robinson) +- fedora: Only enable FSI drivers on POWER platform (Peter Robinson) +- The CONFIG_RAW_DRIVER has been removed from upstream (Peter Robinson) +- fedora: updates for 5.14 with a few disables for common from pending (Peter Robinson) +- fedora: migrate from MFD_TPS68470 -> INTEL_SKL_INT3472 (Peter Robinson) +- fedora: Remove STAGING_GASKET_FRAMEWORK (Peter Robinson) +- Fedora: move DRM_VMWGFX configs from ark -> common (Peter Robinson) +- fedora: arm: disabled unused FB drivers (Peter Robinson) +- fedora: don't enable FB_VIRTUAL (Peter Robinson) +- redhat/configs: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1940075] +- rpmspec: fix verbose output on kernel-devel installation (Herton R. Krzesinski) [1981406] +- Build Fedora x86s kernels with bytcr-wm5102 (Marius Hoch) +- Deleted redhat/configs/fedora/generic/x86/CONFIG_FB_HYPERV (Patrick Lang) +- rpmspec: correct the ghost initramfs attributes (Herton R. Krzesinski) [1977056] +- rpmspec: amend removal of depmod created files to include modules.builtin.alias.bin (Herton R. Krzesinski) [1977056] +- configs: remove duplicate CONFIG_DRM_HYPERV file (Patrick Talbert) +- CI: use common code for merge and release (Don Zickus) +- rpmspec: add release string to kernel doc directory name (Jan Stancek) +- redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_MFD_INTEL_PMT (Michael Petlan) [1880486] +- redhat/configs: enable CONFIG_BLK_DEV_ZONED (Ming Lei) [1638087] +- Add --with clang_lto option to build the kernel with Link Time Optimizations (Tom Stellard) +- common: disable DVB_AV7110 and associated pieces (Peter Robinson) +- Fix fedora-only config updates (Don Zickus) +- Fedor config update for new option (Justin M. Forbes) +- redhat/configs: Enable stmmac NIC for x86_64 (Mark Salter) +- all: hyperv: use the DRM driver rather than FB (Peter Robinson) +- all: hyperv: unify the Microsoft HyperV configs (Peter Robinson) +- all: VMWare: clean up VMWare configs (Peter Robinson) +- Update CONFIG_ARM_FFA_TRANSPORT (Patrick Talbert) +- CI: Handle all mirrors (Veronika Kabatova) +- Turn on CONFIG_STACKTRACE for s390x zfpcdump kernels (Justin M. Forbes) +- arm64: switch ark kernel to 4K pagesize (Mark Salter) +- Disable AMIGA_PARTITION and KARMA_PARTITION (Prarit Bhargava) [1802694] +- all: unify and cleanup i2c TPM2 modules (Peter Robinson) +- redhat/configs: Set CONFIG_VIRTIO_IOMMU on aarch64 (Eric Auger) [1972795] +- redhat/configs: Disable CONFIG_RT_GROUP_SCHED in rhel config (Phil Auld) +- redhat/configs: enable KEXEC_SIG which is already enabled in RHEL8 for s390x and x86_64 (Coiby Xu) [1976835] +- rpmspec: do not BuildRequires bpftool on noarch (Herton R. Krzesinski) +- redhat/configs: disable {IMA,EVM}_LOAD_X509 (Bruno Meneguele) [1977529] +- redhat: add secureboot CA certificate to trusted kernel keyring (Bruno Meneguele) +- redhat/configs: enable IMA_ARCH_POLICY for aarch64 and s390x (Bruno Meneguele) +- redhat/configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1858599] +- common: enable STRICT_MODULE_RWX everywhere (Peter Robinson) +- COMMON_CLK_STM32MP157_SCMI is bool and selects COMMON_CLK_SCMI (Justin M. Forbes) +- kernel.spec: Add kernel{,-debug}-devel-matched meta packages (Timothée Ravier) +- Turn off with_selftests for Fedora (Justin M. Forbes) +- Don't build bpftool on Fedora (Justin M. Forbes) +- Fix location of syscall scripts for kernel-devel (Justin M. Forbes) +- fedora: arm: Enable some i.MX8 options (Peter Robinson) +- Enable Landlock for Fedora (Justin M. Forbes) +- Filter update for Fedora aarch64 (Justin M. Forbes) +- rpmspec: only build debug meta packages where we build debug ones (Herton R. Krzesinski) +- rpmspec: do not BuildRequires bpftool on nobuildarches (Herton R. Krzesinski) +- redhat/configs: Consolidate CONFIG_HMC_DRV in the common s390x folder (Thomas Huth) [1976270] +- redhat/configs: Consolidate CONFIG_EXPOLINE_OFF in the common folder (Thomas Huth) [1976270] +- redhat/configs: Move CONFIG_HW_RANDOM_S390 into the s390x/ subfolder (Thomas Huth) [1976270] +- redhat/configs: Disable CONFIG_HOTPLUG_PCI_SHPC in the Fedora settings (Thomas Huth) [1976270] +- redhat/configs: Remove the non-existent CONFIG_NO_BOOTMEM switch (Thomas Huth) [1976270] +- redhat/configs: Compile the virtio-console as a module on s390x (Thomas Huth) [1976270] +- redhat/configs: Enable CONFIG_S390_CCW_IOMMU and CONFIG_VFIO_CCW for ARK, too (Thomas Huth) [1976270] +- Revert "Merge branch 'ec_fips' into 'os-build'" (Vladis Dronov) [1947240] +- Fix typos in fedora filters (Justin M. Forbes) +- More filtering for Fedora (Justin M. Forbes) +- Fix Fedora module filtering for spi-altera-dfl (Justin M. Forbes) +- Fedora 5.13 config updates (Justin M. Forbes) +- fedora: cleanup TCG_TIS_I2C_CR50 (Peter Robinson) +- fedora: drop duplicate configs (Peter Robinson) +- More Fedora config updates for 5.13 (Justin M. Forbes) +- redhat/configs: Enable needed drivers for BlueField SoC on aarch64 (Alaa Hleihel) [1858592 1858594 1858596] +- redhat: Rename mod-blacklist.sh to mod-denylist.sh (Prarit Bhargava) +- redhat/configs: enable CONFIG_NET_ACT_MPLS (Marcelo Ricardo Leitner) +- configs: Enable CONFIG_DEBUG_KERNEL for zfcpdump (Jiri Olsa) +- kernel.spec: Add support to use vmlinux.h (Don Zickus) +- spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) +- Turn off DRM_XEN_FRONTEND for Fedora as we had DRM_XEN off already (Justin M. Forbes) +- Fedora 5.13 config updates pt 3 (Justin M. Forbes) +- all: enable ath11k wireless modules (Peter Robinson) +- all: Enable WWAN and associated MHI bus pieces (Peter Robinson) +- spec: Enable sefltests rpm build (Jiri Olsa) +- spec: Allow bpf selftest/samples to fail (Jiri Olsa) +- bpf, selftests: Disable tests that need clang13 (Toke Høiland-Jørgensen) +- kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Jiri Benc) +- kernel.spec: Add missing source files to kernel-selftests-internal (Jiri Benc) +- kernel.spec: selftests: add net/forwarding to TARGETS list (Jiri Benc) +- kernel.spec: selftests: add build requirement on libmnl-devel (Jiri Benc) +- kernel.spec: add action.o to kernel-selftests-internal (Jiri Benc) +- kernel.spec: avoid building bpftool repeatedly (Jiri Benc) +- kernel.spec: selftests require python3 (Jiri Benc) +- kernel.spec: skip selftests that failed to build (Jiri Benc) +- kernel.spec: fix installation of bpf selftests (Jiri Benc) +- redhat: fix samples and selftests make options (Jiri Benc) +- kernel.spec: enable mptcp selftests for kernel-selftests-internal (Jiri Benc) +- kernel.spec: Do not export shared objects from libexecdir to RPM Provides (Jiri Benc) +- kernel.spec: add missing dependency for the which package (Jiri Benc) +- kernel.spec: add netfilter selftests to kernel-selftests-internal (Jiri Benc) +- kernel.spec: move slabinfo and page_owner_sort debuginfo to tools-debuginfo (Jiri Benc) +- kernel.spec: package and ship VM tools (Jiri Benc) +- configs: enable CONFIG_PAGE_OWNER (Jiri Benc) +- kernel.spec: add coreutils (Jiri Benc) +- kernel.spec: add netdevsim driver selftests to kernel-selftests-internal (Jiri Benc) +- redhat/Makefile: Clean out the --without flags from the baseonly rule (Jiri Benc) +- kernel.spec: Stop building unnecessary rpms for baseonly builds (Jiri Benc) +- kernel.spec: disable more kabi switches for gcov build (Jiri Benc) +- kernel.spec: Rename kabi-dw base (Jiri Benc) +- kernel.spec: Fix error messages during build of zfcpdump kernel (Jiri Benc) +- kernel.spec: perf: remove bpf examples (Jiri Benc) +- kernel.spec: selftests should not depend on modules-internal (Jiri Benc) +- kernel.spec: build samples (Jiri Benc) +- kernel.spec: tools: sync missing options with RHEL 8 (Jiri Benc) +- redhat/configs: nftables: Enable extra flowtable symbols (Phil Sutter) +- redhat/configs: Sync netfilter options with RHEL8 (Phil Sutter) +- Fedora 5.13 config updates pt 2 (Justin M. Forbes) +- Move CONFIG_ARCH_INTEL_SOCFPGA up a level for Fedora (Justin M. Forbes) +- fedora: enable the Rockchip rk3399 pcie drivers (Peter Robinson) +- Fedora 5.13 config updates pt 1 (Justin M. Forbes) +- Fix version requirement from opencsd-devel buildreq (Justin M. Forbes) +- configs/ark/s390: set CONFIG_MARCH_Z14 and CONFIG_TUNE_Z15 (Philipp Rudo) [1876435] +- configs/common/s390: Clean up CONFIG_{MARCH,TUNE}_Z* (Philipp Rudo) +- configs/process_configs.sh: make use of dummy-tools (Philipp Rudo) +- configs/common: disable CONFIG_INIT_STACK_ALL_{PATTERN,ZERO} (Philipp Rudo) +- configs/common/aarch64: disable CONFIG_RELR (Philipp Rudo) +- redhat/config: enable STMICRO nic for RHEL (Mark Salter) +- redhat/configs: Enable ARCH_TEGRA on RHEL (Mark Salter) +- redhat/configs: enable IMA_KEXEC for supported arches (Bruno Meneguele) +- redhat/configs: enable INTEGRITY_SIGNATURE to all arches (Bruno Meneguele) +- configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) +- RHEL: disable io_uring support (Jeff Moyer) +- all: Changing CONFIG_UV_SYSFS to build uv_sysfs.ko as a loadable module. (Frank Ramsay) +- Enable NITRO_ENCLAVES on RHEL (Vitaly Kuznetsov) +- Update the Quick Start documentation (David Ward) +- redhat/configs: Set PVPANIC_MMIO for x86 and PVPANIC_PCI for aarch64 (Eric Auger) [1961178] +- bpf: Fix unprivileged_bpf_disabled setup (Jiri Olsa) +- Enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Jiri Olsa) +- configs/common/s390: disable CONFIG_QETH_{OSN,OSX} (Philipp Rudo) [1903201] +- nvme: nvme_mpath_init remove multipath check (Mike Snitzer) +- team: mark team driver as deprecated (Hangbin Liu) [1945477] +- Make CRYPTO_EC also builtin (Simo Sorce) [1947240] +- Do not hard-code a default value for DIST (David Ward) +- Override %%{debugbuildsenabled} if the --with-release option is used (David Ward) +- Improve comments in SPEC file, and move some option tests and macros (David Ward) +- configs: enable CONFIG_EXFAT_FS (Pavel Reichl) [1943423] +- Revert s390x/zfcpdump part of a9d179c40281 and ecbfddd98621 (Vladis Dronov) +- Embed crypto algos, modes and templates needed in the FIPS mode (Vladis Dronov) [1947240] +- configs: Add and enable CONFIG_HYPERV_TESTING for debug kernels (Mohammed Gamal) +- mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos (David Hildenbrand) [1945002] +- configs: enable CONFIG_CMA on x86_64 in ARK (David Hildenbrand) [1945002] +- rpmspec: build debug-* meta-packages if debug builds are disabled (Herton R. Krzesinski) +- UIO: disable unused config options (Aristeu Rozanski) [1957819] +- ARK-config: Make amd_pinctrl module builtin (Hans de Goede) +- rpmspec: revert/drop content hash for kernel-headers (Herton R. Krzesinski) +- rpmspec: fix check that calls InitBuildVars (Herton R. Krzesinski) +- fedora: enable zonefs (Damien Le Moal) +- redhat: load specific ARCH keys to INTEGRITY_PLATFORM_KEYRING (Bruno Meneguele) +- redhat: enable INTEGRITY_TRUSTED_KEYRING across all variants (Bruno Meneguele) +- redhat: enable SYSTEM_BLACKLIST_KEYRING across all variants (Bruno Meneguele) +- redhat: enable INTEGRITY_ASYMMETRIC_KEYS across all variants (Bruno Meneguele) +- Remove unused boot loader specification files (David Ward) +- redhat/configs: Enable mlx5 IPsec and TLS offloads (Alaa Hleihel) [1869674 1957636] +- Force DWARF4 because crash does not support DWARF5 yet (Justin M. Forbes) +- common: disable Apple Silicon generally (Peter Robinson) +- cleanup Intel's FPGA configs (Peter Robinson) +- common: move PTP KVM support from ark to common (Peter Robinson) +- Enable CONFIG_DRM_AMDGPU_USERPTR for everyone (Justin M. Forbes) +- redhat: add initial rpminspect configuration (Herton R. Krzesinski) +- fedora: arm updates for 5.13 (Peter Robinson) +- fedora: Enable WWAN and associated MHI bits (Peter Robinson) +- Update CONFIG_MODPROBE_PATH to /usr/sbin (Justin Forbes) +- Fedora set modprobe path (Justin M. Forbes) +- Keep sctp and l2tp modules in modules-extra (Don Zickus) +- Fix ppc64le cross build packaging (Don Zickus) +- Fedora: Make amd_pinctrl module builtin (Hans de Goede) +- Keep CONFIG_KASAN_HW_TAGS off for aarch64 debug configs (Justin M. Forbes) +- New configs in drivers/bus (Fedora Kernel Team) +- RHEL: Don't build KVM PR module on ppc64 (David Gibson) [1930649] +- Flip CONFIG_USB_ROLE_SWITCH from m to y (Justin M. Forbes) +- Set valid options for CONFIG_FW_LOADER_USER_HELPER (Justin M. Forbes) +- Clean up CONFIG_FB_MODE_HELPERS (Justin M. Forbes) +- Turn off CONFIG_VFIO for the s390x zfcpdump kernel (Justin M. Forbes) +- Delete unused CONFIG_SND_SOC_MAX98390 pending-common (Justin M. Forbes) +- Update pending-common configs, preparing to set correctly (Justin M. Forbes) +- Update fedora filters for surface (Justin M. Forbes) +- Build CONFIG_CRYPTO_ECDSA inline for s390x zfcpdump (Justin M. Forbes) +- Replace "flavour" where "variant" is meant instead (David Ward) +- Drop the %%{variant} macro and fix --with-vanilla (David Ward) +- Fix syntax of %%kernel_variant_files (David Ward) +- Change description of --without-vdso-install to fix typo (David Ward) +- Config updates to work around mismatches (Justin M. Forbes) +- CONFIG_SND_SOC_FSL_ASOC_CARD selects CONFIG_MFD_WM8994 now (Justin M. Forbes) +- wireguard: disable in FIPS mode (Hangbin Liu) [1940794] +- Enable mtdram for fedora (rhbz 1955916) (Justin M. Forbes) +- Remove reference to bpf-helpers man page (Justin M. Forbes) +- Fedora: enable more modules for surface devices (Dave Olsthoorn) +- Fix Fedora config mismatch for CONFIG_FSL_ENETC_IERB (Justin M. Forbes) +- hardlink is in /usr/bin/ now (Justin M. Forbes) +- Ensure CONFIG_KVM_BOOK3S_64_PR stays on in Fedora, even if it is turned off in RHEL (Justin M. Forbes) +- Set date in package release from repository commit, not system clock (David Ward) +- Use a better upstream tarball filename for snapshots (David Ward) +- Don't create empty pending-common files on pending-fedora commits (Don Zickus) +- nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) +- nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT (Mike Snitzer) +- nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) +- Add redhat/configs/pending-common/generic/s390x/zfcpdump/CONFIG_NETFS_SUPPORT (Justin M. Forbes) +- Create ark-latest branch last for CI scripts (Don Zickus) +- Replace /usr/libexec/platform-python with /usr/bin/python3 (David Ward) +- Turn off ADI_AXI_ADC and AD9467 which now require CONFIG_OF (Justin M. Forbes) +- Export ark infrastructure files (Don Zickus) +- docs: Update docs to reflect newer workflow. (Don Zickus) +- Use upstream/master for merge-base with fallback to master (Don Zickus) +- Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede) +- filter-modules.sh.fedora: clean up "netprots" (Paul Bolle) +- filter-modules.sh.fedora: clean up "scsidrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "ethdrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "driverdirs" (Paul Bolle) +- filter-*.sh.fedora: remove incorrect entries (Paul Bolle) +- filter-*.sh.fedora: clean up "singlemods" (Paul Bolle) +- filter-modules.sh.fedora: drop unused list "iiodrvs" (Paul Bolle) +- Update mod-internal to fix depmod issue (Nico Pache) +- Turn on CONFIG_VDPA_SIM_NET (rhbz 1942343) (Justin M. Forbes) +- New configs in drivers/power (Fedora Kernel Team) +- Turn on CONFIG_NOUVEAU_DEBUG_PUSH for debug configs (Justin M. Forbes) +- Turn off KFENCE sampling by default for Fedora (Justin M. Forbes) +- Fedora config updates round 2 (Justin M. Forbes) +- New configs in drivers/soc (Jeremy Cline) +- filter-modules.sh: Fix copy/paste error 'input' (Paul Bolle) +- Update module filtering for 5.12 kernels (Justin M. Forbes) +- Fix genlog.py to ensure that comments retain "%%" characters. (Mark Mielke) +- New configs in drivers/leds (Fedora Kernel Team) +- Limit CONFIG_USB_CDNS_SUPPORT to x86_64 and arm in Fedora (David Ward) +- Fedora: Enable CHARGER_GPIO on aarch64 too (Peter Robinson) +- Fedora config updates (Justin M. Forbes) +- wireguard: mark as Tech Preview (Hangbin Liu) [1613522] +- configs: enable CONFIG_WIREGUARD in ARK (Hangbin Liu) [1613522] +- Remove duplicate configs acroos fedora, ark and common (Don Zickus) +- Combine duplicate configs across ark and fedora into common (Don Zickus) +- common/ark: cleanup and unify the parport configs (Peter Robinson) +- iommu/vt-d: enable INTEL_IDXD_SVM for both fedora and rhel (Jerry Snitselaar) +- REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 (Jeremy Linton) +- configs/common/generic: disable CONFIG_SLAB_MERGE_DEFAULT (Rafael Aquini) +- Remove _legacy_common_support (Justin M. Forbes) +- redhat/mod-blacklist.sh: Fix floppy blacklisting (Hans de Goede) +- New configs in fs/pstore (CKI@GitLab) +- New configs in arch/powerpc (Fedora Kernel Team) +- configs: enable BPF LSM on Fedora and ARK (Ondrej Mosnacek) +- configs: clean up LSM configs (Ondrej Mosnacek) +- New configs in drivers/platform (CKI@GitLab) +- New configs in drivers/firmware (CKI@GitLab) +- New configs in drivers/mailbox (Fedora Kernel Team) +- New configs in drivers/net/phy (Justin M. Forbes) +- Update CONFIG_DM_MULTIPATH_IOA (Augusto Caringi) +- New configs in mm/Kconfig (CKI@GitLab) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in drivers/input (Fedora Kernel Team) +- New configs in net/bluetooth (Justin M. Forbes) +- New configs in drivers/clk (Fedora Kernel Team) +- New configs in init/Kconfig (Jeremy Cline) +- redhat: allow running fedora-configs and rh-configs targets outside of redhat/ (Herton R. Krzesinski) +- all: unify the disable of goldfish (android emulation platform) (Peter Robinson) +- common: minor cleanup/de-dupe of dma/dmabuf debug configs (Peter Robinson) +- common/ark: these drivers/arches were removed in 5.12 (Peter Robinson) +- Correct kernel-devel make prepare build for 5.12. (Paulo E. Castro) +- redhat: add initial support for centos stream dist-git sync on Makefiles (Herton R. Krzesinski) +- redhat/configs: Enable CONFIG_SCHED_STACK_END_CHECK for Fedora and ARK (Josh Poimboeuf) [1856174] +- CONFIG_VFIO now selects IOMMU_API instead of depending on it, causing several config mismatches for the zfcpdump kernel (Justin M. Forbes) +- Turn off weak-modules for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_FW_LOADER_COMPRESS for ARK (Herton R. Krzesinski) [1939095] +- Fedora: filters: update to move dfl-emif to modules (Peter Robinson) +- drop duplicate DEVFREQ_GOV_SIMPLE_ONDEMAND config (Peter Robinson) +- efi: The EFI_VARS is legacy and now x86 only (Peter Robinson) +- common: enable RTC_SYSTOHC to supplement update_persistent_clock64 (Peter Robinson) +- generic: arm: enable SCMI for all options (Peter Robinson) +- fedora: the PCH_CAN driver is x86-32 only (Peter Robinson) +- common: disable legacy CAN device support (Peter Robinson) +- common: Enable Microchip MCP251x/MCP251xFD CAN controllers (Peter Robinson) +- common: Bosch MCAN support for Intel Elkhart Lake (Peter Robinson) +- common: enable CAN_PEAK_PCIEFD PCI-E driver (Peter Robinson) +- common: disable CAN_PEAK_PCIEC PCAN-ExpressCard (Peter Robinson) +- common: enable common CAN layer 2 protocols (Peter Robinson) +- ark: disable CAN_LEDS option (Peter Robinson) +- Fedora: Turn on SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC option (Hans de Goede) +- Fedora: enable modules for surface devices (Dave Olsthoorn) +- Turn on SND_SOC_INTEL_SOUNDWIRE_SOF_MACH for Fedora again (Justin M. Forbes) +- common: fix WM8804 codec dependencies (Peter Robinson) +- Build SERIO_SERPORT as a module (Peter Robinson) +- input: touchscreen: move ELO and Wacom serial touchscreens to x86 (Peter Robinson) +- Sync serio touchscreens for non x86 architectures to the same as ARK (Peter Robinson) +- Only enable SERIO_LIBPS2 on x86 (Peter Robinson) +- Only enable PC keyboard controller and associated keyboard on x86 (Peter Robinson) +- Generic: Mouse: Tweak generic serial mouse options (Peter Robinson) +- Only enable PS2 Mouse options on x86 (Peter Robinson) +- Disable bluetooth highspeed by default (Peter Robinson) +- Fedora: A few more general updates for 5.12 window (Peter Robinson) +- Fedora: Updates for 5.12 merge window (Peter Robinson) +- Fedora: remove dead options that were removed upstream (Peter Robinson) +- redhat: remove CONFIG_DRM_PANEL_XINGBANGDA_XBD599 (Herton R. Krzesinski) +- New configs in arch/powerpc (Fedora Kernel Team) +- Turn on CONFIG_PPC_QUEUED_SPINLOCKS as it is default upstream now (Justin M. Forbes) +- Update pending-common configs to address new upstream config deps (Justin M. Forbes) +- rpmspec: ship gpio-watch.debug in the proper debuginfo package (Herton R. Krzesinski) +- Removed description text as a comment confuses the config generation (Justin M. Forbes) +- New configs in drivers/dma-buf (Jeremy Cline) +- Fedora: ARMv7: build for 16 CPUs. (Peter Robinson) +- Fedora: only enable DEBUG_HIGHMEM on debug kernels (Peter Robinson) +- process_configs.sh: fix find/xargs data flow (Ondrej Mosnacek) +- Fedora config update (Justin M. Forbes) +- fedora: minor arm sound config updates (Peter Robinson) +- Fix trailing white space in redhat/configs/fedora/generic/CONFIG_SND_INTEL_BYT_PREFER_SOF (Justin M. Forbes) +- Add a redhat/rebase-notes.txt file (Hans de Goede) +- Turn on SND_INTEL_BYT_PREFER_SOF for Fedora (Hans de Goede) +- CI: Drop MR ID from the name variable (Veronika Kabatova) +- redhat: add DUP and kpatch certificates to system trusted keys for RHEL build (Herton R. Krzesinski) +- The comments in CONFIG_USB_RTL8153_ECM actually turn off CONFIG_USB_RTL8152 (Justin M. Forbes) +- Update CKI pipeline project (Veronika Kabatova) +- Turn off additional KASAN options for Fedora (Justin M. Forbes) +- Rename the master branch to rawhide for Fedora (Justin M. Forbes) +- Makefile targets for packit integration (Ben Crocker) +- Turn off KASAN for rawhide debug builds (Justin M. Forbes) +- New configs in arch/arm64 (Justin Forbes) +- Remove deprecated Intel MIC config options (Peter Robinson) +- redhat: replace inline awk script with genlog.py call (Herton R. Krzesinski) +- redhat: add genlog.py script (Herton R. Krzesinski) +- kernel.spec.template - fix use_vdso usage (Ben Crocker) +- redhat: remove remaining references of CONFIG_RH_DISABLE_DEPRECATED (Herton R. Krzesinski) +- Turn off vdso_install for ppc (Justin M. Forbes) +- Remove bpf-helpers.7 from bpftool package (Jiri Olsa) +- New configs in lib/Kconfig.debug (Fedora Kernel Team) +- Turn off CONFIG_VIRTIO_CONSOLE for s390x zfcpdump (Justin M. Forbes) +- New configs in drivers/clk (Justin M. Forbes) +- Keep VIRTIO_CONSOLE on s390x available. (Jakub Čajka) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- Fedora 5.11 config updates part 4 (Justin M. Forbes) +- Fedora 5.11 config updates part 3 (Justin M. Forbes) +- Fedora 5.11 config updates part 2 (Justin M. Forbes) +- Update internal (test) module list from RHEL-8 (Joe Lawrence) [1915073] +- Fix USB_XHCI_PCI regression (Justin M. Forbes) +- fedora: fixes for ARMv7 build issue by disabling HIGHPTE (Peter Robinson) +- all: s390x: Increase CONFIG_PCI_NR_FUNCTIONS to 512 (#1888735) (Dan Horák) +- Fedora 5.11 configs pt 1 (Justin M. Forbes) +- redhat: avoid conflict with mod-blacklist.sh and released_kernel defined (Herton R. Krzesinski) +- redhat: handle certificate files conditionally as done for src.rpm (Herton R. Krzesinski) +- specfile: add %%{?_smp_mflags} to "make headers_install" in tools/testing/selftests (Denys Vlasenko) +- specfile: add %%{?_smp_mflags} to "make samples/bpf/" (Denys Vlasenko) +- Run MR testing in CKI pipeline (Veronika Kabatova) +- Reword comment (Nicolas Chauvet) +- Add with_cross_arm conditional (Nicolas Chauvet) +- Redefines __strip if with_cross (Nicolas Chauvet) +- fedora: only enable ACPI_CONFIGFS, ACPI_CUSTOM_METHOD in debug kernels (Peter Robinson) +- fedora: User the same EFI_CUSTOM_SSDT_OVERLAYS as ARK (Peter Robinson) +- all: all arches/kernels enable the same DMI options (Peter Robinson) +- all: move SENSORS_ACPI_POWER to common/generic (Peter Robinson) +- fedora: PCIE_HISI_ERR is already in common (Peter Robinson) +- all: all ACPI platforms enable ATA_ACPI so move it to common (Peter Robinson) +- all: x86: move shared x86 acpi config options to generic (Peter Robinson) +- All: x86: Move ACPI_VIDEO to common/x86 (Peter Robinson) +- All: x86: Enable ACPI_DPTF (Intel DPTF) (Peter Robinson) +- All: enable ACPI_BGRT for all ACPI platforms. (Peter Robinson) +- All: Only build ACPI_EC_DEBUGFS for debug kernels (Peter Robinson) +- All: Disable Intel Classmate PC ACPI_CMPC option (Peter Robinson) +- cleanup: ACPI_PROCFS_POWER was removed upstream (Peter Robinson) +- All: ACPI: De-dupe the ACPI options that are the same across ark/fedora on x86/arm (Peter Robinson) +- Enable the vkms module in Fedora (Jeremy Cline) +- Fedora: arm updates for 5.11 and general cross Fedora cleanups (Peter Robinson) +- Add gcc-c++ to BuildRequires (Justin M. Forbes) +- Update CONFIG_KASAN_HW_TAGS (Justin M. Forbes) +- fedora: arm: move generic power off/reset to all arm (Peter Robinson) +- fedora: ARMv7: build in DEVFREQ_GOV_SIMPLE_ONDEMAND until I work out why it's changed (Peter Robinson) +- fedora: cleanup joystick_adc (Peter Robinson) +- fedora: update some display options (Peter Robinson) +- fedora: arm: enable TI PRU options (Peter Robinson) +- fedora: arm: minor exynos plaform updates (Peter Robinson) +- arm: SoC: disable Toshiba Visconti SoC (Peter Robinson) +- common: disable ARCH_BCM4908 (NFC) (Peter Robinson) +- fedora: minor arm config updates (Peter Robinson) +- fedora: enable Tegra 234 SoC (Peter Robinson) +- fedora: arm: enable new Hikey 3xx options (Peter Robinson) +- Fedora: USB updates (Peter Robinson) +- fedora: enable the GNSS receiver subsystem (Peter Robinson) +- Remove POWER_AVS as no longer upstream (Peter Robinson) +- Cleanup RESET_RASPBERRYPI (Peter Robinson) +- Cleanup GPIO_CDEV_V1 options. (Peter Robinson) +- fedora: arm crypto updates (Peter Robinson) +- CONFIG_KASAN_HW_TAGS for aarch64 (Justin M. Forbes) +- Fedora: cleanup PCMCIA configs, move to x86 (Peter Robinson) +- New configs in drivers/rtc (Fedora Kernel Team) +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGINS on ARK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_KASAN on Fedora (Josh Poimboeuf) [1856176] +- New configs in init/Kconfig (Fedora Kernel Team) +- build_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- genspec.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- mod-blacklist.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Enable Speakup accessibility driver (Justin M. Forbes) +- New configs in init/Kconfig (Fedora Kernel Team) +- Fix fedora config mismatch due to dep changes (Justin M. Forbes) +- New configs in drivers/crypto (Jeremy Cline) +- Remove duplicate ENERGY_MODEL configs (Peter Robinson) +- This is selected by PCIE_QCOM so must match (Justin M. Forbes) +- drop unused BACKLIGHT_GENERIC (Peter Robinson) +- Remove cp instruction already handled in instruction below. (Paulo E. Castro) +- Add all the dependencies gleaned from running `make prepare` on a bloated devel kernel. (Paulo E. Castro) +- Add tools to path mangling script. (Paulo E. Castro) +- Remove duplicate cp statement which is also not specific to x86. (Paulo E. Castro) +- Correct orc_types failure whilst running `make prepare` https://bugzilla.redhat.com/show_bug.cgi?id=1882854 (Paulo E. Castro) +- redhat: ark: enable CONFIG_IKHEADERS (Jiri Olsa) +- Add missing '$' sign to (GIT) in redhat/Makefile (Augusto Caringi) +- Remove filterdiff and use native git instead (Don Zickus) +- New configs in net/sched (Justin M. Forbes) +- New configs in drivers/mfd (CKI@GitLab) +- New configs in drivers/mfd (Fedora Kernel Team) +- New configs in drivers/firmware (Fedora Kernel Team) +- Temporarily backout parallel xz script (Justin M. Forbes) +- redhat: explicitly disable CONFIG_IMA_APPRAISE_SIGNED_INIT (Bruno Meneguele) +- redhat: enable CONFIG_EVM_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM_ATTR_FSUUID on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM in all arches and flavors (Bruno Meneguele) +- redhat: enable CONFIG_IMA_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: set CONFIG_IMA_DEFAULT_HASH to SHA256 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT (Bruno Meneguele) +- redhat: enable CONFIG_IMA_READ_POLICY on ARK (Bruno Meneguele) +- redhat: set default IMA template for all ARK arches (Bruno Meneguele) +- redhat: enable CONFIG_IMA_DEFAULT_HASH_SHA256 for all flavors (Bruno Meneguele) +- redhat: disable CONFIG_IMA_DEFAULT_HASH_SHA1 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_ARCH_POLICY for ppc and x86 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_MODSIG (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_BOOTPARAM (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE (Bruno Meneguele) +- redhat: enable CONFIG_INTEGRITY for aarch64 (Bruno Meneguele) +- kernel: Update some missing KASAN/KCSAN options (Jeremy Linton) +- kernel: Enable coresight on aarch64 (Jeremy Linton) +- Update CONFIG_INET6_ESPINTCP (Justin Forbes) +- New configs in net/ipv6 (Justin M. Forbes) +- fedora: move CONFIG_RTC_NVMEM options from ark to common (Peter Robinson) +- configs: Enable CONFIG_DEBUG_INFO_BTF (Don Zickus) +- fedora: some minor arm audio config tweaks (Peter Robinson) +- Ship xpad with default modules on Fedora and RHEL (Bastien Nocera) +- Fedora: Only enable legacy serial/game port joysticks on x86 (Peter Robinson) +- Fedora: Enable the options required for the Librem 5 Phone (Peter Robinson) +- Fedora config update (Justin M. Forbes) +- Fedora config change because CONFIG_FSL_DPAA2_ETH now selects CONFIG_FSL_XGMAC_MDIO (Justin M. Forbes) +- redhat: generic enable CONFIG_INET_MPTCP_DIAG (Davide Caratti) +- Fedora config update (Justin M. Forbes) +- Enable NANDSIM for Fedora (Justin M. Forbes) +- Re-enable CONFIG_ACPI_TABLE_UPGRADE for Fedora since upstream disables this if secureboot is active (Justin M. Forbes) +- Ath11k related config updates (Justin M. Forbes) +- Fedora config updates for ath11k (Justin M. Forbes) +- Turn on ATH11K for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) +- More Fedora config fixes (Justin M. Forbes) +- Fedora 5.10 config updates (Justin M. Forbes) +- Fedora 5.10 configs round 1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Allow kernel-tools to build without selftests (Don Zickus) +- Allow building of kernel-tools standalone (Don Zickus) +- redhat: ark: disable CONFIG_NET_ACT_CTINFO (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_TEQL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_SFB (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_QFQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PLUG (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PIE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_HHF (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DSMARK (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DRR (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CODEL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CHOKE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CBQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_ATM (Davide Caratti) +- redhat: ark: disable CONFIG_NET_EMATCH and sub-targets (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_TCINDEX (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP6 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_ROUTE4 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_BASIC (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SKBMOD (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SIMP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_NAT (Davide Caratti) +- arm64/defconfig: Enable CONFIG_KEXEC_FILE (Bhupesh Sharma) [1821565] +- redhat/configs: Cleanup CONFIG_CRYPTO_SHA512 (Prarit Bhargava) +- New configs in drivers/mfd (Fedora Kernel Team) +- Fix LTO issues with kernel-tools (Don Zickus) +- Point pathfix to the new location for gen_compile_commands.py (Justin M. Forbes) +- configs: Disable CONFIG_SECURITY_SELINUX_DISABLE (Ondrej Mosnacek) +- [Automatic] Handle config dependency changes (Don Zickus) +- configs/iommu: Add config comment to empty CONFIG_SUN50I_IOMMU file (Jerry Snitselaar) +- New configs in kernel/trace (Fedora Kernel Team) +- Fix Fedora config locations (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- configs: enable CONFIG_CRYPTO_CTS=y so cts(cbc(aes)) is available in FIPS mode (Vladis Dronov) [1855161] +- Partial revert: Add master merge check (Don Zickus) +- Update Maintainers doc to reflect workflow changes (Don Zickus) +- WIP: redhat/docs: Update documentation for single branch workflow (Prarit Bhargava) +- Add CONFIG_ARM64_MTE which is not picked up by the config scripts for some reason (Justin M. Forbes) +- Disable Speakup synth DECEXT (Justin M. Forbes) +- Enable Speakup for Fedora since it is out of staging (Justin M. Forbes) +- Modify patchlist changelog output (Don Zickus) +- process_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- generate_all_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- redhat/self-test: Initial commit (Ben Crocker) +- Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL only (Peter Robinson) +- arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) +- redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] +- x86: Fix compile issues with rh_check_supported() (Don Zickus) +- KEYS: Make use of platform keyring for module signature verify (Robert Holmes) +- Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires) +- ARM: tegra: usb no reset (Peter Robinson) +- arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters) +- redhat: rh_kabi: deduplication friendly structs (Jiri Benc) +- redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) +- redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) +- redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) +- redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) +- redhat: rh_kabi: Add macros to size and extend structs (Prarit Bhargava) +- Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) +- mptsas: pci-id table changes (Laura Abbott) +- mptsas: Taint kernel if mptsas is loaded (Laura Abbott) +- mptspi: pci-id table changes (Laura Abbott) +- qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline) +- be2iscsi: remove unsupported device IDs (Chris Leech) +- mptspi: Taint kernel if mptspi is loaded (Laura Abbott) +- hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) +- qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) +- aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) +- megaraid_sas: remove deprecated pci-ids (Tomas Henzl) +- mpt*: remove certain deprecated pci-ids (Jeremy Cline) +- kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) +- Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES (Don Zickus) +- Add option of 13 for FORCE_MAX_ZONEORDER (Peter Robinson) +- s390: Lock down the kernel when the IPL secure flag is set (Jeremy Cline) +- efi: Lock down the kernel if booted in secure boot mode (David Howells) +- efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells) +- security: lockdown: expose a hook to lock the kernel down (Jeremy Cline) +- Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones) +- Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones) +- Add support for deprecating processors (Laura Abbott) [1565717 1595918 1609604 1610493] +- arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline) +- iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) +- rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) +- ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [1670017] +- kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] +- add pci_hw_vendor_status() (Maurizio Lombardi) +- ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) +- Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) +- bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] +- add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] +- tags.sh: Ignore redhat/rpm (Jeremy Cline) +- put RHEL info into generated headers (Laura Abbott) [1663728] +- acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] +- aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] +- ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] +- modules: add rhelversion MODULE_INFO tag (Laura Abbott) +- ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] +- Add Red Hat tainting (Laura Abbott) [1565704] +- Introduce CONFIG_RH_DISABLE_DEPRECATED (Laura Abbott) +- Stop merging ark-patches for release (Don Zickus) +- Fix path location for ark-update-configs.sh (Don Zickus) +- Combine Red Hat patches into single patch (Don Zickus) +- New configs in drivers/misc (Jeremy Cline) +- New configs in drivers/net/wireless (Justin M. Forbes) +- New configs in drivers/phy (Fedora Kernel Team) +- New configs in drivers/tty (Fedora Kernel Team) +- Set SquashFS decompression options for all flavors to match RHEL (Bohdan Khomutskyi) +- configs: Enable CONFIG_ENERGY_MODEL (Phil Auld) +- New configs in drivers/pinctrl (Fedora Kernel Team) +- Update CONFIG_THERMAL_NETLINK (Justin Forbes) +- Separate merge-upstream and release stages (Don Zickus) +- Re-enable CONFIG_IR_SERIAL on Fedora (Prarit Bhargava) +- Create Patchlist.changelog file (Don Zickus) +- Filter out upstream commits from changelog (Don Zickus) +- Merge Upstream script fixes (Don Zickus) +- kernel.spec: Remove kernel-keys directory on rpm erase (Prarit Bhargava) +- Add mlx5_vdpa to module filter for Fedora (Justin M. Forbes) +- Add python3-sphinx_rtd_theme buildreq for docs (Justin M. Forbes) +- redhat/configs/process_configs.sh: Remove *.config.orig files (Prarit Bhargava) +- redhat/configs/process_configs.sh: Add process_configs_known_broken flag (Prarit Bhargava) +- redhat/Makefile: Fix '*-configs' targets (Prarit Bhargava) +- dist-merge-upstream: Checkout known branch for ci scripts (Don Zickus) +- kernel.spec: don't override upstream compiler flags for ppc64le (Dan Horák) +- Fedora config updates (Justin M. Forbes) +- Fedora confi gupdate (Justin M. Forbes) +- mod-sign.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Swap how ark-latest is built (Don Zickus) +- Add extra version bump to os-build branch (Don Zickus) +- dist-release: Avoid needless version bump. (Don Zickus) +- Add dist-fedora-release target (Don Zickus) +- Remove redundant code in dist-release (Don Zickus) +- Makefile.common rename TAG to _TAG (Don Zickus) +- Fedora config change (Justin M. Forbes) +- Fedora filter update (Justin M. Forbes) +- Config update for Fedora (Justin M. Forbes) +- enable PROTECTED_VIRTUALIZATION_GUEST for all s390x kernels (Dan Horák) +- redhat: ark: enable CONFIG_NET_SCH_TAPRIO (Davide Caratti) +- redhat: ark: enable CONFIG_NET_SCH_ETF (Davide Caratti) +- More Fedora config updates (Justin M. Forbes) +- New config deps (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- First half of config updates for Fedora (Justin M. Forbes) +- Updates for Fedora arm architectures for the 5.9 window (Peter Robinson) +- Merge 5.9 config changes from Peter Robinson (Justin M. Forbes) +- Add config options that only show up when we prep on arm (Justin M. Forbes) +- Config updates for Fedora (Justin M. Forbes) +- fedora: enable enery model (Peter Robinson) +- Use the configs/generic config for SND_HDA_INTEL everywhere (Peter Robinson) +- Enable ZSTD compression algorithm on all kernels (Peter Robinson) +- Enable ARM_SMCCC_SOC_ID on all aarch64 kernels (Peter Robinson) +- iio: enable LTR-559 light and proximity sensor (Peter Robinson) +- iio: chemical: enable some popular chemical and partical sensors (Peter Robinson) +- More mismatches (Justin M. Forbes) +- Fedora config change due to deps (Justin M. Forbes) +- CONFIG_SND_SOC_MAX98390 is now selected by SND_SOC_INTEL_DA7219_MAX98357A_GENERIC (Justin M. Forbes) +- Config change required for build part 2 (Justin M. Forbes) +- Config change required for build (Justin M. Forbes) +- Fedora config update (Justin M. Forbes) +- Add ability to sync upstream through Makefile (Don Zickus) +- Add master merge check (Don Zickus) +- Replace hardcoded values 'os-build' and project id with variables (Don Zickus) +- redhat/Makefile.common: Fix MARKER (Prarit Bhargava) +- gitattributes: Remove unnecesary export restrictions (Prarit Bhargava) +- Add new certs for dual signing with boothole (Justin M. Forbes) +- Update secureboot signing for dual keys (Justin M. Forbes) +- fedora: enable LEDS_SGM3140 for arm configs (Peter Robinson) +- Enable CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG (Justin M. Forbes) +- redhat/configs: Fix common CONFIGs (Prarit Bhargava) +- redhat/configs: General CONFIG cleanups (Prarit Bhargava) +- redhat/configs: Update & generalize evaluate_configs (Prarit Bhargava) +- fedora: arm: Update some meson config options (Peter Robinson) +- redhat/docs: Add Fedora RPM tagging date (Prarit Bhargava) +- Update config for renamed panel driver. (Peter Robinson) +- Enable SERIAL_SC16IS7XX for SPI interfaces (Peter Robinson) +- s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus) +- Fedora config updates (Justin M. Forbes) +- redhat/configs: Add .tmp files to .gitignore (Prarit Bhargava) +- disable uncommon TCP congestion control algorithms (Davide Caratti) +- Add new bpf man pages (Justin M. Forbes) +- Add default option for CONFIG_ARM64_BTI_KERNEL to pending-common so that eln kernels build (Justin M. Forbes) +- redhat/Makefile: Add fedora-configs and rh-configs make targets (Prarit Bhargava) +- redhat/configs: Use SHA512 for module signing (Prarit Bhargava) +- genspec.sh: 'touch' empty Patchlist file for single tarball (Don Zickus) +- Fedora config update for rc1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- redhat/Makefile.common: fix RPMKSUBLEVEL condition (Ondrej Mosnacek) +- redhat/Makefile: silence KABI tar output (Ondrej Mosnacek) +- One more Fedora config update (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix PATCHLEVEL for merge window (Justin M. Forbes) +- Change ark CONFIG_COMMON_CLK to yes, it is selected already by other options (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More module filtering for Fedora (Justin M. Forbes) +- Update filters for rnbd in Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix up module filtering for 5.8 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More Fedora config work (Justin M. Forbes) +- RTW88BE and CE have been extracted to their own modules (Justin M. Forbes) +- Set CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK for Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Arm64 Use Branch Target Identification for kernel (Justin M. Forbes) +- Change value of CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix configs for Fedora (Justin M. Forbes) +- Add zero-commit to format-patch options (Justin M. Forbes) +- Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline) +- Move the sed to clear the patch templating outside of conditionals (Justin M. Forbes) +- Match template format in kernel.spec.template (Justin M. Forbes) +- Break out the Patches into individual files for dist-git (Justin M. Forbes) +- Break the Red Hat patch into individual commits (Jeremy Cline) +- Fix update_scripts.sh unselective pattern sub (David Howells) +- Add cec to the filter overrides (Justin M. Forbes) +- Add overrides to filter-modules.sh (Justin M. Forbes) +- redhat/configs: Enable CONFIG_SMC91X and disable CONFIG_SMC911X (Prarit Bhargava) [1722136] +- Include bpftool-struct_ops man page in the bpftool package (Jeremy Cline) +- Add sharedbuffer_configuration.py to the pathfix.py script (Jeremy Cline) +- Use __make macro instead of make (Tom Stellard) +- Sign off generated configuration patches (Jeremy Cline) +- Drop the static path configuration for the Sphinx docs (Jeremy Cline) +- redhat: Add dummy-module kernel module (Prarit Bhargava) +- redhat: enable CONFIG_LWTUNNEL_BPF (Jiri Benc) +- Remove typoed config file aarch64CONFIG_SM_GCC_8150 (Justin M. Forbes) +- Add Documentation back to kernel-devel as it has Kconfig now (Justin M. Forbes) +- Copy distro files rather than moving them (Jeremy Cline) +- kernel.spec: fix 'make scripts' for kernel-devel package (Brian Masney) +- Makefile: correct help text for dist-cross--rpms (Brian Masney) +- redhat/Makefile: Fix RHEL8 python warning (Prarit Bhargava) +- redhat: Change Makefile target names to dist- (Prarit Bhargava) +- configs: Disable Serial IR driver (Prarit Bhargava) +- Fix "multiple %%files for package kernel-tools" (Pablo Greco) +- Introduce a Sphinx documentation project (Jeremy Cline) +- Build ARK against ELN (Don Zickus) +- Drop the requirement to have a remote called linus (Jeremy Cline) +- Rename 'internal' branch to 'os-build' (Don Zickus) +- Only include open merge requests with "Include in Releases" label (Jeremy Cline) +- Package gpio-watch in kernel-tools (Jeremy Cline) +- Exit non-zero if the tag already exists for a release (Jeremy Cline) +- Adjust the changelog update script to not push anything (Jeremy Cline) +- Drop --target noarch from the rh-rpms make target (Jeremy Cline) +- Add a script to generate release tags and branches (Jeremy Cline) +- Set CONFIG_VDPA for fedora (Justin M. Forbes) +- Add a README to the dist-git repository (Jeremy Cline) +- Provide defaults in ark-rebase-patches.sh (Jeremy Cline) +- Default ark-rebase-patches.sh to not report issues (Jeremy Cline) +- Drop DIST from release commits and tags (Jeremy Cline) +- Place the buildid before the dist in the release (Jeremy Cline) +- Sync up with Fedora arm configuration prior to merging (Jeremy Cline) +- Disable CONFIG_PROTECTED_VIRTUALIZATION_GUEST for zfcpdump (Jeremy Cline) +- Add RHMAINTAINERS file and supporting conf (Don Zickus) +- Add a script to test if all commits are signed off (Jeremy Cline) +- Fix make rh-configs-arch (Don Zickus) +- Drop RH_FEDORA in favor of the now-merged RHEL_DIFFERENCES (Jeremy Cline) +- Sync up Fedora configs from the first week of the merge window (Jeremy Cline) +- Migrate blacklisting floppy.ko to mod-blacklist.sh (Don Zickus) +- kernel packaging: Combine mod-blacklist.sh and mod-extra-blacklist.sh (Don Zickus) +- kernel packaging: Fix extra namespace collision (Don Zickus) +- mod-extra.sh: Rename to mod-blacklist.sh (Don Zickus) +- mod-extra.sh: Make file generic (Don Zickus) +- Fix a painfully obvious YAML syntax error in .gitlab-ci.yml (Jeremy Cline) +- Add in armv7hl kernel header support (Don Zickus) +- Disable all BuildKernel commands when only building headers (Don Zickus) +- Drop any gitlab-ci patches from ark-patches (Jeremy Cline) +- Build the srpm for internal branch CI using the vanilla tree (Jeremy Cline) +- Pull in the latest ARM configurations for Fedora (Jeremy Cline) +- Fix xz memory usage issue (Neil Horman) +- Use ark-latest instead of master for update script (Jeremy Cline) +- Move the CI jobs back into the ARK repository (Jeremy Cline) +- Sync up ARK's Fedora config with the dist-git repository (Jeremy Cline) +- Pull in the latest configuration changes from Fedora (Jeremy Cline) +- configs: enable CONFIG_NET_SCH_CBS (Marcelo Ricardo Leitner) +- Drop configuration options in fedora/ that no longer exist (Jeremy Cline) +- Set RH_FEDORA for ARK and Fedora (Jeremy Cline) +- redhat/kernel.spec: Include the release in the kernel COPYING file (Jeremy Cline) +- redhat/kernel.spec: add scripts/jobserver-exec to py3_shbang_opts list (Jeremy Cline) +- redhat/kernel.spec: package bpftool-gen man page (Jeremy Cline) +- distgit-changelog: handle multiple y-stream BZ numbers (Bruno Meneguele) +- redhat/kernel.spec: remove all inline comments (Bruno Meneguele) +- redhat/genspec: awk unknown whitespace regex pattern (Bruno Meneguele) +- Improve the readability of gen_config_patches.sh (Jeremy Cline) +- Fix some awkward edge cases in gen_config_patches.sh (Jeremy Cline) +- Update the CI environment to use Fedora 31 (Jeremy Cline) +- redhat: drop whitespace from with_gcov macro (Jan Stancek) +- configs: Enable CONFIG_KEY_DH_OPERATIONS on ARK (Ondrej Mosnacek) +- configs: Adjust CONFIG_MPLS_ROUTING and CONFIG_MPLS_IPTUNNEL (Laura Abbott) +- New configs in lib/crypto (Jeremy Cline) +- New configs in drivers/char (Jeremy Cline) +- Turn on BLAKE2B for Fedora (Jeremy Cline) +- kernel.spec.template: Clean up stray *.h.s files (Laura Abbott) +- Build the SRPM in the CI job (Jeremy Cline) +- New configs in net/tls (Jeremy Cline) +- New configs in net/tipc (Jeremy Cline) +- New configs in lib/kunit (Jeremy Cline) +- Fix up released_kernel case (Laura Abbott) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- New configs in drivers/ptp (Jeremy Cline) +- New configs in drivers/nvme (Jeremy Cline) +- New configs in drivers/net/phy (Jeremy Cline) +- New configs in arch/arm64 (Jeremy Cline) +- New configs in drivers/crypto (Jeremy Cline) +- New configs in crypto/Kconfig (Jeremy Cline) +- Add label so the Gitlab to email bridge ignores the changelog (Jeremy Cline) +- Temporarily switch TUNE_DEFAULT to y (Jeremy Cline) +- Run config test for merge requests and internal (Jeremy Cline) +- Add missing licensedir line (Laura Abbott) +- redhat/scripts: Remove redhat/scripts/rh_get_maintainer.pl (Prarit Bhargava) +- configs: Take CONFIG_DEFAULT_MMAP_MIN_ADDR from Fedra (Laura Abbott) +- configs: Turn off ISDN (Laura Abbott) +- Add a script to generate configuration patches (Laura Abbott) +- Introduce rh-configs-commit (Laura Abbott) +- kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) +- configs: Enable CONFIG_DEBUG_WX (Laura Abbott) +- configs: Disable wireless USB (Laura Abbott) +- Clean up some temporary config files (Laura Abbott) +- configs: New config in drivers/gpu for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/powerpc for v5.4-rc1 (Jeremy Cline) +- configs: New config in crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/usb for v5.4-rc1 (Jeremy Cline) +- AUTOMATIC: New configs (Jeremy Cline) +- Skip ksamples for bpf, they are broken (Jeremy Cline) +- configs: New config in fs/erofs for v5.4-rc1 (Jeremy Cline) +- configs: New config in mm for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/md for v5.4-rc1 (Jeremy Cline) +- configs: New config in init for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/fuse for v5.4-rc1 (Jeremy Cline) +- merge.pl: Avoid comments but do not skip them (Don Zickus) +- configs: New config in drivers/net/ethernet/pensando for v5.4-rc1 (Jeremy Cline) +- Update a comment about what released kernel means (Laura Abbott) +- Provide both Fedora and RHEL files in the SRPM (Laura Abbott) +- kernel.spec.template: Trim EXTRAVERSION in the Makefile (Laura Abbott) +- kernel.spec.template: Add macros for building with nopatches (Laura Abbott) +- kernel.spec.template: Add some macros for Fedora differences (Laura Abbott) +- kernel.spec.template: Consolodate the options (Laura Abbott) +- configs: Add pending direcory to Fedora (Laura Abbott) +- kernel.spec.template: Don't run hardlink if rpm-ostree is in use (Laura Abbott) +- configs: New config in net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/phy for v5.4-rc1 (Jeremy Cline) +- configs: Increase x86_64 NR_UARTS to 64 (Prarit Bhargava) [1730649] +- configs: turn on ARM64_FORCE_52BIT for debug builds (Jeremy Cline) +- kernel.spec.template: Tweak the python3 mangling (Laura Abbott) +- kernel.spec.template: Add --with verbose option (Laura Abbott) +- kernel.spec.template: Switch to using %%install instead of %%__install (Laura Abbott) +- kernel.spec.template: Make the kernel.org URL https (Laura Abbott) +- kernel.spec.template: Update message about secure boot signing (Laura Abbott) +- kernel.spec.template: Move some with flags definitions up (Laura Abbott) +- kernel.spec.template: Update some BuildRequires (Laura Abbott) +- kernel.spec.template: Get rid of %%clean (Laura Abbott) +- configs: New config in drivers/char for v5.4-rc1 (Jeremy Cline) +- configs: New config in net/sched for v5.4-rc1 (Jeremy Cline) +- configs: New config in lib for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/verity for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/aarch64 for v5.4-rc4 (Jeremy Cline) +- configs: New config in arch/arm64 for v5.4-rc1 (Jeremy Cline) +- Flip off CONFIG_ARM64_VA_BITS_52 so the bundle that turns it on applies (Jeremy Cline) +- New configuration options for v5.4-rc4 (Jeremy Cline) +- Correctly name tarball for single tarball builds (Laura Abbott) +- configs: New config in drivers/pci for v5.4-rc1 (Jeremy Cline) +- Allow overriding the dist tag on the command line (Laura Abbott) +- Allow scratch branch target to be overridden (Laura Abbott) +- Remove long dead BUILD_DEFAULT_TARGET (Laura Abbott) +- Amend the changelog when rebasing (Laura Abbott) +- configs: New config in drivers/platform for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/pinctrl for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/wireless for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/ethernet/mellanox for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hid for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/dma-buf for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in block for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/cpuidle for v5.4-rc1 (Jeremy Cline) +- redhat: configs: Split CONFIG_CRYPTO_SHA512 (Laura Abbott) +- redhat: Set Fedora options (Laura Abbott) +- Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline) +- configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline) +- Add option to allow mismatched configs on the command line (Laura Abbott) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline) +- gitlab: Add CI job for packaging scripts (Major Hayden) +- Speed up CI with CKI image (Major Hayden) +- Disable e1000 driver in ARK (Neil Horman) +- configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline) +- configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline) +- configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline) +- Add an initial CI configuration for the internal branch (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- Pull the RHEL version defines out of the Makefile (Jeremy Cline) +- Sync up the ARK build scripts (Jeremy Cline) +- Sync up the Fedora Rawhide configs (Jeremy Cline) +- Sync up the ARK config files (Jeremy Cline) +- configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott) +- configs: Add README for some other arches (Laura Abbott) +- configs: Sync up Fedora configs (Laura Abbott) +- [initial commit] Add structure for building with git (Laura Abbott) +- [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott) +- [initial commit] Red Hat gitignore and attributes (Laura Abbott) +- [initial commit] Add changelog (Laura Abbott) +- [initial commit] Add makefile (Laura Abbott) +- [initial commit] Add files for generating the kernel.spec (Laura Abbott) +- [initial commit] Add rpm directory (Laura Abbott) +- [initial commit] Add files for packaging (Laura Abbott) +- [initial commit] Add kabi files (Laura Abbott) +- [initial commit] Add scripts (Laura Abbott) +- [initial commit] Add configs (Laura Abbott) +- [initial commit] Add Makefiles (Laura Abbott) + +# The following bit is important for automation so please do not remove +# END OF CHANGELOG + +### +# The following Emacs magic makes C-c C-e use UTC dates. +# Local Variables: +# rpm-change-log-uses-utc: t +# End: +### diff --git a/kvm_stat.logrotate b/kvm_stat.logrotate new file mode 100644 index 0000000..105e15e --- /dev/null +++ b/kvm_stat.logrotate @@ -0,0 +1,11 @@ +/var/log/kvm_stat.csv { + size 10M + missingok + compress + maxage 30 + rotate 5 + nodateext + postrotate + /usr/bin/systemctl try-restart kvm_stat.service + endscript +} diff --git a/linux-kernel-test.patch b/linux-kernel-test.patch new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/linux-kernel-test.patch diff --git a/merge.pl b/merge.pl new file mode 100755 index 0000000..dbaf592 --- /dev/null +++ b/merge.pl @@ -0,0 +1,72 @@ +#! /usr/bin/perl + +my @args=@ARGV; +my %configvalues; +my @configoptions; +my $configcounter = 0; + +# optionally print out the architecture as the first line of our output +my $arch = $args[2]; +if (defined $arch) { + print "# $arch\n"; +} + +# first, read the override file + +open (FILE,"$args[0]") || die "Could not open $args[0]"; +while () { + my $str = $_; + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/^\#/) { + # fall through on comments like 'avoid CONFIG_FOO=y' + ; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && !exists($configvalues{$configname})) { + $configvalues{$configname} = $str; + $configoptions[$configcounter] = $configname; + $configcounter ++; + } +}; + +# now, read and output the entire configfile, except for the overridden +# parts... for those the new value is printed. + +open (FILE2,"$args[1]") || die "Could not open $args[1]"; +while () { + my $configname; + + if (/\# ([\w]+) is not set/) { + $configname = $1; + } elsif (/^\#/) { + # fall through on comments like 'avoid CONFIG_FOO=y' + ; + } elsif (/([\w]+)=/) { + $configname = $1; + } + + if (defined($configname) && exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + delete($configvalues{$configname}); + } else { + print "$_"; + } +} + +# now print the new values from the overridden configfile +my $counter = 0; + +while ($counter < $configcounter) { + my $configname = $configoptions[$counter]; + if (exists($configvalues{$configname})) { + print "$configvalues{$configname}"; + } + $counter++; +} + +1; diff --git a/mod-denylist.sh b/mod-denylist.sh new file mode 100755 index 0000000..6127d14 --- /dev/null +++ b/mod-denylist.sh @@ -0,0 +1,164 @@ +#! /bin/bash +# shellcheck disable=SC2164 + +RpmDir=$1 +ModDir=$2 +Dir="$1/$2" +# Note the list filename must have the format mod-[PACKAGE].list, for example, +# mod-internal.list or mod-extra.list. The PACKAGE is used to create a +# override directory for the modules. +List=$3 +Dest="$4" + +blacklist() +{ + cat > "$RpmDir/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__ + # This kernel module can be automatically loaded by non-root users. To + # enhance system security, the module is blacklisted by default to ensure + # system administrators make the module available for use as needed. + # See https://access.redhat.com/articles/3760101 for more details. + # + # Remove the blacklist by adding a comment # at the start of the line. + blacklist $1 +__EOF__ +} + +check_blacklist() +{ + mod=$(find "$RpmDir/$ModDir" -name "$1") + [ ! "$mod" ] && return 0 + if modinfo "$mod" | grep -q '^alias:\s\+net-'; then + mod="${1##*/}" + mod="${mod%.ko*}" + echo "$mod has an alias that allows auto-loading. Blacklisting." + blacklist "$mod" + fi +} + +find_depends() +{ + dep=$1 + depends=$(modinfo "$dep" | sed -n -e "/^depends/ s/^depends:[ \t]*//p") + [ -z "$depends" ] && exit + for mod in ${depends//,/ } + do + match=$(grep "^$mod.ko" "$ListName") + [ -z "$match" ] && continue + # check if the module we are looking at is in mod-* too. + # if so we do not need to mark the dep as required. + mod2=${dep##*/} # same as $(basename $dep), but faster + match2=$(grep "^$mod2" "$ListName") + if [ -n "$match2" ] + then + #echo $mod2 >> notreq.list + continue + fi + echo "$mod".ko >> req.list + done +} + +foreachp() +{ + P=$(nproc) + bgcount=0 + while read -r mod; do + $1 "$mod" & + + bgcount=$((bgcount + 1)) + if [ $bgcount -eq "$P" ]; then + wait -n + bgcount=$((bgcount - 1)) + fi + done + + wait +} + +# Destination was specified on the command line +test -n "$4" && echo "$0: Override Destination $Dest has been specified." + +pushd "$Dir" + +OverrideDir=$(basename "$List") +OverrideDir=${OverrideDir%.*} +OverrideDir=${OverrideDir#*-} +mkdir -p "$OverrideDir" + +rm -rf modnames +find . -name "*.ko" -type f > modnames +# Look through all of the modules, and throw any that have a dependency in +# our list into the list as well. +rm -rf dep.list dep2.list +rm -rf req.list req2.list +touch dep.list req.list +cp "$List" . + +# This variable needs to be exported because it is used in sub-script +# executed by xargs +ListName=$(basename "$List") +export ListName + +foreachp find_depends < modnames + +sort -u req.list > req2.list +sort -u "$ListName" > modules2.list +join -v 1 modules2.list req2.list > modules3.list + +while IFS= read -r mod +do + # get the path for the module + modpath=$(grep /"$mod" modnames) + [ -z "$modpath" ] && continue + echo "$modpath" >> dep.list +done < modules3.list + +sort -u dep.list > dep2.list + +if [ -n "$Dest" ]; then + # now move the modules into the $Dest directory + while IFS= read -r mod + do + newpath=$(dirname "$mod" | sed -e "s/kernel\\//$Dest\//") + mkdir -p "$newpath" + mv "$mod" "$newpath" + echo "$mod" | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> "$RpmDir"/"$ListName" + done < dep2.list +fi + +popd + +# If we're signing modules, we can't leave the .mod files for the .ko files +# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign' +# target doesn't try to sign a non-existent file. This is kinda ugly, but +# so are the modules-* packages. + +while IFS= read -r mod +do + modfile=$(basename "$mod" | sed -e 's/.ko/.mod/') + rm .tmp_versions/"$modfile" +done < "$Dir"/dep2.list + +if [ -z "$Dest" ]; then + sed -e "s|^.|${ModDir}|g" "$Dir"/dep2.list > "$RpmDir/$ListName" + echo "./$RpmDir/$ListName created." + [ -d "$RpmDir/etc/modprobe.d/" ] || mkdir -p "$RpmDir/etc/modprobe.d/" + foreachp check_blacklist < "$List" +fi + +# Many BIOS-es export a PNP-id which causes the floppy driver to autoload +# even though most modern systems don't have a 3.5" floppy driver anymore +# this replaces the old die_floppy_die.patch which removed the PNP-id from +# the module + +floppylist=("$RpmDir"/"$ModDir"/kernel/drivers/block/floppy.ko*) +if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then + blacklist "floppy" +fi + +# avoid an empty kernel-extra package +echo "$ModDir/$OverrideDir" >> "$RpmDir/$ListName" + +pushd "$Dir" +rm modnames dep.list dep2.list req.list req2.list +rm "$ListName" modules2.list modules3.list +popd diff --git a/mod-extra.list.rhel b/mod-extra.list.rhel new file mode 100644 index 0000000..0f90828 --- /dev/null +++ b/mod-extra.list.rhel @@ -0,0 +1,192 @@ +6pack.ko +a3d.ko +act200l-sir.ko +actisys-sir.ko +adi.ko +aer_inject.ko +af_802154.ko +affs.ko +ali-ircc.ko +analog.ko +appletalk.ko +atm.ko +avma1_cs.ko +avm_cs.ko +avmfritz.ko +ax25.ko +b1.ko +bas_gigaset.ko +batman-adv.ko +baycom_par.ko +baycom_ser_fdx.ko +baycom_ser_hdx.ko +befs.ko +bpqether.ko +br2684.ko +capi.ko +c_can.ko +c_can_platform.ko +clip.ko +cobra.ko +coda.ko +cuse.ko +db9.ko +dccp_diag.ko +dccp_ipv4.ko +dccp_ipv6.ko +dccp.ko +dccp_probe.ko +diva_idi.ko +divas.ko +ds1wm.ko +ds2482.ko +ds2490.ko +dss1_divert.ko +elsa_cs.ko +ems_pci.ko +ems_usb.ko +esd_usb2.ko +esi-sir.ko +gamecon.ko +gf2k.ko +gigaset.ko +girbil-sir.ko +grip.ko +grip_mp.ko +guillemot.ko +hdlcdrv.ko +hfc4s8s_l1.ko +hfcmulti.ko +hfcpci.ko +hisax.ko +hwa-rc.ko +hysdn.ko +i2400m.ko +i2400m-sdio.ko +i2400m-usb.ko +ieee802154.ko +iforce.ko +interact.ko +ipddp.ko +ipx.ko +isdn.ko +joydump.ko +kingsun-sir.ko +ks959-sir.ko +ksdazzle-sir.ko +kvaser_pci.ko +l2tp_core.ko +l2tp_debugfs.ko +l2tp_eth.ko +l2tp_ip.ko +l2tp_ip6.ko +l2tp_netlink.ko +l2tp_ppp.ko +lec.ko +ma600-sir.ko +magellan.ko +mcp2120-sir.ko +mISDN_core.ko +mISDN_dsp.ko +mkiss.ko +mptbase.ko +mptctl.ko +mptfc.ko +nci.ko +ncpfs.ko +netjet.ko +netrom.ko +nfc.ko +nilfs2.ko +ocfs2_dlmfs.ko +ocfs2_dlm.ko +ocfs2.ko +ocfs2_nodemanager.ko +ocfs2_stackglue.ko +ocfs2_stack_o2cb.ko +ocfs2_stack_user.ko +old_belkin-sir.ko +orinoco_cs.ko +orinoco.ko +orinoco_nortel.ko +orinoco_pci.ko +orinoco_plx.ko +orinoco_usb.ko +plx_pci.ko +pn_pep.ko +pppoatm.ko +rds.ko +rds_rdma.ko +rds_tcp.ko +rose.ko +sch_atm.ko +sch_cbq.ko +sch_choke.ko +sch_drr.ko +sch_dsmark.ko +sch_gred.ko +sch_mqprio.ko +sch_multiq.ko +sch_netem.ko +sch_qfq.ko +sch_red.ko +sch_sfb.ko +sch_teql.ko +sctp.ko +sctp_diag.ko +sctp_probe.ko +sidewinder.ko +sja1000.ko +sja1000_platform.ko +slcan.ko +slip.ko +softing_cs.ko +softing.ko +spaceball.ko +spaceorb.ko +stinger.ko +sysv.ko +tcp_bic.ko +tcp_highspeed.ko +tcp_htcp.ko +tcp_hybla.ko +tcp_illinois.ko +tcp_lp.ko +tcp_scalable.ko +tcp_vegas.ko +tcp_veno.ko +tcp_westwood.ko +tcp_yeah.ko +tekram-sir.ko +tmdc.ko +toim3232-sir.ko +trancevibrator.ko +turbografx.ko +twidjoy.ko +ubifs.ko +ufs.ko +umc.ko +usbip-core.ko +usbip-host.ko +uwb.ko +vcan.ko +vhci-hcd.ko +w1_bq27000.ko +w1_ds2408.ko +w1_ds2423.ko +w1_ds2431.ko +w1_ds2433.ko +w1_ds2760.ko +w1_ds2780.ko +w1_ds2781.ko +w1_ds28e04.ko +w1_smem.ko +w1_therm.ko +w6692.ko +walkera0701.ko +wanrouter.ko +warrior.ko +whci.ko +wire.ko +yam.ko +zhenhua.ko diff --git a/mod-internal.list b/mod-internal.list new file mode 100644 index 0000000..258091f --- /dev/null +++ b/mod-internal.list @@ -0,0 +1,20 @@ +dmatest +locktorture +mac80211_hwsim +netdevsim +pktgen +rcutorture +rocker +scftorture +test_klp_atomic_replace +test_klp_callbacks_demo +test_klp_callbacks_demo2 +test_klp_callbacks_busy +test_klp_callbacks_mod +test_klp_livepatch +test_klp_shadow_vars +test_klp_state +test_klp_state2 +test_klp_state3 +torture +refscale diff --git a/mod-kvm.list b/mod-kvm.list new file mode 100644 index 0000000..38f5c49 --- /dev/null +++ b/mod-kvm.list @@ -0,0 +1,5 @@ +kvm-amd +kvm-intel +kvm +kvmgt +ptp_kvm diff --git a/mod-sign.sh b/mod-sign.sh new file mode 100755 index 0000000..c5f0c89 --- /dev/null +++ b/mod-sign.sh @@ -0,0 +1,37 @@ +#! /bin/bash + +# The modules_sign target checks for corresponding .o files for every .ko that +# is signed. This doesn't work for package builds which re-use the same build +# directory for every variant, and the .config may change between variants. +# So instead of using this script to just sign lib/modules/$KernelVer/extra, +# sign all .ko in the buildroot. + +# This essentially duplicates the 'modules_sign' Kbuild target and runs the +# same commands for those modules. + +MODSECKEY=$1 +MODPUBKEY=$2 +moddir=$3 + +modules=$(find "$moddir" -type f -name '*.ko') + +NPROC=$(nproc) +[ -z "$NPROC" ] && NPROC=1 + +# NB: this loop runs 2000+ iterations. Try to be fast. +echo "$modules" | xargs -r -n16 -P $NPROC sh -c " +for mod; do + ./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod + rm -f \$mod.sig \$mod.dig +done +" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop. + +RANDOMMOD=$(echo "$modules" | sort -R | head -n 1) +if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then + echo "*****************************" + echo "*** Modules are unsigned! ***" + echo "*****************************" + exit 1 +fi + +exit 0 diff --git a/parallel_xz.sh b/parallel_xz.sh new file mode 100755 index 0000000..f1b6cdd --- /dev/null +++ b/parallel_xz.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# Reads filenames on stdin, xz-compresses each in place. +# Not optimal for "compress relatively few, large files" scenario! + +# How many xz's to run in parallel: +procgroup="" +while test "$#" != 0; do + # Get it from -jNUM + N="${1#-j}" + if test "$N" = "$1"; then + # Not -j - warn and ignore + echo "parallel_xz: warning: unrecognized argument: '$1'" + else + procgroup="$N" + fi + shift +done + +# If told to use only one cpu: +test "$procgroup" || exec xargs -r xz +test "$procgroup" = 1 && exec xargs -r xz + +# xz has some startup cost. If files are really small, +# this cost might be significant. To combat this, +# process several files (in sequence) by each xz process via -n 16: +exec xargs -r -n 16 -P "$procgroup" xz diff --git a/patch-5.14.0-redhat.patch b/patch-5.14.0-redhat.patch new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/patch-5.14.0-redhat.patch diff --git a/process_configs.sh b/process_configs.sh new file mode 100755 index 0000000..07bcb78 --- /dev/null +++ b/process_configs.sh @@ -0,0 +1,365 @@ +#!/bin/bash +# +# This script takes the merged config files and processes them through oldconfig +# and listnewconfig +# +# Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands +# shellcheck disable=SC2164 + +usage() +{ + # alphabetical order please + echo "process_configs.sh [ options ] package_name kernel_version" + echo " -a: report all errors, equivalent to [-c -n -w -i]" + echo " -c: error on mismatched config options" + echo " -i: continue on error" + echo " -n: error on unset config options" + echo " -t: test run, do not overwrite original config" + echo " -w: error on misconfigured config options" + echo " -z: commit new configs to pending directory" + echo "" + echo " A special CONFIG file tag, process_configs_known_broken can be added as a" + echo " comment to any CONFIG file. This tag indicates that there is no way to " + echo " fix a CONFIG's entry. This tag should only be used in extreme cases" + echo " and is not to be used as a workaround to solve CONFIG problems." + exit 1 +} + +die() +{ + echo "$1" + exit 1 +} + +get_cross_compile() +{ + arch=$1 + if [[ "$CC_IS_CLANG" -eq 1 ]]; then + echo "$arch" + else + echo "scripts/dummy-tools/" + fi +} + +# stupid function to find top of tree to do kernel make configs +switch_to_toplevel() +{ + path="$(pwd)" + while test -n "$path" + do + test -e "$path"/MAINTAINERS && \ + test -d "$path"/drivers && \ + break + + path=$(dirname "$path") + done + + test -n "$path" || die "Can't find toplevel" + echo "$path" +} + +checkoptions() +{ + /usr/bin/awk ' + + /is not set/ { + split ($0, a, "#"); + split(a[2], b); + if (NR==FNR) { + configs[b[1]]="is not set"; + } else { + if (configs[b[1]] != "" && configs[b[1]] != "is not set") + print "Found # "b[1] " is not set, after generation, had " b[1] " " configs[b[1]] " in Source tree"; + } + } + + /=/ { + split ($0, a, "="); + if (NR==FNR) { + configs[a[1]]=a[2]; + } else { + if (configs[a[1]] != "" && configs[a[1]] != a[2]) + print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; + } + } + ' "$1" "$2" > .mismatches + + checkoptions_error=false + if test -s .mismatches + then + while read -r LINE + do + if find ./ -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then + # This is a known broken config. + # See script help warning. + checkoptions_error=false + else + checkoptions_error=true + break + fi + done < .mismatches + + ! $checkoptions_error && return + + echo "Error: Mismatches found in configuration files" + cat .mismatches + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 + fi +} + +parsenewconfigs() +{ + tmpdir=$(mktemp -d) + + # This awk script reads the output of make listnewconfig + # and puts it into CONFIG_FOO files. Using the output of + # listnewconfig is much easier to ensure we get the default + # output. + /usr/bin/awk -v BASE="$tmpdir" ' + /is not set/ { + split ($0, a, "#"); + split(a[2], b); + OUT_FILE=BASE"/"b[1]; + print $0 >> OUT_FILE; + } + + /=/ { + split ($0, a, "="); + OUT_FILE=BASE"/"a[1]; + if (a[2] == "n") + print "# " a[1] " is not set" >> OUT_FILE; + else + print $0 >> OUT_FILE; + } + + ' .newoptions + + # This awk script parses the output of helpnewconfig. + # Each option is separated between ----- markers + # The goal is to put all the help text as a comment in + # each CONFIG_FOO file. Because of how awk works + # there's a lot of moving files around and catting to + # get what we need. + /usr/bin/awk -v BASE="$tmpdir" ' + BEGIN { inpatch=0; + outfile="none"; + symbol="none"; } + /^Symbol: .*$/ { + split($0, a, " "); + symbol="CONFIG_"a[2]; + outfile=BASE "/fake_"symbol + } + /-----/ { + if (inpatch == 0) { + inpatch = 1; + } + else { + if (symbol != "none") { + system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf"); + system("mv " BASE "/tmpf " BASE "/" symbol); + symbol="none" + } + outfile="none" + inpatch = 0; + } + } + !/-----/ { + if (inpatch == 1 && outfile != "none") { + print "# "$0 >> outfile; + } + } + + + ' .helpnewconfig + + pushd "$tmpdir" &> /dev/null + rm fake_* + popd &> /dev/null + for f in "$tmpdir"/*; do + [[ -e "$f" ]] || break + cp "$f" "$SCRIPT_DIR/pending$FLAVOR/generic/" + done + + rm -rf "$tmpdir" +} + +function commit_new_configs() +{ + # assume we are in $source_tree/configs, need to get to top level + pushd "$(switch_to_toplevel)" &>/dev/null + + for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config + do + arch=$(head -1 "$cfg" | cut -b 3-) + cfgtmp="${cfg}.tmp" + cfgorig="${cfg}.orig" + cat "$cfg" > "$cfgorig" + + if [ "$arch" = "EMPTY" ] + then + # This arch is intentionally left blank + continue + fi + echo -n "Checking for new configs in $cfg ... " + + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + grep -E 'CONFIG_' .listnewconfig > .newoptions + if test -s .newoptions + then + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig + parsenewconfigs + fi + rm .newoptions + echo "done" + done + + git add "$SCRIPT_DIR/pending$FLAVOR" + git commit -m "[redhat] AUTOMATIC: New configs" +} + +function process_configs() +{ + # assume we are in $source_tree/configs, need to get to top level + pushd "$(switch_to_toplevel)" &>/dev/null + + for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config + do + arch=$(head -1 "$cfg" | cut -b 3-) + cfgtmp="${cfg}.tmp" + cfgorig="${cfg}.orig" + cat "$cfg" > "$cfgorig" + + if [ "$arch" = "EMPTY" ] + then + # This arch is intentionally left blank + continue + fi + echo -n "Processing $cfg ... " + + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + grep -E 'CONFIG_' .listnewconfig > .newoptions + if test -n "$NEWOPTIONS" && test -s .newoptions + then + echo "Found unset config items, please set them to an appropriate value" + cat .newoptions + rm .newoptions + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 + fi + rm .newoptions + + grep -E 'config.*warning' .listnewconfig > .warnings + if test -n "$CHECKWARNINGS" && test -s .warnings + then + echo "Found misconfigured config items, please set them to an appropriate value" + cat .warnings + rm .warnings + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 + fi + rm .warnings + + rm .listnewconfig + + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 + echo "# $arch" > "$cfgtmp" + cat "$cfgorig" >> "$cfgtmp" + if test -n "$CHECKOPTIONS" + then + checkoptions "$cfg" "$cfgtmp" + fi + # if test run, don't overwrite original + if test -n "$TESTRUN" + then + rm -f "$cfgtmp" + else + mv "$cfgtmp" "$cfg" + fi + rm -f "$cfgorig" + echo "done" + done + rm "$SCRIPT_DIR"/*.config*.old + popd > /dev/null + + echo "Processed config files are in $SCRIPT_DIR" +} + +CHECKOPTIONS="" +CONTINUEONERROR="" +NEWOPTIONS="" +TESTRUN="" +CHECKWARNINGS="" +MAKEOPTS="" +CC_IS_CLANG=0 + +RETURNCODE=0 + +while [[ $# -gt 0 ]] +do + key="$1" + case $key in + -a) + CHECKOPTIONS="x" + CONTINUEONERROR="x" + NEWOPTIONS="x" + CHECKWARNINGS="x" + ;; + -c) + CHECKOPTIONS="x" + ;; + -h) + usage + ;; + -i) + CONTINUEONERROR="x" + ;; + -n) + NEWOPTIONS="x" + ;; + -t) + TESTRUN="x" + ;; + -w) + CHECKWARNINGS="x" + ;; + -z) + COMMITNEWCONFIGS="x" + ;; + -m) + shift + if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then + CC_IS_CLANG=1 + fi + MAKEOPTS="$MAKEOPTS $1" + ;; + *) + break;; + esac + shift +done + +PACKAGE_NAME="${1:-kernel-auto}" # defines the package name used +KVERREL="$(test -n "$2" && echo "-$2" || echo "")" +SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" +FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")" +SCRIPT=$(readlink -f "$0") +SCRIPT_DIR=$(dirname "$SCRIPT") + +# Most RHEL options are options we want in Fedora so RHEL pending settings head +# to common/ +if [ "$FLAVOR" = "-rhel" ] +then + FLAVOR="-common" +fi + +# to handle this script being a symlink +cd "$SCRIPT_DIR" + +if test -n "$COMMITNEWCONFIGS"; then + commit_new_configs +else + process_configs +fi + +exit $RETURNCODE diff --git a/redhatsecureboot401.cer b/redhatsecureboot401.cer new file mode 100644 index 0000000..247666c Binary files /dev/null and b/redhatsecureboot401.cer differ diff --git a/redhatsecurebootca4.cer b/redhatsecurebootca4.cer new file mode 100644 index 0000000..8cb32e6 Binary files /dev/null and b/redhatsecurebootca4.cer differ diff --git a/rheldup3.x509 b/rheldup3.x509 new file mode 100644 index 0000000..5df3b4f Binary files /dev/null and b/rheldup3.x509 differ diff --git a/rhelkpatch1.x509 b/rhelkpatch1.x509 new file mode 100644 index 0000000..0c774ba Binary files /dev/null and b/rhelkpatch1.x509 differ diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..f62742a --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,13 @@ +# additional rpminspect configuration for this branch + +--- +emptyrpm: + expected_empty: + - kernel + - kernel-debug + - kernel-debug-devel-matched + - kernel-devel-matched + - kernel-lpae + - kernel-zfcpdump + - kernel-zfcpdump-devel-matched + - kernel-zfcpdump-modules diff --git a/update_scripts.sh b/update_scripts.sh new file mode 100755 index 0000000..9196e79 --- /dev/null +++ b/update_scripts.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ -z "$1" ]; then + exit 1 +fi + +TARGET="$1" + +for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do + NEW=${i%.$TARGET} + cp "$i" "$NEW" +done diff --git a/x509.genkey.rhel b/x509.genkey.rhel new file mode 100644 index 0000000..b1bbe38 --- /dev/null +++ b/x509.genkey.rhel @@ -0,0 +1,16 @@ +[ req ] +default_bits = 3072 +distinguished_name = req_distinguished_name +prompt = no +x509_extensions = myexts + +[ req_distinguished_name ] +O = Red Hat +CN = Red Hat Enterprise Linux kernel signing key +emailAddress = secalert@redhat.com + +[ myexts ] +basicConstraints=critical,CA:FALSE +keyUsage=digitalSignature +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid