Use AlmaLinux OS secure boot cert Enable Btrfs support for all kernel variants hpsa: bring back deprecated PCI ids #CFHack #CFHack2024 mptsas: bring back deprecated PCI ids #CFHack #CFHack2024 megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024 qla2xxx: bring back deprecated PCI ids #CFHack #CFHack2024 qla4xxx: bring back deprecated PCI ids be2iscsi: bring back deprecated PCI ids kernel/rh_messages.h: enable all disabled pci devices by moving to unmaintained
6040 lines
292 KiB
RPMSpec
6040 lines
292 KiB
RPMSpec
# All Global changes to build and install go here.
|
|
# Per the below section about __spec_install_pre, any rpm
|
|
# environment changes that affect %%install need to go
|
|
# here before the %%install macro is pre-built.
|
|
|
|
# Disable frame pointers
|
|
%undefine _include_frame_pointers
|
|
|
|
# Disable LTO in userspace packages.
|
|
%global _lto_cflags %{nil}
|
|
|
|
# Option to enable compiling with clang instead of gcc.
|
|
%bcond_with toolchain_clang
|
|
|
|
%if %{with toolchain_clang}
|
|
%global toolchain clang
|
|
%endif
|
|
|
|
# Compile the kernel with LTO (only supported when building with clang).
|
|
%bcond_with clang_lto
|
|
|
|
%if %{with clang_lto} && %{without toolchain_clang}
|
|
{error:clang_lto requires --with toolchain_clang}
|
|
%endif
|
|
|
|
# RPM macros strip everything in BUILDROOT, either with __strip
|
|
# or find-debuginfo.sh. Make use of __spec_install_post override
|
|
# and save/restore binaries we want to package as unstripped.
|
|
%define buildroot_unstripped %{_builddir}/root_unstripped
|
|
%define buildroot_save_unstripped() \
|
|
(cd %{buildroot}; cp -rav --parents -t %{buildroot_unstripped}/ %1 || true) \
|
|
%{nil}
|
|
%define __restore_unstripped_root_post \
|
|
echo "Restoring unstripped artefacts %{buildroot_unstripped} -> %{buildroot}" \
|
|
cp -rav %{buildroot_unstripped}/. %{buildroot}/ \
|
|
%{nil}
|
|
|
|
# The kernel's %%install section is special
|
|
# Normally the %%install section starts by cleaning up the BUILD_ROOT
|
|
# like so:
|
|
#
|
|
# %%__spec_install_pre %%{___build_pre}\
|
|
# [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\
|
|
# mkdir -p `dirname "$RPM_BUILD_ROOT"`\
|
|
# mkdir "$RPM_BUILD_ROOT"\
|
|
# %%{nil}
|
|
#
|
|
# But because of kernel variants, the %%build section, specifically
|
|
# BuildKernel(), moves each variant to its final destination as the
|
|
# variant is built. This violates the expectation of the %%install
|
|
# section. As a result we snapshot the current env variables and
|
|
# purposely leave out the removal section. All global wide changes
|
|
# should be added above this line otherwise the %%install section
|
|
# will not see them.
|
|
%global __spec_install_pre %{___build_pre}
|
|
|
|
# Replace '-' with '_' where needed so that variants can use '-' in
|
|
# their name.
|
|
%define uname_suffix() %{lua:
|
|
local flavour = rpm.expand('%{?1:+%{1}}')
|
|
flavour = flavour:gsub('-', '_')
|
|
if flavour ~= '' then
|
|
print(flavour)
|
|
end
|
|
}
|
|
|
|
# This returns the main kernel tied to a debug variant. For example,
|
|
# kernel-debug is the debug version of kernel, so we return an empty
|
|
# string. However, kernel-64k-debug is the debug version of kernel-64k,
|
|
# in this case we need to return "64k", and so on. This is used in
|
|
# macros below where we need this for some uname based requires.
|
|
%define uname_variant() %{lua:
|
|
local flavour = rpm.expand('%{?1:%{1}}')
|
|
_, _, main, sub = flavour:find("(%w+)-(.*)")
|
|
if main then
|
|
print("+" .. main)
|
|
end
|
|
}
|
|
|
|
|
|
# At the time of this writing (2019-03), RHEL8 packages use w2.xzdio
|
|
# compression for rpms (xz, level 2).
|
|
# Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins
|
|
# to compress by single-threaded xz. Switch to threaded compression,
|
|
# and from level 2 to 3 to keep compressed sizes close to "w2" results.
|
|
#
|
|
# NB: if default compression in /usr/lib/rpm/redhat/macros ever changes,
|
|
# this one might need tweaking (e.g. if default changes to w3.xzdio,
|
|
# change below to w4T.xzdio):
|
|
#
|
|
# This is disabled on i686 as it triggers oom errors
|
|
|
|
%ifnarch i686
|
|
%define _binary_payload w3T.xzdio
|
|
%endif
|
|
|
|
Summary: The Linux kernel
|
|
%if 0%{?fedora}
|
|
%define secure_boot_arch x86_64
|
|
%else
|
|
%define secure_boot_arch x86_64 aarch64 s390x ppc64le
|
|
%endif
|
|
|
|
# Signing for secure boot authentication
|
|
%ifarch %{secure_boot_arch}
|
|
%global signkernel 1
|
|
%else
|
|
%global signkernel 0
|
|
%endif
|
|
|
|
# RHEL/CentOS/Fedora specific .SBAT entries
|
|
%if 0%{?centos}
|
|
%global sbat_suffix rhel
|
|
%else
|
|
%if 0%{?fedora}
|
|
%global sbat_suffix fedora
|
|
%else
|
|
%global sbat_suffix rhel
|
|
%endif
|
|
%endif
|
|
|
|
# Sign modules on all arches
|
|
%global signmodules 1
|
|
|
|
# Add additional rhel certificates to system trusted keys.
|
|
%global rhelkeys 1
|
|
|
|
# Compress modules only for architectures that build modules
|
|
%ifarch noarch
|
|
%global zipmodules 0
|
|
%else
|
|
%global zipmodules 1
|
|
%endif
|
|
|
|
# Default compression algorithm
|
|
%global compression xz
|
|
%global compression_flags --compress --check=crc32 --lzma2=dict=1MiB
|
|
%global compext xz
|
|
|
|
%if 0%{?fedora}
|
|
%define primary_target fedora
|
|
%else
|
|
%define primary_target rhel
|
|
%endif
|
|
|
|
#
|
|
# genspec.sh variables
|
|
#
|
|
|
|
# kernel package name
|
|
%global package_name kernel
|
|
%global gemini 0
|
|
# Include Fedora files
|
|
%global include_fedora 0
|
|
# Include RHEL files
|
|
%global include_rhel 1
|
|
# Include RT files
|
|
%global include_rt 1
|
|
# Include Automotive files
|
|
%global include_automotive 0
|
|
# Provide Patchlist.changelog file
|
|
%global patchlist_changelog 0
|
|
# Set released_kernel to 1 when the upstream source tarball contains a
|
|
# kernel release. (This includes prepatch or "rc" releases.)
|
|
# Set released_kernel to 0 when the upstream source tarball contains an
|
|
# unreleased kernel development snapshot.
|
|
%global released_kernel 0
|
|
# Set debugbuildsenabled to 1 to build separate base and debug kernels
|
|
# (on supported architectures). The kernel-debug-* subpackages will
|
|
# contain the debug kernel.
|
|
# Set debugbuildsenabled to 0 to not build a separate debug kernel, but
|
|
# to build the base kernel using the debug configuration. (Specifying
|
|
# the --with-release option overrides this setting.)
|
|
%define debugbuildsenabled 1
|
|
# define buildid .local
|
|
%define specrpmversion 6.12.0
|
|
%define specversion 6.12.0
|
|
%define patchversion 6.12
|
|
%define pkgrelease 218
|
|
%define kversion 6
|
|
%define tarfile_release 6.12.0-218.el10
|
|
# This is needed to do merge window version magic
|
|
%define patchlevel 12
|
|
# This allows pkg_release to have configurable %%{?dist} tag
|
|
%define specrelease 218%{?buildid}%{?dist}
|
|
# This defines the kabi tarball version
|
|
%define kabiversion 6.12.0-218.el10
|
|
|
|
# If this variable is set to 1, a bpf selftests build failure will cause a
|
|
# fatal kernel package build error
|
|
%define selftests_must_build 0
|
|
|
|
#
|
|
# End of genspec.sh variables
|
|
#
|
|
|
|
%define pkg_release %{specrelease}
|
|
|
|
# libexec dir is not used by the linker, so the shared object there
|
|
# should not be exported to RPM provides
|
|
%global __provides_exclude_from ^%{_libexecdir}/kselftests
|
|
|
|
# The following build options are (mostly) enabled by default, but may become
|
|
# enabled/disabled by later architecture-specific checks.
|
|
# Where disabled by default, they can be enabled by using --with <opt> in the
|
|
# rpmbuild command, or by forcing these values to 1.
|
|
# Where enabled by default, they can be disabled by using --without <opt> in
|
|
# the rpmbuild command, or by forcing these values to 0.
|
|
#
|
|
# standard kernel
|
|
%define with_up %{?_without_up: 0} %{?!_without_up: 1}
|
|
# build the base variants
|
|
%define with_base %{?_without_base: 0} %{?!_without_base: 1}
|
|
# build also debug variants
|
|
%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-16k (aarch64 kernel with 16K page_size)
|
|
%define with_arm64_16k %{?_with_arm64_16k: 1} %{?!_with_arm64_16k: 0}
|
|
# kernel-64k (aarch64 kernel with 64K page_size)
|
|
%define with_arm64_64k %{?_without_arm64_64k: 0} %{?!_without_arm64_64k: 1}
|
|
# kernel-rt (x86_64 and aarch64 only PREEMPT_RT enabled kernel)
|
|
%define with_realtime %{?_without_realtime: 0} %{?!_without_realtime: 1}
|
|
# kernel-rt-64k (aarch64 RT kernel with 64K page_size)
|
|
%define with_realtime_arm64_64k %{?_without_realtime_arm64_64k: 0} %{?!_without_realtime_arm64_64k: 1}
|
|
# kernel-automotive (x86_64 and aarch64 with PREEMPT_RT enabled - currently off by default)
|
|
%define with_automotive %{?_with_automotive: 1} %{?!_with_automotive: 0}
|
|
|
|
# Supported variants
|
|
# with_base with_debug with_gcov
|
|
# up X X X
|
|
# zfcpdump X X
|
|
# arm64_16k X X X
|
|
# arm64_64k X X X
|
|
# realtime X X X
|
|
# automotive X X X
|
|
|
|
# kernel-doc
|
|
%define with_doc %{?_without_doc: 0} %{?!_without_doc: 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}
|
|
# libperf
|
|
%define with_libperf %{?_without_libperf: 0} %{?!_without_libperf: 1}
|
|
# tools
|
|
%define with_tools %{?_without_tools: 0} %{?!_without_tools: 1}
|
|
# ynl
|
|
%define with_ynl %{?_without_ynl: 0} %{?!_without_ynl: 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 debug variants (--with dbgonly):
|
|
%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0}
|
|
# Only build the realtime kernel (--with rtonly):
|
|
%define with_rtonly %{?_with_rtonly: 1} %{?!_with_rtonly: 0}
|
|
# Only build the automotive variant of the kernel (--with automotiveonly):
|
|
%define with_automotiveonly %{?_with_automotiveonly: 1} %{?!_with_automotiveonly: 0}
|
|
# Build the automotive kernel (--with automotive_build), this builds base variant with automotive config/options:
|
|
%define with_automotive_build %{?_with_automotive_build: 1} %{?!_with_automotive_build: 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}
|
|
|
|
# Want to build a vanilla kernel build without any non-upstream patches?
|
|
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
|
|
|
|
%ifarch x86_64 aarch64 riscv64
|
|
%define with_efiuki %{?_without_efiuki: 0} %{?!_without_efiuki: 1}
|
|
%else
|
|
%define with_efiuki 0
|
|
%endif
|
|
|
|
%if 0%{?fedora}
|
|
# Kernel headers are being split out into a separate package
|
|
%define with_headers 0
|
|
%define with_cross_headers 0
|
|
# no stablelist
|
|
%define with_kernel_abi_stablelists 0
|
|
%define with_arm64_64k 0
|
|
%define with_realtime 0
|
|
%define with_realtime_arm64_64k 0
|
|
%define with_automotive 0
|
|
%endif
|
|
|
|
%if %{with_verbose}
|
|
%define make_opts V=1
|
|
%else
|
|
%define make_opts -s
|
|
%endif
|
|
|
|
%if %{with toolchain_clang}
|
|
%ifarch s390x ppc64le
|
|
%global llvm_ias 0
|
|
%else
|
|
%global llvm_ias 1
|
|
%endif
|
|
%global clang_make_opts HOSTCC=clang CC=clang LLVM_IAS=%{llvm_ias}
|
|
%if %{with clang_lto}
|
|
# LLVM=1 enables use of all LLVM tools.
|
|
%global clang_make_opts %{clang_make_opts} LLVM=1
|
|
%endif
|
|
%global make_opts %{make_opts} %{clang_make_opts}
|
|
%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
|
|
|
|
%define make_target bzImage
|
|
%define image_install_path boot
|
|
|
|
%define KVERREL %{specversion}-%{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
|
|
|
|
# if requested, only build base kernel
|
|
%if %{with_baseonly}
|
|
%define with_debug 0
|
|
%define with_realtime 0
|
|
%define with_vdso_install 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_tools 0
|
|
%define with_kernel_abi_stablelists 0
|
|
%define with_selftests 0
|
|
%endif
|
|
|
|
# if requested, only build debug kernel
|
|
%if %{with_dbgonly}
|
|
%define with_base 0
|
|
%define with_vdso_install 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_tools 0
|
|
%define with_kernel_abi_stablelists 0
|
|
%define with_selftests 0
|
|
%endif
|
|
|
|
# if requested, only build realtime kernel
|
|
%if %{with_rtonly}
|
|
%define with_realtime 1
|
|
%define with_realtime_arm64_64k 1
|
|
%define with_automotive 0
|
|
%define with_up 0
|
|
%define with_debug 0
|
|
%define with_debuginfo 0
|
|
%define with_vdso_install 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_tools 0
|
|
%define with_kernel_abi_stablelists 0
|
|
%define with_selftests 0
|
|
%define with_headers 0
|
|
%define with_efiuki 0
|
|
%define with_zfcpdump 0
|
|
%define with_arm64_16k 0
|
|
%define with_arm64_64k 0
|
|
%endif
|
|
|
|
# if requested, only build the automotive variant of the kernel
|
|
%if %{with_automotiveonly}
|
|
%define with_automotive 1
|
|
%define with_realtime 0
|
|
%define with_up 0
|
|
%define with_debug 0
|
|
%define with_debuginfo 0
|
|
%define with_vdso_install 0
|
|
%define with_selftests 1
|
|
%endif
|
|
|
|
# if requested, build kernel-automotive
|
|
%if %{with_automotive_build}
|
|
%define with_automotive 1
|
|
%define with_selftests 1
|
|
%endif
|
|
|
|
# RT and Automotive kernels are only built on x86_64 and aarch64
|
|
%ifnarch x86_64 aarch64
|
|
%define with_realtime 0
|
|
%define with_automotive 0
|
|
%endif
|
|
|
|
%if %{with_automotive}
|
|
# overrides compression algorithms for automotive
|
|
%global compression zstd
|
|
%global compression_flags --rm
|
|
%global compext zst
|
|
|
|
# automotive does not support the following variants
|
|
%define with_realtime 0
|
|
%define with_realtime_arm64_64k 0
|
|
%define with_arm64_16k 0
|
|
%define with_arm64_64k 0
|
|
%define with_efiuki 0
|
|
%define with_doc 0
|
|
%define with_headers 0
|
|
%define with_cross_headers 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_tools 0
|
|
%define with_kabichk 0
|
|
%define with_kernel_abi_stablelists 0
|
|
%define with_kabidw_base 0
|
|
%define signkernel 0
|
|
%define signmodules 1
|
|
%define rhelkeys 0
|
|
%endif
|
|
|
|
|
|
%if %{zipmodules}
|
|
%global zipsed -e 's/\.ko$/\.ko.%compext/'
|
|
# for parallel xz processes, replace with 1 to go back to single process
|
|
%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
|
|
|
|
%ifnarch aarch64
|
|
%define with_kernel_abi_stablelists 0
|
|
%endif
|
|
|
|
# Overrides for generic default options
|
|
|
|
# only package docs noarch
|
|
%ifnarch aarch64
|
|
%define with_doc 0
|
|
%define doc_build_fail true
|
|
%endif
|
|
|
|
%if 0%{?fedora}
|
|
# don't do debug builds on anything but aarch64 and x86_64
|
|
%ifnarch aarch64 x86_64
|
|
%define with_debug 0
|
|
%endif
|
|
%endif
|
|
|
|
%define all_configs %{name}-%{specrpmversion}-*.config
|
|
|
|
# don't build noarch kernels or headers (duh)
|
|
%ifarch noarch
|
|
%define with_up 0
|
|
%define with_realtime 0
|
|
%define with_automotive 0
|
|
%define with_headers 0
|
|
%define with_cross_headers 0
|
|
%define with_tools 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_selftests 0
|
|
%define with_debug 0
|
|
%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
|
|
|
|
# 16k and 64k variants only for aarch64
|
|
%ifnarch aarch64
|
|
%define with_arm64_16k 0
|
|
%define with_arm64_64k 0
|
|
%define with_realtime_arm64_64k 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 kernel_image arch/x86/boot/bzImage
|
|
%endif
|
|
|
|
%ifarch x86_64
|
|
%define asmarch x86
|
|
%define kernel_image arch/x86/boot/bzImage
|
|
%endif
|
|
|
|
%ifarch x86_64_v2
|
|
%define hdrarch x86_64
|
|
%define asmarch x86
|
|
%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
|
|
%endif
|
|
|
|
%ifarch s390x
|
|
%define asmarch s390
|
|
%define hdrarch s390
|
|
%define kernel_image arch/s390/boot/bzImage
|
|
%define vmlinux_decompressor arch/s390/boot/vmlinux
|
|
%endif
|
|
|
|
%ifarch aarch64
|
|
%define asmarch arm64
|
|
%define hdrarch arm64
|
|
%define make_target vmlinuz.efi
|
|
%define kernel_image arch/arm64/boot/vmlinuz.efi
|
|
%endif
|
|
|
|
%ifarch riscv64
|
|
%define asmarch riscv
|
|
%define hdrarch riscv
|
|
%define make_target vmlinuz.efi
|
|
%define kernel_image arch/riscv/boot/vmlinuz.efi
|
|
%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
|
|
%endif
|
|
|
|
%ifarch %nobuildarches
|
|
# disable BuildKernel commands
|
|
%define with_up 0
|
|
%define with_debug 0
|
|
%define with_zfcpdump 0
|
|
%define with_arm64_16k 0
|
|
%define with_arm64_64k 0
|
|
%define with_realtime 0
|
|
%define with_realtime_arm64_64k 0
|
|
%define with_automotive 0
|
|
|
|
%define with_debuginfo 0
|
|
%define with_perf 0
|
|
%define with_libperf 0
|
|
%define with_tools 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 aarch64
|
|
%else
|
|
%define cpupowerarchs i686 x86_64 ppc64le aarch64 riscv64
|
|
%endif
|
|
|
|
%if 0%{?use_vdso}
|
|
%define _use_vdso 1
|
|
%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
|
|
|
|
# short-hand for "are we building base/non-debug variants of ...?"
|
|
%if %{with_up} && %{with_base}
|
|
%define with_up_base 1
|
|
%else
|
|
%define with_up_base 0
|
|
%endif
|
|
%if %{with_realtime} && %{with_base}
|
|
%define with_realtime_base 1
|
|
%else
|
|
%define with_realtime_base 0
|
|
%endif
|
|
%if %{with_automotive} && %{with_base} && !%{with_automotive_build}
|
|
%define with_automotive_base 1
|
|
%else
|
|
%define with_automotive_base 0
|
|
%endif
|
|
%if %{with_arm64_16k} && %{with_base}
|
|
%define with_arm64_16k_base 1
|
|
%else
|
|
%define with_arm64_16k_base 0
|
|
%endif
|
|
%if %{with_arm64_64k} && %{with_base}
|
|
%define with_arm64_64k_base 1
|
|
%else
|
|
%define with_arm64_64k_base 0
|
|
%endif
|
|
%if %{with_realtime_arm64_64k} && %{with_base}
|
|
%define with_realtime_arm64_64k_base 1
|
|
%else
|
|
%define with_realtime_arm64_64k_base 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: %{package_name}
|
|
License: ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-2-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-only WITH Linux-syscall-note) OR CDDL-1.0) AND ((GPL-2.0-only WITH Linux-syscall-note) OR Linux-OpenIB) AND ((GPL-2.0-only WITH Linux-syscall-note) OR MIT) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR BSD-3-Clause) AND ((GPL-2.0-or-later WITH Linux-syscall-note) OR MIT) AND 0BSD AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0) AND BSD-3-Clause AND BSD-3-Clause-Clear AND CC0-1.0 AND GFDL-1.1-no-invariants-or-later AND GPL-1.0-or-later AND (GPL-1.0-or-later OR BSD-3-Clause) AND (GPL-1.0-or-later WITH Linux-syscall-note) AND GPL-2.0-only AND (GPL-2.0-only OR Apache-2.0) AND (GPL-2.0-only OR BSD-2-Clause) AND (GPL-2.0-only OR BSD-3-Clause) AND (GPL-2.0-only OR CDDL-1.0) AND (GPL-2.0-only OR GFDL-1.1-no-invariants-or-later) AND (GPL-2.0-only OR GFDL-1.2-no-invariants-only) AND (GPL-2.0-only WITH Linux-syscall-note) AND GPL-2.0-or-later AND (GPL-2.0-or-later OR BSD-2-Clause) AND (GPL-2.0-or-later OR BSD-3-Clause) AND (GPL-2.0-or-later OR CC-BY-4.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH Linux-syscall-note) AND ISC AND LGPL-2.0-or-later AND (LGPL-2.0-or-later OR BSD-2-Clause) AND (LGPL-2.0-or-later WITH Linux-syscall-note) AND LGPL-2.1-only AND (LGPL-2.1-only OR BSD-2-Clause) AND (LGPL-2.1-only WITH Linux-syscall-note) AND LGPL-2.1-or-later AND (LGPL-2.1-or-later WITH Linux-syscall-note) AND (Linux-OpenIB OR GPL-2.0-only) AND (Linux-OpenIB OR GPL-2.0-only OR BSD-2-Clause) AND Linux-man-pages-copyleft AND MIT AND (MIT OR Apache-2.0) AND (MIT OR GPL-2.0-only) AND (MIT OR GPL-2.0-or-later) AND (MIT OR LGPL-2.1-only) AND (MPL-1.1 OR GPL-2.0-only) AND (X11 OR GPL-2.0-only) AND (X11 OR GPL-2.0-or-later) AND Zlib AND (copyleft-next-0.3.1 OR GPL-2.0-or-later)
|
|
URL: https://www.kernel.org/
|
|
Version: %{specrpmversion}
|
|
Release: %{pkg_release}
|
|
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
|
|
# SET %%nobuildarches (ABOVE) INSTEAD
|
|
%if 0%{?fedora}
|
|
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le riscv64
|
|
%else
|
|
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le riscv64 x86_64_v2
|
|
%endif
|
|
ExclusiveOS: Linux
|
|
%ifnarch %{nobuildarches}
|
|
Requires: %{name}-core-uname-r = %{KVERREL}
|
|
Requires: %{name}-modules-uname-r = %{KVERREL}
|
|
Requires: %{name}-modules-core-uname-r = %{KVERREL}
|
|
Requires: ((%{name}-modules-extra-uname-r = %{KVERREL}) if %{name}-modules-extra-matched)
|
|
Provides: installonlypkg(kernel)
|
|
%endif
|
|
|
|
|
|
#
|
|
# List the packages used during the kernel build
|
|
#
|
|
BuildRequires: kmod, bash, coreutils, tar, git-core, which
|
|
BuildRequires: bzip2, xz, findutils, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk, %compression
|
|
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex, gcc-c++
|
|
%if 0%{?fedora}
|
|
BuildRequires: rust, rust-src, bindgen
|
|
%endif
|
|
BuildRequires: net-tools, hostname, bc, elfutils-devel
|
|
BuildRequires: dwarves
|
|
BuildRequires: python3
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-pyyaml
|
|
BuildRequires: kernel-rpm-macros
|
|
# glibc-static is required for a consistent build environment (specifically
|
|
# CONFIG_CC_CAN_LINK_STATIC=y).
|
|
BuildRequires: glibc-static
|
|
%if %{with_headers} || %{with_cross_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 python3-setuptools
|
|
BuildRequires: java-devel
|
|
BuildRequires: libbabeltrace-devel
|
|
BuildRequires: libtraceevent-devel
|
|
%ifnarch s390x
|
|
BuildRequires: numactl-devel
|
|
%endif
|
|
%ifarch aarch64
|
|
BuildRequires: opencsd-devel >= 1.0.0
|
|
%endif
|
|
%endif
|
|
%if %{with_tools}
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: gettext ncurses-devel
|
|
BuildRequires: libcap-devel libcap-ng-devel
|
|
# The following are rtla requirements
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: libtraceevent-devel
|
|
BuildRequires: libtracefs-devel
|
|
BuildRequires: libbpf-devel
|
|
BuildRequires: bpftool
|
|
BuildRequires: clang
|
|
|
|
%ifarch %{cpupowerarchs}
|
|
# For libcpupower bindings
|
|
BuildRequires: swig
|
|
%endif
|
|
|
|
%ifnarch s390x
|
|
BuildRequires: pciutils-devel
|
|
%endif
|
|
%ifarch i686 x86_64
|
|
BuildRequires: libnl3-devel
|
|
%endif
|
|
%endif
|
|
|
|
%if %{with_tools} && %{with_ynl}
|
|
BuildRequires: python3-pyyaml python3-jsonschema python3-pip python3-setuptools python3-wheel
|
|
%endif
|
|
|
|
BuildRequires: openssl-devel
|
|
|
|
%if %{with_selftests}
|
|
BuildRequires: clang llvm-devel fuse-devel zlib-devel binutils-devel python3-docutils python3-jsonschema
|
|
%ifarch x86_64 riscv64
|
|
BuildRequires: lld
|
|
%endif
|
|
BuildRequires: libcap-devel libcap-ng-devel rsync libmnl-devel libxml2-devel
|
|
BuildRequires: numactl-devel
|
|
BuildRequires: xxd
|
|
%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
|
|
|
|
# Remove -q option below to provide 'extracting debug info' messages
|
|
%global _find_debuginfo_opts -r -q
|
|
|
|
%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
|
|
%if %{signkernel}
|
|
# ELN uses Fedora signing process, so exclude
|
|
%if 0%{?rhel}%{?centos} && !0%{?eln}
|
|
BuildRequires: system-sb-certs
|
|
%endif
|
|
%ifarch x86_64 aarch64 riscv64
|
|
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
|
|
|
|
%if 0%{?fedora} && 0%{?fedora} <= 41
|
|
# Work around find-debuginfo for cross builds.
|
|
# find-debuginfo doesn't support any of CROSS options (RHEL-21797),
|
|
# and since debugedit > 5.0-16.el10, or since commit
|
|
# dfe1f7ff30f4 ("find-debuginfo.sh: Exit with real exit status in parallel jobs")
|
|
# it now aborts on failure and build fails.
|
|
# debugedit-5.1-5 in F42 added support to override tools with target versions.
|
|
%undefine _include_gdb_index
|
|
%endif
|
|
%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
|
|
|
|
%if %{with_efiuki}
|
|
BuildRequires: dracut >= 104
|
|
# For dracut UEFI uki binaries
|
|
BuildRequires: binutils
|
|
# For the initrd
|
|
BuildRequires: lvm2
|
|
BuildRequires: systemd-boot-unsigned
|
|
# For systemd-stub and systemd-pcrphase
|
|
BuildRequires: systemd-udev >= 252-1
|
|
# For systemd-repart
|
|
BuildRequires: xfsprogs e2fsprogs dosfstools
|
|
# For UKI kernel cmdline addons
|
|
BuildRequires: systemd-ukify
|
|
# For TPM operations in UKI initramfs
|
|
BuildRequires: tpm2-tools
|
|
# For UKI sb cert
|
|
%if 0%{?rhel}%{?centos} && !0%{?eln}
|
|
%if 0%{?centos}
|
|
BuildRequires: centos-sb-certs >= 9.0-23
|
|
%else
|
|
BuildRequires: redhat-sb-certs >= 9.4-0.1
|
|
%endif
|
|
%endif
|
|
%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-%{tarfile_release}.tar.xz
|
|
|
|
Source1: Makefile.rhelver
|
|
Source2: %{package_name}.changelog
|
|
|
|
Source10: redhatsecurebootca5.cer
|
|
Source13: redhatsecureboot501.cer
|
|
|
|
%if %{signkernel}
|
|
# 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
|
|
|
|
# Fedora/ELN pesign macro expects to see these cert file names, see:
|
|
# https://github.com/rhboot/pesign/blob/main/src/pesign-rpmbuild-helper.in#L216
|
|
%if 0%{?fedora}%{?eln}
|
|
%define pesign_name_0 redhatsecureboot501
|
|
%define secureboot_ca_0 %{SOURCE10}
|
|
%define secureboot_key_0 %{SOURCE13}
|
|
%endif
|
|
|
|
# RHEL/centos certs come from system-sb-certs
|
|
%if 0%{?rhel} && !0%{?eln}
|
|
%define secureboot_ca_0 %{_datadir}/pki/sb-certs/secureboot-ca-%{_arch}.cer
|
|
%define secureboot_key_0 %{_datadir}/pki/sb-certs/secureboot-kernel-%{_arch}.cer
|
|
|
|
%define pesign_name_0 almalinuxsecureboot0
|
|
# rhel && !eln
|
|
%endif
|
|
|
|
# signkernel
|
|
%endif
|
|
|
|
Source20: mod-denylist.sh
|
|
Source21: mod-sign.sh
|
|
Source22: filtermods.py
|
|
|
|
%define modsign_cmd %{SOURCE21}
|
|
|
|
%if 0%{?include_rhel}
|
|
Source24: %{name}-aarch64-rhel.config
|
|
Source25: %{name}-aarch64-debug-rhel.config
|
|
Source27: %{name}-ppc64le-rhel.config
|
|
Source28: %{name}-ppc64le-debug-rhel.config
|
|
Source29: %{name}-s390x-rhel.config
|
|
Source30: %{name}-s390x-debug-rhel.config
|
|
Source31: %{name}-s390x-zfcpdump-rhel.config
|
|
Source32: %{name}-x86_64-rhel.config
|
|
Source33: %{name}-x86_64-debug-rhel.config
|
|
Source10001: %{name}-x86_64_v2-rhel.config
|
|
Source10002: %{name}-x86_64_v2-debug-rhel.config
|
|
# ARM64 64K page-size kernel config
|
|
Source42: %{name}-aarch64-64k-rhel.config
|
|
Source43: %{name}-aarch64-64k-debug-rhel.config
|
|
Source44: %{name}-riscv64-rhel.config
|
|
Source45: %{name}-riscv64-debug-rhel.config
|
|
%endif
|
|
|
|
%if %{include_rhel} || %{include_automotive}
|
|
Source23: x509.genkey.rhel
|
|
Source34: def_variants.yaml.rhel
|
|
Source41: x509.genkey.centos
|
|
%endif
|
|
|
|
%if 0%{?include_fedora}
|
|
Source50: x509.genkey.fedora
|
|
|
|
Source52: %{name}-aarch64-fedora.config
|
|
Source53: %{name}-aarch64-debug-fedora.config
|
|
Source54: %{name}-aarch64-16k-fedora.config
|
|
Source55: %{name}-aarch64-16k-debug-fedora.config
|
|
Source56: %{name}-ppc64le-fedora.config
|
|
Source57: %{name}-ppc64le-debug-fedora.config
|
|
Source58: %{name}-s390x-fedora.config
|
|
Source59: %{name}-s390x-debug-fedora.config
|
|
Source60: %{name}-x86_64-fedora.config
|
|
Source61: %{name}-x86_64-debug-fedora.config
|
|
Source700: %{name}-riscv64-fedora.config
|
|
Source701: %{name}-riscv64-debug-fedora.config
|
|
|
|
Source62: def_variants.yaml.fedora
|
|
%endif
|
|
|
|
Source70: partial-kgcov-snip.config
|
|
Source71: partial-kgcov-debug-snip.config
|
|
Source72: partial-clang-snip.config
|
|
Source73: partial-clang-debug-snip.config
|
|
Source74: partial-clang_lto-x86_64-snip.config
|
|
Source75: partial-clang_lto-x86_64-debug-snip.config
|
|
Source76: partial-clang_lto-aarch64-snip.config
|
|
Source77: partial-clang_lto-aarch64-debug-snip.config
|
|
Source80: generate_all_configs.sh
|
|
Source81: process_configs.sh
|
|
|
|
Source83: uki.sbat.template
|
|
Source84: uki-addons.sbat.template
|
|
Source85: kernel.sbat.template
|
|
|
|
Source86: dracut-virt.conf
|
|
|
|
Source87: flavors
|
|
|
|
Source151: uki_create_addons.py
|
|
Source152: uki_addons.json
|
|
|
|
|
|
Source102: nvidiagpuoot001.x509
|
|
Source107: nvidiajetsonsoc.x509
|
|
Source108: nvidiabfdpu.x509
|
|
|
|
%if 0%{?fedora}%{?eln}
|
|
%define ima_ca_cert %{SOURCE106}
|
|
%endif
|
|
|
|
%if 0%{?rhel} && !0%{?eln}
|
|
%define ima_ca_cert %{SOURCE103}
|
|
# rhel && !eln
|
|
%endif
|
|
|
|
%if 0%{?centos}
|
|
%define ima_signing_cert %{SOURCE105}
|
|
%else
|
|
%define ima_signing_cert %{SOURCE104}
|
|
%endif
|
|
|
|
%define ima_cert_name ima.cer
|
|
|
|
Source200: check-kabi
|
|
|
|
Source201: Module.kabi_aarch64
|
|
Source202: Module.kabi_ppc64le
|
|
Source203: Module.kabi_s390x
|
|
Source204: Module.kabi_x86_64
|
|
Source205: Module.kabi_riscv64
|
|
Source206: Module.kabi_x86_64_v2
|
|
|
|
Source210: Module.kabi_dup_aarch64
|
|
Source211: Module.kabi_dup_ppc64le
|
|
Source212: Module.kabi_dup_s390x
|
|
Source213: Module.kabi_dup_x86_64
|
|
Source214: Module.kabi_dup_riscv64
|
|
Source215: Module.kabi_dup_x86_64_v2
|
|
|
|
Source300: kernel-abi-stablelists-%{kabiversion}.tar.xz
|
|
Source301: kernel-kabi-dw-%{kabiversion}.tar.xz
|
|
|
|
%if 0%{include_rt}
|
|
%if 0%{include_rhel}
|
|
Source474: %{name}-aarch64-rt-rhel.config
|
|
Source475: %{name}-aarch64-rt-debug-rhel.config
|
|
Source476: %{name}-aarch64-rt-64k-rhel.config
|
|
Source477: %{name}-aarch64-rt-64k-debug-rhel.config
|
|
Source478: %{name}-x86_64-rt-rhel.config
|
|
Source479: %{name}-x86_64-rt-debug-rhel.config
|
|
Source480: %{name}-x86_64_v2-rt-rhel.config
|
|
Source481: %{name}-x86_64_v2-rt-debug-rhel.config
|
|
%endif
|
|
%if 0%{include_fedora}
|
|
Source478: %{name}-aarch64-rt-fedora.config
|
|
Source479: %{name}-aarch64-rt-debug-fedora.config
|
|
Source480: %{name}-aarch64-rt-64k-fedora.config
|
|
Source481: %{name}-aarch64-rt-64k-debug-fedora.config
|
|
Source482: %{name}-x86_64-rt-fedora.config
|
|
Source483: %{name}-x86_64-rt-debug-fedora.config
|
|
Source484: %{name}-riscv64-rt-fedora.config
|
|
Source485: %{name}-riscv64-rt-debug-fedora.config
|
|
%endif
|
|
%endif
|
|
|
|
%if %{include_automotive}
|
|
%if %{with_automotive_build}
|
|
Source486: %{name}-aarch64-rhel.config
|
|
Source487: %{name}-aarch64-debug-rhel.config
|
|
Source488: %{name}-x86_64-rhel.config
|
|
Source489: %{name}-x86_64-debug-rhel.config
|
|
%else
|
|
Source486: %{name}-aarch64-automotive-rhel.config
|
|
Source487: %{name}-aarch64-automotive-debug-rhel.config
|
|
Source488: %{name}-x86_64-automotive-rhel.config
|
|
Source489: %{name}-x86_64-automotive-debug-rhel.config
|
|
%endif
|
|
%endif
|
|
|
|
|
|
# Sources for kernel-tools
|
|
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.py
|
|
Source3001: kernel-local
|
|
%if %{patchlist_changelog}
|
|
Source3002: Patchlist.changelog
|
|
%endif
|
|
|
|
Source4000: README.rst
|
|
Source4001: rpminspect.yaml
|
|
Source4002: gating.yaml
|
|
|
|
# AlmaLinux Source
|
|
Source100: almalinuxdup1.x509
|
|
Source101: almalinuxkpatch1.x509
|
|
Source103: almalinuximaca1.x509
|
|
Source104: almalinuxima.x509
|
|
Source105: almalinuxima.x509
|
|
Source106: almalinuxima.x509
|
|
Source109: almalinuxnvidia1.x509
|
|
|
|
## Patches needed for building this package
|
|
|
|
%if !%{nopatches}
|
|
|
|
Patch1: patch-%{patchversion}-redhat.patch
|
|
%endif
|
|
|
|
# empty final patch to facilitate testing of kernel patches
|
|
Patch999999: linux-kernel-test.patch
|
|
|
|
# AlmaLinux Patch
|
|
Patch2001: 0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch
|
|
Patch2002: 0002-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch
|
|
Patch2003: 0003-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch
|
|
Patch2004: 0004-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch
|
|
Patch2006: 0006-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch
|
|
Patch2007: 0007-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch
|
|
Patch2008: 0008-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch
|
|
Patch2009: 0009-Bring-back-deprecated-pci-ids-to-mpt3sas-driver.patch
|
|
Patch2010: 0001-Keep-fs-btrfs-files-in-modules-package.patch
|
|
|
|
# END OF PATCH DEFINITIONS
|
|
|
|
%description
|
|
The %{package_name} meta package
|
|
|
|
# This macro does requires, provides, conflicts, obsoletes for a kernel package.
|
|
# %%kernel_reqprovconf [-o] <subpackage>
|
|
# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
|
|
# macros defined above.
|
|
# -o: Skips main "Provides" that would satisfy general kernel requirements that
|
|
# special-purpose kernels shouldn't include.
|
|
# For example, used for zfcpdump-core to *not* provide kernel-core. (BZ 2027654)
|
|
#
|
|
%define kernel_reqprovconf(o) \
|
|
%if %{-o:0}%{!-o:1}\
|
|
Provides: kernel = %{specversion}-%{pkg_release}\
|
|
Provides: %{name} = %{specversion}-%{pkg_release}\
|
|
%endif\
|
|
Provides: %{name}-%{_target_cpu} = %{specrpmversion}-%{pkg_release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires(pre): %{kernel_prereq}\
|
|
Requires(pre): %{initrd_prereq}\
|
|
Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)\
|
|
Recommends: linux-firmware\
|
|
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
|
|
BuildArch: noarch
|
|
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.
|
|
|
|
%if %{with_headers}
|
|
%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
|
|
%if 0%{?gemini}
|
|
Provides: %{name}-headers = %{specversion}-%{release}
|
|
Obsoletes: kernel-headers < %{specversion}
|
|
%endif
|
|
%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.
|
|
%endif
|
|
|
|
%if %{with_cross_headers}
|
|
%package cross-headers
|
|
Summary: Header files for the Linux kernel for use by cross-glibc
|
|
%if 0%{?gemini}
|
|
Provides: %{name}-cross-headers = %{specversion}-%{release}
|
|
Obsoletes: kernel-cross-headers < %{specversion}
|
|
%endif
|
|
%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.
|
|
%endif
|
|
|
|
%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
|
|
%if 0%{gemini}
|
|
Epoch: %{gemini}
|
|
%endif
|
|
Summary: Performance monitoring for the Linux kernel
|
|
Requires: bzip2
|
|
%description -n perf
|
|
This package contains the perf tool, which enables performance monitoring
|
|
of the Linux kernel.
|
|
|
|
%package -n perf-debuginfo
|
|
%if 0%{gemini}
|
|
Epoch: %{gemini}
|
|
%endif
|
|
Summary: Debug information for package perf
|
|
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{specrpmversion}-%{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
|
|
%if 0%{gemini}
|
|
Epoch: %{gemini}
|
|
%endif
|
|
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
|
|
%if 0%{gemini}
|
|
Epoch: %{gemini}
|
|
%endif
|
|
Summary: Debug information for package perf python bindings
|
|
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{specrpmversion}-%{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_libperf}
|
|
%package -n libperf
|
|
Summary: The perf library from kernel source
|
|
%description -n libperf
|
|
This package contains the kernel source perf library.
|
|
|
|
%package -n libperf-devel
|
|
Summary: Developement files for the perf library from kernel source
|
|
Requires: libperf = %{version}-%{release}
|
|
%description -n libperf-devel
|
|
This package includes libraries and header files needed for development
|
|
of applications which use perf library from kernel source.
|
|
|
|
%package -n libperf-debuginfo
|
|
Summary: Debug information for package libperf
|
|
Group: Development/Debug
|
|
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
|
|
AutoReqProv: no
|
|
%description -n libperf-debuginfo
|
|
This package provides debug information for the libperf 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 '.*%%{_libdir}/libperf.so.*(\.debug)?|XXX' -o libperf-debuginfo.list}
|
|
# with_libperf
|
|
%endif
|
|
|
|
%if %{with_tools}
|
|
%package -n %{package_name}-tools
|
|
Summary: Assortment of tools for the Linux kernel
|
|
%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: %{package_name}-tools-libs = %{specrpmversion}-%{release}
|
|
%endif
|
|
%define __requires_exclude ^%{_bindir}/python
|
|
%description -n %{package_name}-tools
|
|
This package contains the tools/ directory from the kernel source
|
|
and the supporting documentation.
|
|
|
|
%package -n %{package_name}-tools-libs
|
|
Summary: Libraries for the kernels-tools
|
|
%description -n %{package_name}-tools-libs
|
|
This package contains the libraries built from the tools/ directory
|
|
from the kernel source.
|
|
|
|
%package -n %{package_name}-tools-libs-devel
|
|
Summary: Assortment of tools for the Linux kernel
|
|
Requires: %{package_name}-tools = %{version}-%{release}
|
|
%ifarch %{cpupowerarchs}
|
|
Provides: cpupowerutils-devel = 1:009-0.6.p1
|
|
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
|
|
%endif
|
|
Requires: %{package_name}-tools-libs = %{version}-%{release}
|
|
Provides: %{package_name}-tools-devel
|
|
%description -n %{package_name}-tools-libs-devel
|
|
This package contains the development files for the tools/ directory from
|
|
the kernel source.
|
|
|
|
%package -n %{package_name}-tools-debuginfo
|
|
Summary: Debug information for package %{package_name}-tools
|
|
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
|
|
AutoReqProv: no
|
|
%description -n %{package_name}-tools-debuginfo
|
|
This package provides debug information for package %{package_name}-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}/bootconfig(\.debug)?|.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{python3_sitearch}/_raw_pylibcpupower.*|.*%%{_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)?|.*%%{_sbindir}/intel_sdsi(\.debug)?|XXX' -o %{package_name}-tools-debuginfo.list}
|
|
|
|
%package -n rtla
|
|
%if 0%{gemini}
|
|
Epoch: %{gemini}
|
|
%endif
|
|
Summary: Real-Time Linux Analysis tools
|
|
Requires: libtraceevent
|
|
Requires: libtracefs
|
|
Requires: libbpf
|
|
%ifarch %{cpupowerarchs}
|
|
Requires: %{package_name}-tools-libs = %{version}-%{release}
|
|
%endif
|
|
%description -n rtla
|
|
The rtla meta-tool includes a set of commands that aims to analyze
|
|
the real-time properties of Linux. Instead of testing Linux as a black box,
|
|
rtla leverages kernel tracing capabilities to provide precise information
|
|
about the properties and root causes of unexpected results.
|
|
|
|
%package -n rv
|
|
Summary: RV: Runtime Verification
|
|
%description -n rv
|
|
Runtime Verification (RV) is a lightweight (yet rigorous) method that
|
|
complements classical exhaustive verification techniques (such as model
|
|
checking and theorem proving) with a more practical approach for
|
|
complex systems.
|
|
The rv tool is the interface for a collection of monitors that aim
|
|
analysing the logical and timing behavior of Linux.
|
|
|
|
# with_tools
|
|
%endif
|
|
|
|
%if %{with_selftests}
|
|
|
|
%package selftests-internal
|
|
Summary: Kernel samples and selftests
|
|
Requires: binutils, bpftool, iproute-tc, nmap-ncat, python3, fuse-libs, keyutils
|
|
Provides: %{name}-selftests-internal-present
|
|
%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}
|
|
|
|
%define __requires_exclude ^liburandom_read.so.*$
|
|
|
|
# with_selftests
|
|
%endif
|
|
|
|
%define kernel_gcov_package() \
|
|
%package %{?1:%{1}-}gcov\
|
|
Summary: gcov graph and source files for coverage data collection.\
|
|
%description %{?1:%{1}-}gcov\
|
|
%{?1:%{1}-}gcov includes the gcov graph and source files for gcov coverage collection.\
|
|
%{nil}
|
|
|
|
%if %{with_kernel_abi_stablelists}
|
|
%package -n %{package_name}-abi-stablelists
|
|
Summary: The AlmaLinux kernel ABI symbol stablelists
|
|
BuildArch: noarch
|
|
AutoReqProv: no
|
|
%description -n %{package_name}-abi-stablelists
|
|
The kABI package contains information pertaining to the AlmaLinux
|
|
kernel ABI, including lists of kernel symbols that are needed by
|
|
external Linux kernel modules, and a yum plugin to aid enforcement.
|
|
%endif
|
|
|
|
%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 AlmaLinux
|
|
kernel, suitable for the kabi-dw tool.
|
|
%endif
|
|
|
|
#
|
|
# This macro creates a kernel-<subpackage>-debuginfo package.
|
|
# %%kernel_debuginfo_package <subpackage>
|
|
#
|
|
# Explanation of the find_debuginfo_opts: We build multiple kernels (debug,
|
|
# rt, 64k 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} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{specrpmversion}-%{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} --keep-section '.BTF' -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-<subpackage>-devel package.
|
|
# %%kernel_devel_package [-m] <subpackage> <pretty-name>
|
|
#
|
|
%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} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}-devel-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: kernel-devel-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Provides: %{name}-devel-uname-r = %{KVERREL}%{uname_suffix %{?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: %{name}-devel-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
%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-<subpackage>-devel-matched package that
|
|
# requires both the core and devel packages locked on the same version.
|
|
# %%kernel_devel_matched_package [-m] <subpackage> <pretty-name>
|
|
#
|
|
%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: %{package_name}%{?1:-%{1}}-devel = %{specrpmversion}-%{release}\
|
|
Requires: %{package_name}%{?1:-%{1}}-core = %{specrpmversion}-%{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}
|
|
|
|
%define kernel_modules_extra_matched_package(m) \
|
|
%package modules-extra-matched\
|
|
Summary: Meta package which requires modules-extra to be installed for all kernels.\
|
|
%description modules-extra-matched\
|
|
This meta package provides a single reference that other packages can Require to have modules-extra installed for all kernels.\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro creates a kernel-<subpackage>-modules-internal package.
|
|
# %%kernel_modules_internal_package <subpackage> <pretty-name>
|
|
#
|
|
%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} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-internal = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel-module)\
|
|
Provides: %{name}%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Supplements: (%{name}-selftests-internal-present and %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}})\
|
|
AutoReq: no\
|
|
AutoProv: yes\
|
|
%description %{?1:%{1}-}modules-internal\
|
|
This package provides kernel modules for the %{?2:%{2} }kernel package for AlmaLinux internal usage.\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro creates a kernel-<subpackage>-modules-extra package.
|
|
# %%kernel_modules_extra_package [-m] <subpackage> <pretty-name>
|
|
#
|
|
%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} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-extra = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel-module)\
|
|
Provides: %{name}%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
%if %{-m:1}%{!-m:0}\
|
|
Requires: %{name}-modules-extra-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
%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-<subpackage>-modules package.
|
|
# %%kernel_modules_package [-m] <subpackage> <pretty-name>
|
|
#
|
|
%define kernel_modules_package(m) \
|
|
%package %{?1:%{1}-}modules\
|
|
Summary: kernel modules to match the %{?2:%{2}-}core kernel\
|
|
Provides: %{name}%{?1:-%{1}}-modules-%{_target_cpu} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}-modules-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}-modules = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel-module)\
|
|
Provides: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
%if %{-m:1}%{!-m:0}\
|
|
Requires: %{name}-modules-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
%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-<subpackage>-modules-core package.
|
|
# %%kernel_modules_core_package [-m] <subpackage> <pretty-name>
|
|
#
|
|
%define kernel_modules_core_package(m) \
|
|
%package %{?1:%{1}-}modules-core\
|
|
Summary: Core kernel modules to match the %{?2:%{2}-}core kernel\
|
|
Provides: %{name}%{?1:-%{1}}-modules-core-%{_target_cpu} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}-modules-core-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}-modules-core = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel-module)\
|
|
Provides: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
%if %{-m:1}%{!-m:0}\
|
|
Requires: %{name}-modules-core-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
%endif\
|
|
AutoReq: no\
|
|
AutoProv: yes\
|
|
%description %{?1:%{1}-}modules-core\
|
|
This package provides essential kernel modules for the %{?2:%{2}-}core kernel package.\
|
|
%{nil}
|
|
|
|
#
|
|
# this macro creates a kernel-<subpackage> meta package.
|
|
# %%kernel_meta_package <subpackage>
|
|
#
|
|
%define kernel_meta_package() \
|
|
%package %{1}\
|
|
summary: kernel meta-package for the %{1} kernel\
|
|
Requires: %{name}-%{1}-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\
|
|
Requires: %{name}-%{1}-modules-uname-r = %{KVERREL}%{uname_suffix %{1}}\
|
|
Requires: %{name}-%{1}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{1}}\
|
|
Requires: ((%{name}-%{1}-modules-extra-uname-r = %{KVERREL}%{uname_suffix %{1}}) if %{name}-modules-extra-matched)\
|
|
%if "%{1}" == "rt" || "%{1}" == "rt-debug" || "%{1}" == "rt-64k" || "%{1}" == "rt-64k-debug"\
|
|
Requires: realtime-setup\
|
|
%endif\
|
|
Provides: installonlypkg(kernel)\
|
|
%description %{1}\
|
|
The meta-package for the %{1} kernel\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
|
|
# %%define variant_summary The Linux kernel compiled for <configuration>
|
|
# %%kernel_variant_package [-n <pretty-name>] [-m] [-o] <subpackage>
|
|
# -m: Used with debugbuildsenabled==0 to create a "meta" debug variant that
|
|
# depends on base variant and skips debug/internal/partner packages.
|
|
# -o: Skips main "Provides" that would satisfy general kernel requirements that
|
|
# special-purpose kernels shouldn't include.
|
|
#
|
|
%define kernel_variant_package(n:mo) \
|
|
%package %{?1:%{1}-}core\
|
|
Summary: %{variant_summary}\
|
|
Provides: %{name}-%{?1:%{1}-}core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel)\
|
|
%if %{-m:1}%{!-m:0}\
|
|
Requires: %{name}-core-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
Requires: %{name}-%{?1:%{1}-}-modules-core-uname-r = %{KVERREL}%{uname_variant %{?1}}\
|
|
%endif\
|
|
%{expand:%%kernel_reqprovconf %{?1:%{1}} %{-o:%{-o}}}\
|
|
%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_core_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*}}}\
|
|
%if 0%{!?fedora:1}\
|
|
%{expand:%%kernel_modules_partner_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
|
|
%endif\
|
|
%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\
|
|
%endif\
|
|
%if %{with_efiuki} && ("%{1}" != "rt" && "%{1}" != "rt-debug" && "%{1}" != "rt-64k" && "%{1}" != "rt-64k-debug")\
|
|
%package %{?1:%{1}-}uki-virt\
|
|
Summary: %{variant_summary} unified kernel image for virtual machines\
|
|
Provides: installonlypkg(kernel)\
|
|
Provides: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires(pre): %{kernel_prereq}\
|
|
Requires(pre): systemd >= 254-1\
|
|
%package %{?1:%{1}-}uki-virt-addons\
|
|
Summary: %{variant_summary} unified kernel image addons for virtual machines\
|
|
Provides: installonlypkg(kernel)\
|
|
Requires: %{name}%{?1:-%{1}}-uki-virt = %{specrpmversion}-%{release}\
|
|
Requires(pre): systemd >= 254-1\
|
|
%endif\
|
|
%if %{with_gcov}\
|
|
%{expand:%%kernel_gcov_package %{?1:%{1}}}\
|
|
%endif\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro creates a kernel-<subpackage>-modules-partner package.
|
|
# %%kernel_modules_partner_package <subpackage> <pretty-name>
|
|
#
|
|
%define kernel_modules_partner_package() \
|
|
%package %{?1:%{1}-}modules-partner\
|
|
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
|
|
Group: System Environment/Kernel\
|
|
Provides: %{name}%{?1:-%{1}}-modules-partner-%{_target_cpu} = %{specrpmversion}-%{release}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-partner-%{_target_cpu} = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: %{name}%{?1:-%{1}}-modules-partner = %{specrpmversion}-%{release}%{uname_suffix %{?1}}\
|
|
Provides: installonlypkg(kernel-module)\
|
|
Provides: %{name}%{?1:-%{1}}-modules-partner-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
Requires: %{name}%{?1:-%{1}}-modules-core-uname-r = %{KVERREL}%{uname_suffix %{?1}}\
|
|
AutoReq: no\
|
|
AutoProv: yes\
|
|
%description %{?1:%{1}-}modules-partner\
|
|
This package provides kernel modules for the %{?2:%{2} }kernel package for AlmaLinux partners usage.\
|
|
%{nil}
|
|
|
|
# Now, each variant package.
|
|
%if %{with_zfcpdump}
|
|
%define variant_summary The Linux kernel compiled for zfcpdump usage
|
|
%kernel_variant_package -o zfcpdump
|
|
%description zfcpdump-core
|
|
The kernel package contains the Linux kernel (vmlinuz) for use by the
|
|
zfcpdump infrastructure.
|
|
# with_zfcpdump
|
|
%endif
|
|
|
|
%if %{with_arm64_16k_base}
|
|
%define variant_summary The Linux kernel compiled for 16k pagesize usage
|
|
%kernel_variant_package 16k
|
|
%description 16k-core
|
|
The kernel package contains a variant of the ARM64 Linux kernel using
|
|
a 16K page size.
|
|
%endif
|
|
|
|
%if %{with_arm64_16k} && %{with_debug}
|
|
%define variant_summary The Linux kernel compiled with extra debugging enabled
|
|
%if !%{debugbuildsenabled}
|
|
%kernel_variant_package -m 16k-debug
|
|
%else
|
|
%kernel_variant_package 16k-debug
|
|
%endif
|
|
%description 16k-debug-core
|
|
The debug kernel package contains a variant of the ARM64 Linux kernel using
|
|
a 16K page size.
|
|
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.
|
|
%endif
|
|
|
|
%if %{with_arm64_64k_base}
|
|
%define variant_summary The Linux kernel compiled for 64k pagesize usage
|
|
%kernel_variant_package 64k
|
|
%description 64k-core
|
|
The kernel package contains a variant of the ARM64 Linux kernel using
|
|
a 64K page size.
|
|
%endif
|
|
|
|
%if %{with_arm64_64k} && %{with_debug}
|
|
%define variant_summary The Linux kernel compiled with extra debugging enabled
|
|
%if !%{debugbuildsenabled}
|
|
%kernel_variant_package -m 64k-debug
|
|
%else
|
|
%kernel_variant_package 64k-debug
|
|
%endif
|
|
%description 64k-debug-core
|
|
The debug kernel package contains a variant of the ARM64 Linux kernel using
|
|
a 64K page size.
|
|
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.
|
|
%endif
|
|
|
|
%if %{with_debug} && %{with_realtime}
|
|
%define variant_summary The Linux PREEMPT_RT kernel compiled with extra debugging enabled
|
|
%kernel_variant_package rt-debug
|
|
%description rt-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.
|
|
%endif
|
|
|
|
%if %{with_realtime_base}
|
|
%define variant_summary The Linux kernel compiled with PREEMPT_RT enabled
|
|
%kernel_variant_package rt
|
|
%description rt-core
|
|
This package includes a version of the Linux kernel compiled with the
|
|
PREEMPT_RT real-time preemption support
|
|
%endif
|
|
|
|
%if %{with_realtime_arm64_64k_base}
|
|
%define variant_summary The Linux PREEMPT_RT kernel compiled for 64k pagesize usage
|
|
%kernel_variant_package rt-64k
|
|
%description rt-64k-core
|
|
The kernel package contains a variant of the ARM64 Linux PREEMPT_RT kernel using
|
|
a 64K page size.
|
|
%endif
|
|
|
|
%if %{with_realtime_arm64_64k} && %{with_debug}
|
|
%define variant_summary The Linux PREEMPT_RT kernel compiled with extra debugging enabled
|
|
%if !%{debugbuildsenabled}
|
|
%kernel_variant_package -m rt-64k-debug
|
|
%else
|
|
%kernel_variant_package rt-64k-debug
|
|
%endif
|
|
%description rt-64k-debug-core
|
|
The debug kernel package contains a variant of the ARM64 Linux PREEMPT_RT kernel using
|
|
a 64K page size.
|
|
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.
|
|
%endif
|
|
|
|
%if %{with_debug} && %{with_automotive} && !%{with_automotive_build}
|
|
%define variant_summary The Linux Automotive kernel compiled with extra debugging enabled
|
|
%kernel_variant_package automotive-debug
|
|
%description automotive-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.
|
|
%endif
|
|
|
|
%if %{with_automotive_base}
|
|
%define variant_summary The Linux kernel compiled with PREEMPT_RT enabled
|
|
%kernel_variant_package automotive
|
|
%description automotive-core
|
|
This package includes a version of the Linux kernel compiled with the
|
|
PREEMPT_RT real-time preemption support, targeted for Automotive platforms
|
|
%endif
|
|
|
|
%if %{with_up} && %{with_debug}
|
|
%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.
|
|
%endif
|
|
|
|
%if %{with_up_base}
|
|
# 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.
|
|
%endif
|
|
|
|
%if %{with_up} && %{with_debug} && %{with_efiuki}
|
|
%description debug-uki-virt
|
|
Prebuilt debug unified kernel image for virtual machines.
|
|
|
|
%description debug-uki-virt-addons
|
|
Prebuilt debug unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%if %{with_up_base} && %{with_efiuki}
|
|
%description uki-virt
|
|
Prebuilt default unified kernel image for virtual machines.
|
|
|
|
%description uki-virt-addons
|
|
Prebuilt default unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%if %{with_arm64_16k} && %{with_debug} && %{with_efiuki}
|
|
%description 16k-debug-uki-virt
|
|
Prebuilt 16k debug unified kernel image for virtual machines.
|
|
|
|
%description 16k-debug-uki-virt-addons
|
|
Prebuilt 16k debug unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%if %{with_arm64_16k_base} && %{with_efiuki}
|
|
%description 16k-uki-virt
|
|
Prebuilt 16k unified kernel image for virtual machines.
|
|
|
|
%description 16k-uki-virt-addons
|
|
Prebuilt 16k unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%if %{with_arm64_64k} && %{with_debug} && %{with_efiuki}
|
|
%description 64k-debug-uki-virt
|
|
Prebuilt 64k debug unified kernel image for virtual machines.
|
|
|
|
%description 64k-debug-uki-virt-addons
|
|
Prebuilt 64k debug unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%if %{with_arm64_64k_base} && %{with_efiuki}
|
|
%description 64k-uki-virt
|
|
Prebuilt 64k unified kernel image for virtual machines.
|
|
|
|
%description 64k-uki-virt-addons
|
|
Prebuilt 64k unified kernel image addons for virtual machines.
|
|
%endif
|
|
|
|
%ifnarch noarch %{nobuildarches}
|
|
%kernel_modules_extra_matched_package
|
|
%endif
|
|
|
|
%define log_msg() \
|
|
{ set +x; } 2>/dev/null \
|
|
_log_msglineno=$(grep -n %{*} %{_specdir}/${RPM_PACKAGE_NAME}.spec | grep log_msg | cut -d":" -f1) \
|
|
echo "kernel.spec:${_log_msglineno}: %{*}" \
|
|
set -x
|
|
|
|
%prep
|
|
%{log_msg "Start of prep stage"}
|
|
|
|
%{log_msg "Sanity checks"}
|
|
|
|
# do a few sanity-checks for --with *only builds
|
|
%if %{with_baseonly}
|
|
%if !%{with_up}
|
|
%{log_msg "Cannot build --with baseonly, up build is disabled"}
|
|
exit 1
|
|
%endif
|
|
%endif
|
|
|
|
%if %{with_automotive}
|
|
%if 0%{?fedora}
|
|
%{log_msg "Cannot build automotive with a fedora baseline, must be rhel/centos/eln"}
|
|
exit 1
|
|
%endif
|
|
%endif
|
|
|
|
# more sanity checking; do it quietly
|
|
if [ "%{patches}" != "%%{patches}" ] ; then
|
|
for patch in %{patches} ; do
|
|
if [ ! -f $patch ] ; then
|
|
%{log_msg "ERROR: Patch ${patch##/*/} listed in specfile but is missing"}
|
|
exit 1
|
|
fi
|
|
done
|
|
fi 2>/dev/null
|
|
|
|
patch_command='git --work-tree=. apply'
|
|
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-%{kversion}." ] ; then
|
|
%{log_msg "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
|
|
%{log_msg "ApplyOptionalPatch: $1"}
|
|
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
|
|
}
|
|
|
|
%{log_msg "Untar kernel tarball"}
|
|
%setup -q -n kernel-%{tarfile_release} -c
|
|
mv linux-%{tarfile_release} linux-%{KVERREL}
|
|
|
|
cd linux-%{KVERREL}
|
|
cp -a %{SOURCE1} .
|
|
|
|
%{log_msg "Start of patch applications"}
|
|
%if !%{nopatches}
|
|
|
|
ApplyOptionalPatch patch-%{patchversion}-redhat.patch
|
|
%endif
|
|
|
|
ApplyOptionalPatch linux-kernel-test.patch
|
|
|
|
# Applying AlmaLinux Patch
|
|
ApplyPatch 0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch
|
|
ApplyPatch 0002-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch
|
|
ApplyPatch 0003-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch
|
|
ApplyPatch 0004-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch
|
|
ApplyPatch 0006-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch
|
|
ApplyPatch 0007-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch
|
|
ApplyPatch 0008-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch
|
|
ApplyPatch 0009-Bring-back-deprecated-pci-ids-to-mpt3sas-driver.patch
|
|
ApplyPatch 0001-Keep-fs-btrfs-files-in-modules-package.patch
|
|
|
|
%{log_msg "End of patch applications"}
|
|
# END OF PATCH APPLICATIONS
|
|
|
|
# Any further pre-build tree manipulations happen here.
|
|
%{log_msg "Pre-build tree manipulations"}
|
|
chmod +x scripts/checkpatch.pl
|
|
mv COPYING COPYING-%{specrpmversion}-%{release}
|
|
|
|
# on linux-next prevent scripts/setlocalversion from mucking with our version numbers
|
|
rm -f localversion-next localversion-rt
|
|
|
|
# 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.
|
|
%{log_msg "Fixing Python shebangs..."}
|
|
%py3_shebang_fix \
|
|
tools/kvm/kvm_stat/kvm_stat \
|
|
scripts/show_delta \
|
|
scripts/diffconfig \
|
|
scripts/bloat-o-meter \
|
|
scripts/jobserver-exec \
|
|
tools \
|
|
Documentation \
|
|
scripts/clang-tools 2> /dev/null
|
|
|
|
# SBAT data
|
|
sed -e s,@KVER,%{KVERREL}, -e s,@SBAT_SUFFIX,%{sbat_suffix}, %{SOURCE83} > uki.sbat
|
|
sed -e s,@KVER,%{KVERREL}, -e s,@SBAT_SUFFIX,%{sbat_suffix}, %{SOURCE84} > uki-addons.sbat
|
|
sed -e s,@KVER,%{KVERREL}, -e s,@SBAT_SUFFIX,%{sbat_suffix}, %{SOURCE85} > kernel.sbat
|
|
|
|
# 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
|
|
|
|
%{log_msg "Copy additional source files into buildroot"}
|
|
# Drop some necessary files from the source dir into the buildroot
|
|
cp $RPM_SOURCE_DIR/%{name}-*.config .
|
|
cp %{SOURCE80} .
|
|
# merge.py
|
|
cp %{SOURCE3000} .
|
|
# kernel-local - rename and copy for partial snippet config process
|
|
cp %{SOURCE3001} partial-kernel-local-snip.config
|
|
cp %{SOURCE3001} partial-kernel-local-debug-snip.config
|
|
FLAVOR=%{primary_target} SPECPACKAGE_NAME=%{name} SPECVERSION=%{specversion} SPECRPMVERSION=%{specrpmversion} ./generate_all_configs.sh %{debugbuildsenabled}
|
|
|
|
# Collect custom defined config options
|
|
%{log_msg "Collect custom defined config options"}
|
|
PARTIAL_CONFIGS=""
|
|
%if %{with_gcov}
|
|
PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE70} %{SOURCE71}"
|
|
%endif
|
|
%if %{with toolchain_clang}
|
|
PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE72} %{SOURCE73}"
|
|
%endif
|
|
%if %{with clang_lto}
|
|
PARTIAL_CONFIGS="$PARTIAL_CONFIGS %{SOURCE74} %{SOURCE75} %{SOURCE76} %{SOURCE77}"
|
|
%endif
|
|
PARTIAL_CONFIGS="$PARTIAL_CONFIGS partial-kernel-local-snip.config partial-kernel-local-debug-snip.config"
|
|
|
|
GetArch()
|
|
{
|
|
case "$1" in
|
|
*aarch64*) echo "aarch64" ;;
|
|
*ppc64le*) echo "ppc64le" ;;
|
|
*s390x*) echo "s390x" ;;
|
|
*x86_64*) echo "x86_64" ;;
|
|
*riscv64*) echo "riscv64" ;;
|
|
# no arch, apply everywhere
|
|
*) echo "" ;;
|
|
esac
|
|
}
|
|
|
|
# Merge in any user-provided local config option changes
|
|
%{log_msg "Merge in any user-provided local config option changes"}
|
|
%ifnarch %nobuildarches
|
|
for i in %{all_configs}
|
|
do
|
|
kern_arch="$(GetArch $i)"
|
|
kern_debug="$(echo $i | grep -q debug && echo "debug" || echo "")"
|
|
|
|
for j in $PARTIAL_CONFIGS
|
|
do
|
|
part_arch="$(GetArch $j)"
|
|
part_debug="$(echo $j | grep -q debug && echo "debug" || echo "")"
|
|
|
|
# empty arch means apply to all arches
|
|
if [ "$part_arch" == "" -o "$part_arch" == "$kern_arch" ] && [ "$part_debug" == "$kern_debug" ]
|
|
then
|
|
mv $i $i.tmp
|
|
./merge.py $j $i.tmp > $i
|
|
fi
|
|
done
|
|
rm -f $i.tmp
|
|
done
|
|
%endif
|
|
|
|
%if %{signkernel}%{signmodules}
|
|
|
|
# Add DUP and kpatch certificates to system trusted keys for RHEL
|
|
truncate -s0 ../certs/rhel.pem
|
|
%if 0%{?rhel}
|
|
%if %{rhelkeys}
|
|
%{log_msg "Add DUP and kpatch certificates to system trusted keys for RHEL"}
|
|
openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem
|
|
openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem
|
|
openssl x509 -inform der -in %{SOURCE102} -out nvidiagpuoot001.pem
|
|
openssl x509 -inform der -in %{SOURCE107} -out nvidiajetsonsoc.pem
|
|
openssl x509 -inform der -in %{SOURCE108} -out nvidiabfdpu.pem
|
|
openssl x509 -inform der -in %{SOURCE109} -out almalinuxnvidia.pem
|
|
cat rheldup3.pem rhelkpatch1.pem nvidiagpuoot001.pem nvidiajetsonsoc.pem nvidiabfdpu.pem almalinuxnvidia.pem > ../certs/rhel.pem
|
|
# rhelkeys
|
|
%endif
|
|
%if %{signkernel}
|
|
%ifarch s390x ppc64le
|
|
openssl x509 -inform der -in %{secureboot_ca_0} -out secureboot.pem
|
|
cat secureboot.pem >> ../certs/rhel.pem
|
|
%endif
|
|
%endif
|
|
|
|
# rhel
|
|
%endif
|
|
|
|
openssl x509 -inform der -in %{ima_ca_cert} -out imaca.pem
|
|
cat imaca.pem >> ../certs/rhel.pem
|
|
|
|
for i in *.config; do
|
|
sed -i 's@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@' $i
|
|
sed -i 's@CONFIG_EFI_SBAT_FILE=""@CONFIG_EFI_SBAT_FILE="kernel.sbat"@' $i
|
|
done
|
|
%endif
|
|
|
|
# Adjust FIPS module name for RHEL
|
|
%if 0%{?rhel}
|
|
%{log_msg "Adjust FIPS module name for RHEL"}
|
|
for i in *.config; do
|
|
sed -i 's/CONFIG_CRYPTO_FIPS_NAME=.*/CONFIG_CRYPTO_FIPS_NAME="AlmaLinux %{rhel} - Kernel Cryptographic API"/' $i
|
|
done
|
|
%endif
|
|
|
|
%{log_msg "Set process_configs.sh $OPTS"}
|
|
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
|
|
%{log_msg "Generate redhat configs"}
|
|
RHJOBS=$RPM_BUILD_NCPUS SPECPACKAGE_NAME=%{name} ./process_configs.sh $OPTS %{specrpmversion}
|
|
|
|
# We may want to override files from the primary target in case of building
|
|
# against a flavour of it (eg. centos not rhel), thus override it here if
|
|
# necessary
|
|
update_scripts() {
|
|
TARGET="$1"
|
|
|
|
for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do
|
|
NEW=${i%."$TARGET"}
|
|
cp "$i" "$(basename "$NEW")"
|
|
done
|
|
}
|
|
|
|
%{log_msg "Set scripts/SOURCES targets"}
|
|
update_target=%{primary_target}
|
|
if [ "%{primary_target}" == "rhel" ]; then
|
|
: # no-op to avoid empty if-fi error
|
|
%if 0%{?centos}
|
|
update_scripts $update_target
|
|
%{log_msg "Updating scripts/sources to centos version"}
|
|
update_target=centos
|
|
%endif
|
|
fi
|
|
update_scripts $update_target
|
|
|
|
%endif
|
|
|
|
%{log_msg "End of kernel config"}
|
|
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
|
|
%{log_msg "Start of build stage"}
|
|
|
|
%{log_msg "General arch build configuration"}
|
|
rm -rf %{buildroot_unstripped} || true
|
|
mkdir -p %{buildroot_unstripped}
|
|
|
|
%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() {
|
|
%{log_msg "InitBuildVars for $1"}
|
|
|
|
%{log_msg "InitBuildVars: Initialize build variables"}
|
|
# 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}-%{specrpmversion}-%{_target_cpu}${Variant:+-${Variant}}.config
|
|
DevelDir=/usr/src/kernels/%{KVERREL}${Variant:++${Variant}}
|
|
|
|
KernelVer=%{specversion}-%{release}.%{_target_cpu}${Variant:++${Variant}}
|
|
|
|
%{log_msg "InitBuildVars: Update Makefile"}
|
|
# 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
|
|
|
|
%{log_msg "InitBuildVars: Copy files"}
|
|
%{make} %{?_smp_mflags} mrproper
|
|
cp configs/$Config .config
|
|
|
|
%if %{signkernel}%{signmodules}
|
|
cp configs/x509.genkey certs/.
|
|
%endif
|
|
|
|
%if %{with_debuginfo} == 0
|
|
sed -i 's/^\(CONFIG_DEBUG_INFO.*\)=y/# \1 is not set/' .config
|
|
%endif
|
|
|
|
Arch=`head -1 .config | cut -b 3-`
|
|
%{log_msg "InitBuildVars: USING ARCH=$Arch"}
|
|
|
|
KCFLAGS="%{?kcflags}"
|
|
}
|
|
|
|
#Build bootstrap bpftool
|
|
BuildBpftool(){
|
|
export BPFBOOTSTRAP_CFLAGS=$(echo "%{__global_compiler_flags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
|
export BPFBOOTSTRAP_LDFLAGS=$(echo "%{__global_ldflags}" | sed -r "s/\-specs=[^\ ]+\/redhat-annobin-cc1//")
|
|
CFLAGS="" LDFLAGS="" make EXTRA_CFLAGS="${BPFBOOTSTRAP_CFLAGS}" EXTRA_CXXFLAGS="${BPFBOOTSTRAP_CFLAGS}" EXTRA_LDFLAGS="${BPFBOOTSTRAP_LDFLAGS}" %{?make_opts} %{?clang_make_opts} V=1 -C tools/bpf/bpftool bootstrap
|
|
}
|
|
|
|
BuildKernel() {
|
|
%{log_msg "BuildKernel for $4"}
|
|
MakeTarget=$1
|
|
KernelImage=$2
|
|
DoVDSO=$3
|
|
Variant=$4
|
|
InstallName=${5:-vmlinuz}
|
|
|
|
%{log_msg "Setup variables"}
|
|
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
|
|
|
|
%if %{with_gcov}
|
|
%{log_msg "Setup build directories"}
|
|
# Make build directory unique for each variant, so that gcno symlinks
|
|
# are also unique for each variant.
|
|
if [ -n "$Variant" ]; then
|
|
ln -s $(pwd) ../linux-%{KVERREL}-${Variant}
|
|
fi
|
|
%{log_msg "GCOV - continuing build in: $(pwd)"}
|
|
pushd ../linux-%{KVERREL}${Variant:+-${Variant}}
|
|
pwd > ../kernel${Variant:+-${Variant}}-gcov.list
|
|
%endif
|
|
|
|
%{log_msg "Calling InitBuildVars for $Variant"}
|
|
InitBuildVars $Variant
|
|
|
|
%{log_msg "BUILDING A KERNEL FOR ${Variant} %{_target_cpu}..."}
|
|
|
|
%{make} ARCH=$Arch olddefconfig >/dev/null
|
|
|
|
%{log_msg "Setup build-ids"}
|
|
# 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
|
|
|
|
%{log_msg "Setup RPM_BUILD_ROOT directories"}
|
|
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
|
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
|
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/systemtap
|
|
%if %{with_debuginfo}
|
|
mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
|
|
%endif
|
|
|
|
%ifarch aarch64 riscv64
|
|
%{log_msg "Build dtb kernel"}
|
|
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
|
%{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
|
|
|
|
%{log_msg "Cleanup temp btf files"}
|
|
# Remove large intermediate files we no longer need to save space
|
|
# (-f required for zfcpdump builds that do not enable BTF)
|
|
rm -f vmlinux.o .tmp_vmlinux.btf
|
|
|
|
%{log_msg "Install files to RPM_BUILD_ROOT"}
|
|
|
|
# Comment out specific config settings that may use resources not available
|
|
# to the end user so that the packaged config file can be easily reused with
|
|
# upstream make targets
|
|
%if %{signkernel}%{signmodules}
|
|
sed -i -e '/^CONFIG_SYSTEM_TRUSTED_KEYS/{
|
|
i\# The kernel was built with
|
|
s/^/# /
|
|
a\# We are resetting this value to facilitate local builds
|
|
a\CONFIG_SYSTEM_TRUSTED_KEYS=""
|
|
}' .config
|
|
%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
|
|
|
|
%{log_msg "Create initrfamfs"}
|
|
# 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
|
|
%{log_msg "Copy zImage.stub to RPM_BUILD_ROOT"}
|
|
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}
|
|
%{log_msg "Copy kernel for signing"}
|
|
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
|
|
|
|
SignImage=$KernelImage
|
|
|
|
%ifarch x86_64 aarch64
|
|
%{log_msg "Sign kernel image"}
|
|
%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" == "1" -a "%{signmodules}" == "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
|
|
%{log_msg "pesigning failed"}
|
|
exit 1
|
|
fi
|
|
mv vmlinuz.signed $SignImage
|
|
# signkernel
|
|
%endif
|
|
|
|
%{log_msg "copy signed kernel"}
|
|
$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
|
|
%{log_msg "hmac sign the kernel for FIPS"}
|
|
%{log_msg "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"}
|
|
ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
|
|
(cd $RPM_BUILD_ROOT/%{image_install_path} && sha512hmac $InstallName-$KernelVer) > $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
|
|
%{log_msg "Install modules in RPM_BUILD_ROOT"}
|
|
# 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}
|
|
%{log_msg "install gcov-needed files to $BUILDROOT/$BUILD/"}
|
|
# 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
|
|
|
|
%{log_msg "Add VDSO files"}
|
|
# add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
|
|
echo '%%defattr(-,-,-)' > ../kernel${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/kernel-$KernelVer.conf
|
|
echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Variant:+-${Variant}}-ldsoconf.list
|
|
fi
|
|
|
|
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
|
|
fi
|
|
|
|
%{log_msg "Save headers/makefiles, etc. for kernel-headers"}
|
|
# 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
|
|
%{log_msg "GENERATING kernel ABI metadata"}
|
|
%compression --stdout %compression_flags < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext
|
|
cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.%compext $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.%compext
|
|
|
|
%if %{with_kabichk}
|
|
%{log_msg "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
|
|
%{log_msg "NOTE: Cannot find reference Module.kabi file."}
|
|
fi
|
|
%endif
|
|
|
|
%if %{with_kabidupchk}
|
|
%{log_msg "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
|
|
%{log_msg "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 -xvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
|
tar -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
|
|
|
%{log_msg "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 -xvf %{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 -xvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists
|
|
|
|
%{log_msg "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" || :
|
|
|
|
%{log_msg "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" || :
|
|
%{log_msg "End of kABI DWARF-based comparison report"}
|
|
else
|
|
%{log_msg "Baseline dataset for kABI DWARF-BASED comparison report not found"}
|
|
fi
|
|
|
|
rm -rf $RPM_BUILD_ROOT/kabi-dwarf
|
|
fi
|
|
%endif
|
|
|
|
%{log_msg "Cleanup Makefiles/Kconfig files"}
|
|
# 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
|
|
|
|
%ifarch s390x
|
|
# CONFIG_EXPOLINE_EXTERN=y produces arch/s390/lib/expoline/expoline.o
|
|
# which is needed during external module build.
|
|
%{log_msg "Copy expoline.o"}
|
|
if [ -f arch/s390/lib/expoline/expoline.o ]; then
|
|
cp -a --parents arch/s390/lib/expoline/expoline.o $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
|
|
fi
|
|
%endif
|
|
|
|
%{log_msg "Copy additional files for make targets"}
|
|
# 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/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 $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
|
|
if [ -d tools/arch/%{asmarch}/include ]; then
|
|
cp -a --parents tools/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
|
|
cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
|
|
# Cross-reference from include/perf/events/sof.h
|
|
cp -a sound/soc/sof/sof-audio.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/sound/soc/sof
|
|
%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
|
|
%{log_msg "Clean up intermediate tools files"}
|
|
# 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, version.h, and auto.conf 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 \
|
|
$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
|
|
|
|
%{log_msg "Copy additional files for kernel-debuginfo rpm"}
|
|
#
|
|
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
|
# (use mv + symlink instead of cp to reduce disk space requirements)
|
|
#
|
|
mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
|
|
mv vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
|
|
ln -s $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux vmlinux
|
|
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
|
|
|
|
# build and copy the vmlinux-gdb plugin files into kernel-debuginfo
|
|
%{make} ARCH=$Arch %{?_smp_mflags} scripts_gdb
|
|
cp -a --parents scripts/gdb/{,linux/}*.py $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
|
|
# this should be a relative symlink (Kbuild creates an absolute one)
|
|
ln -s scripts/gdb/vmlinux-gdb.py $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/vmlinux-gdb.py
|
|
%py_byte_compile %{python3} $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer/scripts/gdb
|
|
%endif
|
|
|
|
%{log_msg "Create modnames"}
|
|
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.
|
|
%{log_msg "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'
|
|
|
|
%{log_msg "detect missing or incorrect license tags"}
|
|
# 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
|
|
|
|
|
|
if [ $DoModules -eq 0 ]; then
|
|
%{log_msg "Create empty files for RPM packaging"}
|
|
# Ensure important files/directories exist to let the packaging succeed
|
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-modules-core.list
|
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-modules.list
|
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-modules-extra.list
|
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-modules-internal.list
|
|
echo '%%defattr(-,-,-)' > ../kernel${Variant:+-${Variant}}-modules-partner.list
|
|
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel
|
|
# Add files usually created by make modules, needed to prevent errors
|
|
# thrown by depmod during package installation
|
|
touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.order
|
|
touch $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.builtin
|
|
fi
|
|
|
|
# Copy the System.map file for depmod to use
|
|
cp System.map $RPM_BUILD_ROOT/.
|
|
|
|
if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" || "$Variant" == "rt-64k" || "$Variant" == "rt-64k-debug" || "$Variant" == "automotive" || "$Variant" == "automotive-debug" ]]; then
|
|
%{log_msg "Skipping efiuki build"}
|
|
else
|
|
%if %{with_efiuki}
|
|
%{log_msg "Setup the EFI UKI kernel"}
|
|
|
|
KernelUnifiedImageDir="$RPM_BUILD_ROOT/lib/modules/$KernelVer"
|
|
KernelUnifiedImage="$KernelUnifiedImageDir/$InstallName-virt.efi"
|
|
KernelUnifiedInitrd="$KernelUnifiedImageDir/$InstallName-virt.img"
|
|
|
|
mkdir -p $KernelUnifiedImageDir
|
|
|
|
dracut --conf=%{SOURCE86} \
|
|
--confdir=$(mktemp -d) \
|
|
--no-hostonly \
|
|
--verbose \
|
|
--kver "$KernelVer" \
|
|
--kmoddir "$RPM_BUILD_ROOT/lib/modules/$KernelVer/" \
|
|
--logfile=$(mktemp) \
|
|
$KernelUnifiedInitrd
|
|
|
|
ukify build --linux $(realpath $KernelImage) --initrd $KernelUnifiedInitrd \
|
|
--sbat @uki.sbat --os-release @/etc/os-release --uname $KernelVer \
|
|
--cmdline 'console=tty0 console=ttyS0' --output $KernelUnifiedImage
|
|
|
|
rm -f $KernelUnifiedInitrd
|
|
|
|
KernelAddonsDirOut="$KernelUnifiedImage.extra.d"
|
|
mkdir -p $KernelAddonsDirOut
|
|
python3 %{SOURCE151} %{SOURCE152} $KernelAddonsDirOut virt %{primary_target} %{_target_cpu} @uki-addons.sbat
|
|
|
|
%if %{signkernel}
|
|
%{log_msg "Sign the EFI UKI kernel"}
|
|
%if 0%{?fedora}%{?eln}
|
|
%pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.signed -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
|
|
%else
|
|
UKI_secureboot_name=%{pesign_name_0}
|
|
UKI_secureboot_cert=%{_datadir}/pki/sb-certs/secureboot-uki-virt-%{_arch}.cer
|
|
|
|
%pesign -s -i $KernelUnifiedImage -o $KernelUnifiedImage.signed -a %{secureboot_ca_0} -c $UKI_secureboot_cert -n $UKI_secureboot_name
|
|
for addon in "$KernelAddonsDirOut"/*; do
|
|
%pesign -s -i $addon -o $addon.signed -a %{secureboot_ca_0} -c $UKI_secureboot_cert -n $UKI_secureboot_name
|
|
rm -f $addon
|
|
mv $addon.signed $addon
|
|
done
|
|
# 0%{?fedora}%{?eln}
|
|
%endif
|
|
if [ ! -s $KernelUnifiedImage.signed ]; then
|
|
echo "pesigning failed"
|
|
exit 1
|
|
fi
|
|
mv $KernelUnifiedImage.signed $KernelUnifiedImage
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
|
|
cp -a $UKI_secureboot_cert $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/secureboot-uki-%{_arch}.cer
|
|
|
|
# signkernel
|
|
%endif
|
|
|
|
# hmac sign the UKI for FIPS
|
|
KernelUnifiedImageHMAC="$KernelUnifiedImageDir/.$InstallName-virt.efi.hmac"
|
|
%{log_msg "hmac sign the UKI for FIPS"}
|
|
%{log_msg "Creating hmac file: $KernelUnifiedImageHMAC"}
|
|
(cd $KernelUnifiedImageDir && sha512hmac $InstallName-virt.efi) > $KernelUnifiedImageHMAC;
|
|
|
|
# with_efiuki
|
|
%endif
|
|
: # in case of empty block
|
|
fi # "$Variant" == "rt" || "$Variant" == "rt-debug" || "$Variant" == "automotive" || "$Variant" == "automotive-debug"
|
|
|
|
|
|
#
|
|
# Generate the modules files lists
|
|
#
|
|
move_kmod_list()
|
|
{
|
|
local module_list="$1"
|
|
local subdir_name="$2"
|
|
|
|
mkdir -p "$RPM_BUILD_ROOT/lib/modules/$KernelVer/$subdir_name"
|
|
|
|
set +x
|
|
while read -r kmod; do
|
|
local target_file="$RPM_BUILD_ROOT/lib/modules/$KernelVer/$subdir_name/$kmod"
|
|
local target_dir="${target_file%/*}"
|
|
mkdir -p "$target_dir"
|
|
mv "$RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel/$kmod" "$target_dir"
|
|
done < <(sed -e 's|^kernel/||' "$module_list")
|
|
set -x
|
|
}
|
|
|
|
create_module_file_list()
|
|
{
|
|
# subdirectory within /lib/modules/$KernelVer where kmods should go
|
|
local module_subdir="$1"
|
|
# kmod list with relative paths produced by filtermods.py
|
|
local relative_kmod_list="$2"
|
|
# list with absolute paths to kmods and other files to be included
|
|
local absolute_file_list="$3"
|
|
# if 1, this adds also all kmod directories to absolute_file_list
|
|
local add_all_dirs="$4"
|
|
local run_mod_deny="$5"
|
|
|
|
if [ "$module_subdir" != "kernel" ]; then
|
|
# move kmods into subdirs if needed (internal, partner, extra,..)
|
|
move_kmod_list $relative_kmod_list $module_subdir
|
|
fi
|
|
|
|
# make kmod paths absolute
|
|
sed -e 's|^kernel/|/lib/modules/'$KernelVer'/'$module_subdir'/|' $relative_kmod_list > $absolute_file_list
|
|
|
|
if [ "$run_mod_deny" -eq 1 ]; then
|
|
# run deny-mod script, this adds blacklist-* files to absolute_file_list
|
|
%{SOURCE20} "$RPM_BUILD_ROOT" lib/modules/$KernelVer $absolute_file_list
|
|
fi
|
|
|
|
%if %{zipmodules}
|
|
# deny-mod script works with kmods as they are now (not compressed),
|
|
# but if they will be we need to add compext to all
|
|
sed -i %{?zipsed} $absolute_file_list
|
|
%endif
|
|
# add also dir for the case when there are no kmods
|
|
# "kernel" subdir is covered in %files section, skip it here
|
|
if [ "$module_subdir" != "kernel" ]; then
|
|
echo "%dir /lib/modules/$KernelVer/$module_subdir" >> $absolute_file_list
|
|
fi
|
|
|
|
if [ "$add_all_dirs" -eq 1 ]; then
|
|
(cd $RPM_BUILD_ROOT; find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n) > ../module-dirs.list
|
|
sed -e 's|^lib|%dir /lib|' ../module-dirs.list >> $absolute_file_list
|
|
fi
|
|
}
|
|
|
|
if [ $DoModules -eq 1 ]; then
|
|
# save modules.dep for debugging
|
|
cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep ../
|
|
|
|
%{log_msg "Create module list files for all kernel variants"}
|
|
variants_param=""
|
|
if [[ "$Variant" == "rt" || "$Variant" == "rt-debug" ]]; then
|
|
variants_param="-r rt"
|
|
fi
|
|
if [[ "$Variant" == "rt-64k" || "$Variant" == "rt-64k-debug" ]]; then
|
|
variants_param="-r rt-64k"
|
|
fi
|
|
if [[ "$Variant" == "automotive" || "$Variant" == "automotive-debug" ]]; then
|
|
variants_param="-r automotive"
|
|
fi
|
|
# this creates ../modules-*.list output, where each kmod path is as it
|
|
# appears in modules.dep (relative to lib/modules/$KernelVer)
|
|
ret=0
|
|
%{SOURCE22} -l "../filtermods-$KernelVer.log" sort -d $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep -c configs/def_variants.yaml $variants_param -o .. || ret=$?
|
|
if [ $ret -ne 0 ]; then
|
|
echo "8< --- filtermods-$KernelVer.log ---"
|
|
cat "../filtermods-$KernelVer.log"
|
|
echo "--- filtermods-$KernelVer.log --- >8"
|
|
|
|
echo "8< --- modules.dep ---"
|
|
cat $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.dep
|
|
echo "--- modules.dep --- >8"
|
|
exit 1
|
|
fi
|
|
|
|
create_module_file_list "kernel" ../modules-core.list ../kernel${Variant:+-${Variant}}-modules-core.list 1 0
|
|
create_module_file_list "kernel" ../modules.list ../kernel${Variant:+-${Variant}}-modules.list 0 0
|
|
create_module_file_list "internal" ../modules-internal.list ../kernel${Variant:+-${Variant}}-modules-internal.list 0 1
|
|
create_module_file_list "kernel" ../modules-extra.list ../kernel${Variant:+-${Variant}}-modules-extra.list 0 1
|
|
%if 0%{!?fedora:1}
|
|
create_module_file_list "partner" ../modules-partner.list ../kernel${Variant:+-${Variant}}-modules-partner.list 1 1
|
|
%endif
|
|
fi # $DoModules -eq 1
|
|
|
|
remove_depmod_files()
|
|
{
|
|
# remove files that will be auto generated by depmod at rpm -i time
|
|
pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
|
|
# in case below list needs to be extended, remember to add a
|
|
# matching ghost entry in the files section as well
|
|
rm -f modules.{alias,alias.bin,builtin.alias.bin,builtin.bin} \
|
|
modules.{dep,dep.bin,devname,softdep,symbols,symbols.bin,weakdep}
|
|
popd
|
|
}
|
|
|
|
# Cleanup
|
|
%{log_msg "Cleanup build files"}
|
|
rm -f $RPM_BUILD_ROOT/System.map
|
|
%{log_msg "Remove depmod files"}
|
|
remove_depmod_files
|
|
|
|
%if %{with_cross}
|
|
make -C $RPM_BUILD_ROOT/lib/modules/$KernelVer/build M=scripts clean
|
|
make -C $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/bpf/resolve_btfids clean
|
|
sed -i 's/REBUILD_SCRIPTS_FOR_CROSS:=0/REBUILD_SCRIPTS_FOR_CROSS:=1/' $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile
|
|
%endif
|
|
|
|
# Move the devel headers out of the root file system
|
|
%{log_msg "Move the devel headers to RPM_BUILD_ROOT"}
|
|
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
|
|
|
|
%if %{with_debuginfo}
|
|
# Generate vmlinux.h and put it to kernel-devel path
|
|
# zfcpdump build does not have btf anymore
|
|
if [ "$Variant" != "zfcpdump" ]; then
|
|
%{log_msg "Build the bootstrap bpftool to generate vmlinux.h"}
|
|
# Build the bootstrap bpftool to generate vmlinux.h
|
|
BuildBpftool
|
|
tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
|
|
fi
|
|
%endif
|
|
|
|
%{log_msg "Cleanup kernel-devel and kernel-debuginfo files"}
|
|
# prune junk from kernel-devel
|
|
find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
|
|
# prune junk from kernel-debuginfo
|
|
find $RPM_BUILD_ROOT/usr/src/kernels -name "*.mod.c" -delete
|
|
|
|
# Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
|
|
%{log_msg "Install certs"}
|
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
|
|
%if %{signkernel}
|
|
install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
|
|
%ifarch s390x ppc64le
|
|
if [ -x /usr/bin/rpm-sign ]; then
|
|
install -m 0644 %{secureboot_key_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
|
|
fi
|
|
%endif
|
|
%endif
|
|
|
|
%if 0%{?rhel}
|
|
# Red Hat IMA code-signing cert, which is used to authenticate package files
|
|
install -m 0644 %{ima_signing_cert} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{ima_cert_name}
|
|
%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}}
|
|
%ifarch s390x ppc64le
|
|
if [ ! -x /usr/bin/rpm-sign ]; then
|
|
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
|
|
%endif
|
|
fi
|
|
%endif
|
|
|
|
%if %{with_gcov}
|
|
popd
|
|
%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}
|
|
%if %{with_realtime}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} rt-debug
|
|
%endif
|
|
|
|
%if %{with_realtime_arm64_64k}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k-debug
|
|
%endif
|
|
|
|
%if %{with_automotive} && !%{with_automotive_build}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} automotive-debug
|
|
%endif
|
|
|
|
%if %{with_arm64_16k}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} 16k-debug
|
|
%endif
|
|
|
|
%if %{with_arm64_64k}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} 64k-debug
|
|
%endif
|
|
|
|
%if %{with_up}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} debug
|
|
%endif
|
|
%endif
|
|
|
|
%if %{with_zfcpdump}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump
|
|
%endif
|
|
|
|
%if %{with_arm64_16k_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} 16k
|
|
%endif
|
|
|
|
%if %{with_arm64_64k_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} 64k
|
|
%endif
|
|
|
|
%if %{with_realtime_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} rt
|
|
%endif
|
|
|
|
%if %{with_realtime_arm64_64k_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} rt-64k
|
|
%endif
|
|
|
|
%if %{with_automotive_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} automotive
|
|
%endif
|
|
|
|
%if %{with_up_base}
|
|
BuildKernel %make_target %kernel_image %{_use_vdso}
|
|
%endif
|
|
|
|
%ifnarch noarch i686 %{nobuildarches}
|
|
%if !%{with_debug} && !%{with_zfcpdump} && !%{with_up} && !%{with_arm64_16k} && !%{with_arm64_64k} && !%{with_realtime} && !%{with_realtime_arm64_64k} && !%{with_automotive}
|
|
# If only building the user space tools, then initialize the build environment
|
|
# and some variables so that the various userspace tools can be built.
|
|
%{log_msg "Initialize userspace tools build environment"}
|
|
InitBuildVars
|
|
# Some tests build also modules, and need Module.symvers
|
|
if ! [[ -e Module.symvers ]] && [[ -f $DevelDir/Module.symvers ]]; then
|
|
%{log_msg "Found Module.symvers in DevelDir, copying to ."}
|
|
cp "$DevelDir/Module.symvers" .
|
|
fi
|
|
%endif
|
|
%endif
|
|
|
|
%ifarch aarch64
|
|
%global perf_build_extra_opts CORESIGHT=1
|
|
%endif
|
|
%global perf_make \
|
|
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags} -Wl,-E" %{?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 LIBTRACEEVENT_DYNAMIC=1 %{?perf_build_extra_opts} prefix=%{_prefix} PYTHON=%{__python3}
|
|
%if %{with_perf}
|
|
%{log_msg "Build perf"}
|
|
# perf
|
|
# make sure check-headers.sh is executable
|
|
chmod +x tools/perf/check-headers.sh
|
|
%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
|
|
%endif
|
|
|
|
%if %{with_libperf}
|
|
%global libperf_make \
|
|
%{__make} %{?make_opts} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/lib/perf V=1
|
|
%{log_msg "build libperf"}
|
|
%{libperf_make} DESTDIR=$RPM_BUILD_ROOT
|
|
%endif
|
|
|
|
%global tools_make \
|
|
CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" EXTRA_CFLAGS="${RPM_OPT_FLAGS}" %{make} %{?make_opts}
|
|
|
|
%ifarch %{cpupowerarchs}
|
|
# link against in-tree libcpupower for idle state support
|
|
%global rtla_make %{tools_make} LDFLAGS="%{__global_ldflags} -L../../power/cpupower" INCLUDES="-I../../power/cpupower/lib"
|
|
# Build libcpupower Python bindings
|
|
%global libcpupower_python_bindings_make %{tools_make} LDFLAGS="-L%{buildroot}%{_libdir} -lcpupower"
|
|
%else
|
|
%global rtla_make %{tools_make}
|
|
%endif
|
|
|
|
%if %{with_tools}
|
|
|
|
%if %{with_ynl}
|
|
pushd tools/net/ynl
|
|
export PIP_CONFIG_FILE=/tmp/pip.config
|
|
cat <<EOF > $PIP_CONFIG_FILE
|
|
[install]
|
|
no-index = true
|
|
no-build-isolation = false
|
|
EOF
|
|
%{tools_make} %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install
|
|
popd
|
|
%endif
|
|
|
|
%ifarch %{cpupowerarchs}
|
|
# cpupower
|
|
# make sure version-gen.sh is executable.
|
|
chmod +x tools/power/cpupower/utils/version-gen.sh
|
|
%{log_msg "build cpupower"}
|
|
%{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false DEBUG=false
|
|
%ifarch x86_64
|
|
pushd tools/power/cpupower/debug/x86_64
|
|
%{log_msg "build centrino-decode powernow-k8-decode"}
|
|
%{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode
|
|
popd
|
|
%endif
|
|
%ifarch x86_64
|
|
pushd tools/power/x86/x86_energy_perf_policy/
|
|
%{log_msg "build x86_energy_perf_policy"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/power/x86/turbostat
|
|
%{log_msg "build turbostat"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/power/x86/intel-speed-select
|
|
%{log_msg "build intel-speed-select"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/arch/x86/intel_sdsi
|
|
%{log_msg "build intel_sdsi"}
|
|
%{tools_make} CFLAGS="${RPM_OPT_FLAGS}"
|
|
popd
|
|
%endif
|
|
%endif
|
|
pushd tools/thermal/tmon/
|
|
%{log_msg "build tmon"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/bootconfig/
|
|
%{log_msg "build bootconfig"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/iio/
|
|
%{log_msg "build iio"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/gpio/
|
|
%{log_msg "build gpio"}
|
|
%{tools_make}
|
|
popd
|
|
# build VM tools
|
|
pushd tools/mm/
|
|
%{log_msg "build slabinfo page_owner_sort"}
|
|
%{tools_make} slabinfo page_owner_sort
|
|
popd
|
|
pushd tools/verification/rv/
|
|
%{log_msg "build rv"}
|
|
%{tools_make}
|
|
popd
|
|
pushd tools/tracing/rtla
|
|
%{log_msg "build rtla"}
|
|
%{rtla_make}
|
|
popd
|
|
%endif
|
|
|
|
#set RPM_VMLINUX_H
|
|
if [ -f $RPM_BUILD_ROOT/$DevelDir/vmlinux.h ]; then
|
|
RPM_VMLINUX_H=$RPM_BUILD_ROOT/$DevelDir/vmlinux.h
|
|
elif [ -f $DevelDir/vmlinux.h ]; then
|
|
RPM_VMLINUX_H=$DevelDir/vmlinux.h
|
|
fi
|
|
echo "${RPM_VMLINUX_H}" > ../vmlinux_h_path
|
|
|
|
%if %{with_selftests}
|
|
%{log_msg "start build 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.
|
|
%{log_msg "install headers for selftests"}
|
|
%{make} %{?_smp_mflags} headers_install
|
|
|
|
# If we re building only tools without kernel, we need to generate config
|
|
# headers and prepare tree for modules building. The modules_prepare target
|
|
# will cover both.
|
|
if [ ! -f include/generated/autoconf.h ]; then
|
|
%{log_msg "modules_prepare for selftests"}
|
|
%{make} %{?_smp_mflags} modules_prepare
|
|
fi
|
|
|
|
# Build BPFtool for samples/bpf
|
|
if [ ! -f tools/bpf/bpftool/bootstrap/bpftool ]; then
|
|
BuildBpftool
|
|
fi
|
|
|
|
%{log_msg "build samples/bpf"}
|
|
%{make} %{?_smp_mflags} EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" ARCH=$Arch BPFTOOL=$(pwd)/tools/bpf/bpftool/bootstrap/bpftool V=1 M=samples/bpf/ VMLINUX_H="${RPM_VMLINUX_H}" || true
|
|
|
|
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.
|
|
%if %{selftests_must_build}
|
|
force_targets="FORCE_TARGETS=1"
|
|
%else
|
|
force_targets=""
|
|
%endif
|
|
|
|
%{log_msg "main selftests compile"}
|
|
|
|
# Some selftests (especially bpf) do not build with source fortification.
|
|
# Since selftests are not shipped, disable source fortification for them.
|
|
%global _fortify_level_bak %{_fortify_level}
|
|
%undefine _fortify_level
|
|
export CFLAGS="%{build_cflags}"
|
|
export CXXFLAGS="%{build_cxxflags}"
|
|
|
|
TARGETS="bpf cgroup kmod mm net net/can net/forwarding net/hsr net/mptcp net/netfilter net/packetdrill tc-testing memfd drivers/net/hw iommu cachestat pid_namespace rlimits timens pidfd capabilities clone3 exec filesystems firmware landlock mount mount_setattr move_mount_set_group nsfs openat2 proc safesetid seccomp tmpfs uevent vDSO"
|
|
%{make} %{?_smp_mflags} EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_CXXFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" ARCH=$Arch V=1 TARGETS="$TARGETS" SKIP_TARGETS="" $force_targets VMLINUX_H="${RPM_VMLINUX_H}"
|
|
|
|
# Restore the original level of source fortification
|
|
%define _fortify_level %{_fortify_level_bak}
|
|
export CFLAGS="%{build_cflags}"
|
|
export CXXFLAGS="%{build_cxxflags}"
|
|
|
|
# We must install all the targets in a single step as each `make install`
|
|
# command overrides the kselftest-list.txt file.
|
|
%{make} ARCH=$Arch TARGETS="${TARGETS}" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests install
|
|
|
|
# 'make install' for bpf is broken and upstream refuses to fix it.
|
|
# Install the needed files manually.
|
|
%{log_msg "install selftests"}
|
|
for dir in bpf bpf/no_alu32 bpf/cpuv4 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 -o -type l \) \
|
|
\( -executable -o -name '*.py' -o -name settings -o \
|
|
-name 'btf_dump_test_case_*.c' -o -name '*.ko' -o \
|
|
-name '*.o' -exec sh -c 'readelf -h "{}" | grep -q "^ Machine:.*BPF"' \; \) -print0 | \
|
|
xargs -0 cp -t %{buildroot}%{_libexecdir}/kselftests/$dir || true
|
|
done
|
|
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs"
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs-no_alu32"
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/test_progs-cpuv4"
|
|
|
|
# The urandom_read binary doesn't pass the check-rpaths check and upstream
|
|
# refuses to fix it. So, we save it to buildroot_unstripped and delete it so it
|
|
# will be hidden from check-rpaths and will automatically get restored later.
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/urandom_read"
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/no_alu32/urandom_read"
|
|
%buildroot_save_unstripped "usr/libexec/kselftests/bpf/cpuv4/urandom_read"
|
|
rm -f %{buildroot}/usr/libexec/kselftests/bpf/urandom_read
|
|
rm -f %{buildroot}/usr/libexec/kselftests/bpf/no_alu32/urandom_read
|
|
rm -f %{buildroot}/usr/libexec/kselftests/bpf/cpuv4/urandom_read
|
|
|
|
|
|
# Copy bpftool to kselftests so selftests is packaged with
|
|
# the full bpftool instead of bootstrap bpftool
|
|
cp ./bpf/tools/sbin/bpftool %{buildroot}%{_libexecdir}/kselftests/bpf/bpftool
|
|
|
|
popd
|
|
%{log_msg "end build selftests"}
|
|
%endif
|
|
|
|
%if %{with_doc}
|
|
%{log_msg "start install docs"}
|
|
# Make the HTML pages.
|
|
%{log_msg "build html docs"}
|
|
%{__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
|
|
%{log_msg "end install docs"}
|
|
%endif
|
|
|
|
# Module signing (modsign)
|
|
#
|
|
# This must be run _after_ find-debuginfo.sh 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 \
|
|
%{log_msg "Signing kernel modules ..."} \
|
|
modules_dirs="$(shopt -s nullglob; echo $RPM_BUILD_ROOT/lib/modules/%{KVERREL}*)" \
|
|
for modules_dir in $modules_dirs; do \
|
|
variant_suffix="${modules_dir#$RPM_BUILD_ROOT/lib/modules/%{KVERREL}}" \
|
|
[ "$variant_suffix" == "+zfcpdump" ] && continue \
|
|
%{log_msg "Signing modules for %{KVERREL}${variant_suffix}"} \
|
|
%{modsign_cmd} certs/signing_key.pem.sign${variant_suffix} certs/signing_key.x509.sign${variant_suffix} $modules_dir/ \
|
|
done \
|
|
fi \
|
|
if [ "%{zipmodules}" -eq "1" ]; then \
|
|
%{log_msg "Compressing kernel modules ..."} \
|
|
find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -n 16 -P${RPM_BUILD_NCPUS} -r %compression %compression_flags; \
|
|
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 %{nobuildarches}
|
|
%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}
|
|
|
|
# Make debugedit and gdb-add-index use target versions of tools
|
|
# when cross-compiling. This is supported since debugedit-5.1-5.fc42
|
|
# https://inbox.sourceware.org/debugedit/20250220153858.963312-1-mark@klomp.org/
|
|
%if %{with_cross}
|
|
%define __override_target_tools_for_debugedit \
|
|
export OBJCOPY=%{_build_arch}-linux-gnu-objcopy \
|
|
export NM=%{_build_arch}-linux-gnu-nm \
|
|
export READELF=%{_build_arch}-linux-gnu-readelf \
|
|
%{nil}
|
|
%endif
|
|
|
|
#
|
|
# 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 \
|
|
%{?__override_target_tools_for_debugedit:%{__override_target_tools_for_debugedit}}\
|
|
%{?__debug_package:%{__debug_install_post}}\
|
|
%{__arch_install_post}\
|
|
%{__os_install_post}\
|
|
%{__remove_unwanted_dbginfo_install_post}\
|
|
%{__restore_unstripped_root_post}\
|
|
%{__modsign_install_post}
|
|
|
|
###
|
|
### install
|
|
###
|
|
|
|
%install
|
|
|
|
cd linux-%{KVERREL}
|
|
|
|
# re-define RPM_VMLINUX_H, because it doesn't carry over from %build
|
|
RPM_VMLINUX_H="$(cat ../vmlinux_h_path)"
|
|
|
|
%if %{with_doc}
|
|
docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}
|
|
|
|
# copy the source over
|
|
mkdir -p $docdir
|
|
tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir
|
|
cat %{SOURCE2} | xz > $docdir/kernel.changelog.xz
|
|
chmod 0644 $docdir/kernel.changelog.xz
|
|
|
|
# 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}
|
|
HDR_ARCH_LIST='arm64 powerpc s390 x86 riscv'
|
|
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 -xvf %{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_libperf}
|
|
%{libperf_make} DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} install install_headers
|
|
# This is installed on some arches and we don't want to ship it
|
|
rm -rf %{buildroot}%{_libdir}/libperf.a
|
|
%endif
|
|
|
|
%if %{with_tools}
|
|
%ifarch %{cpupowerarchs}
|
|
%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
|
|
%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*
|
|
%{log_msg "Build libcpupower Python bindings"}
|
|
pushd tools/power/cpupower/bindings/python
|
|
%{libcpupower_python_bindings_make}
|
|
%{log_msg "Install libcpupower Python bindings"}
|
|
%{make} INSTALL_DIR=$RPM_BUILD_ROOT%{python3_sitearch} install
|
|
popd
|
|
%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} DESTDIR=%{buildroot} install
|
|
popd
|
|
pushd tools/arch/x86/intel_sdsi
|
|
%{tools_make} CFLAGS="${RPM_OPT_FLAGS}" DESTDIR=%{buildroot} install
|
|
popd
|
|
%endif
|
|
pushd tools/thermal/tmon
|
|
%{tools_make} INSTALL_ROOT=%{buildroot} install
|
|
popd
|
|
pushd tools/bootconfig
|
|
%{tools_make} DESTDIR=%{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/mm/
|
|
install -m755 slabinfo %{buildroot}%{_bindir}/slabinfo
|
|
install -m755 page_owner_sort %{buildroot}%{_bindir}/page_owner_sort
|
|
popd
|
|
pushd tools/verification/rv/
|
|
%{tools_make} DESTDIR=%{buildroot} install
|
|
popd
|
|
pushd tools/tracing/rtla/
|
|
%{tools_make} DESTDIR=%{buildroot} install
|
|
rm -f %{buildroot}%{_bindir}/hwnoise
|
|
rm -f %{buildroot}%{_bindir}/osnoise
|
|
rm -f %{buildroot}%{_bindir}/timerlat
|
|
(cd %{buildroot}
|
|
|
|
ln -sf rtla ./%{_bindir}/hwnoise
|
|
ln -sf rtla ./%{_bindir}/osnoise
|
|
ln -sf rtla ./%{_bindir}/timerlat
|
|
)
|
|
popd
|
|
%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 mm selftests
|
|
pushd tools/testing/selftests/mm
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/mm/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/mm/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/mm/{} \;
|
|
popd
|
|
# install cgroup selftests
|
|
pushd tools/testing/selftests/cgroup
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/cgroup/{} \;
|
|
popd
|
|
# install drivers/net selftests
|
|
pushd tools/testing/selftests/drivers/net
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/{} \;
|
|
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/hw selftests
|
|
pushd tools/testing/selftests/drivers/net/hw
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/hw/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/hw/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/hw/{} \;
|
|
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 drivers/net/bonding selftests
|
|
pushd tools/testing/selftests/drivers/net/bonding
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/bonding/{} \;
|
|
popd
|
|
# install net/can selftests
|
|
pushd tools/testing/selftests/net/can
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/can/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/can/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/can/{} \;
|
|
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/hsr selftests
|
|
pushd tools/testing/selftests/net/hsr
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/hsr/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/hsr/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/hsr/{} \;
|
|
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 net/netfilter selftests
|
|
pushd tools/testing/selftests/net/netfilter
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \;
|
|
popd
|
|
# install net/packetdrill selftests
|
|
pushd tools/testing/selftests/net/packetdrill
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/packetdrill/{} \;
|
|
popd
|
|
|
|
# install memfd selftests
|
|
pushd tools/testing/selftests/memfd
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/memfd/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/memfd/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/memfd/{} \;
|
|
popd
|
|
# install iommu selftests
|
|
pushd tools/testing/selftests/iommu
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/iommu/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/iommu/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/iommu/{} \;
|
|
popd
|
|
# install rlimits selftests
|
|
pushd tools/testing/selftests/rlimits
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/rlimits/{} \;
|
|
popd
|
|
# install pid_namespace selftests
|
|
pushd tools/testing/selftests/pid_namespace
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/pid_namespace/{} \;
|
|
popd
|
|
# install timens selftests
|
|
pushd tools/testing/selftests/timens
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/timens/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/timens/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/timens/{} \;
|
|
popd
|
|
# install pidfd selftests
|
|
pushd tools/testing/selftests/pidfd
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/pidfd/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/pidfd/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/pidfd/{} \;
|
|
popd
|
|
# install capabilities selftests
|
|
pushd tools/testing/selftests/capabilities
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/capabilities/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/capabilities/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/capabilities/{} \;
|
|
popd
|
|
# install clone3 selftests
|
|
pushd tools/testing/selftests/clone3
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/clone3/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/clone3/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/clone3/{} \;
|
|
popd
|
|
# install exec selftests
|
|
pushd tools/testing/selftests/exec
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/exec/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/exec/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/exec/{} \;
|
|
popd
|
|
# install filesystems selftests
|
|
pushd tools/testing/selftests/filesystems
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/filesystems/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/filesystems/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/filesystems/{} \;
|
|
popd
|
|
# install firmware selftests
|
|
pushd tools/testing/selftests/firmware
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/firmware/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/firmware/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/firmware/{} \;
|
|
popd
|
|
# install landlock selftests
|
|
pushd tools/testing/selftests/landlock
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/landlock/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/landlock/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/landlock/{} \;
|
|
popd
|
|
# install mount selftests
|
|
pushd tools/testing/selftests/mount
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/mount/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/mount/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/mount/{} \;
|
|
popd
|
|
# install mount_setattr selftests
|
|
pushd tools/testing/selftests/mount_setattr
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/mount_setattr/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/mount_setattr/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/mount_setattr/{} \;
|
|
popd
|
|
# install move_mount_set_group selftests
|
|
pushd tools/testing/selftests/move_mount_set_group
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/move_mount_set_group/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/move_mount_set_group/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/move_mount_set_group/{} \;
|
|
popd
|
|
# install nsfs selftests
|
|
pushd tools/testing/selftests/nsfs
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/nsfs/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/nsfs/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/nsfs/{} \;
|
|
popd
|
|
# install openat2 selftests
|
|
pushd tools/testing/selftests/openat2
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/openat2/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/openat2/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/openat2/{} \;
|
|
popd
|
|
# install proc selftests
|
|
pushd tools/testing/selftests/proc
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/proc/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/proc/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/proc/{} \;
|
|
popd
|
|
# install safesetid selftests
|
|
pushd tools/testing/selftests/safesetid
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/safesetid/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/safesetid/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/safesetid/{} \;
|
|
popd
|
|
# install seccomp selftests
|
|
pushd tools/testing/selftests/seccomp
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/seccomp/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/seccomp/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/seccomp/{} \;
|
|
popd
|
|
# install tmpfs selftests
|
|
pushd tools/testing/selftests/tmpfs
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tmpfs/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tmpfs/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tmpfs/{} \;
|
|
popd
|
|
# install uevent selftests
|
|
pushd tools/testing/selftests/uevent
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/uevent/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/uevent/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/uevent/{} \;
|
|
popd
|
|
# install vDSO selftests
|
|
pushd tools/testing/selftests/vDSO
|
|
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/vDSO/{} \;
|
|
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/vDSO/{} \;
|
|
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/vDSO/{} \;
|
|
popd
|
|
%endif
|
|
|
|
###
|
|
### clean
|
|
###
|
|
|
|
###
|
|
### scripts
|
|
###
|
|
|
|
%if %{with_tools}
|
|
%post -n %{package_name}-tools-libs
|
|
/sbin/ldconfig
|
|
|
|
%postun -n %{package_name}-tools-libs
|
|
/sbin/ldconfig
|
|
%endif
|
|
|
|
#
|
|
# This macro defines a %%post script for a kernel*-devel package.
|
|
# %%kernel_devel_post [<subpackage>]
|
|
# 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
|
|
#
|
|
# The deletion of *.hardlink-temporary files is a temporary workaround
|
|
# for this bug in the hardlink binary (fixed in util-linux 2.38):
|
|
# https://github.com/util-linux/util-linux/issues/1602
|
|
#
|
|
%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;\
|
|
/usr/bin/find /usr/src/kernels -type f -name '*.hardlink-temporary' -delete\
|
|
)\
|
|
fi\
|
|
%if %{with_cross}\
|
|
echo "Building scripts and resolve_btfids"\
|
|
env --unset=ARCH make -C /usr/src/kernels/%{KVERREL}%{?1:+%{1}} prepare_after_cross\
|
|
%endif\
|
|
%{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 [<subpackage>]
|
|
#
|
|
%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 [<subpackage>]
|
|
#
|
|
%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}
|
|
|
|
#
|
|
# This macro defines a %%post script for a kernel*-modules-partner package.
|
|
# It also defines a %%postun script that does the same thing.
|
|
# %%kernel_modules_partner_post [<subpackage>]
|
|
#
|
|
%define kernel_modules_partner_post() \
|
|
%{expand:%%post %{?1:%{1}-}modules-partner}\
|
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
|
|
%{nil}\
|
|
%{expand:%%postun %{?1:%{1}-}modules-partner}\
|
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
|
|
%{nil}
|
|
|
|
#
|
|
# 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 [<subpackage>]
|
|
#
|
|
%define kernel_modules_post() \
|
|
%{expand:%%post %{?1:%{1}-}modules}\
|
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
|
|
if [ -f /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz ] &&\
|
|
[ -f /boot/initramfs-%{KVERREL}%{?1:+%{1}}.img ] &&\
|
|
[ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?1:+%{1}} ]; then\
|
|
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\
|
|
touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\
|
|
fi\
|
|
%{nil}\
|
|
%{expand:%%postun %{?1:%{1}-}modules}\
|
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
|
|
%{nil}\
|
|
%{expand:%%posttrans %{?1:%{1}-}modules}\
|
|
if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}} ]; then\
|
|
rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\
|
|
echo "Running: dracut -f --kver %{KVERREL}%{?1:+%{1}} /boot/initramfs-%{KVERREL}%{?1:+%{1}}.img"\
|
|
dracut -f --kver "%{KVERREL}%{?1:+%{1}}" /boot/initramfs-%{KVERREL}%{?1:+%{1}}.img || exit $?\
|
|
fi\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro defines a %%post script for a kernel*-modules-core package.
|
|
# %%kernel_modules_core_post [<subpackage>]
|
|
#
|
|
%define kernel_modules_core_post() \
|
|
%{expand:%%posttrans %{?1:%{1}-}modules-core}\
|
|
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
|
|
%{nil}
|
|
|
|
# This macro defines a %%posttrans script for a kernel package.
|
|
# %%kernel_variant_posttrans [-v <subpackage>] [-u uki-suffix]
|
|
# More text can follow to go at the end of this variant's %%post.
|
|
#
|
|
%define kernel_variant_posttrans(v:u:) \
|
|
%{expand:%%posttrans %{?-v:%{-v*}-}%{!?-u*:core}%{?-u*:uki-%{-u*}}}\
|
|
%if 0%{!?fedora:1}\
|
|
%if !%{with_automotive}\
|
|
if [ -x %{_sbindir}/weak-modules ]\
|
|
then\
|
|
%{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?-v:+%{-v*}} || exit $?\
|
|
fi\
|
|
%endif\
|
|
%endif\
|
|
rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?-v:+%{-v*}}\
|
|
/bin/kernel-install add %{KVERREL}%{?-v:+%{-v*}} /lib/modules/%{KVERREL}%{?-v:+%{-v*}}/vmlinuz%{?-u:-%{-u*}.efi} || exit $?\
|
|
if [[ ! -e "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext" ]]; then\
|
|
cp "/lib/modules/%{KVERREL}%{?-v:+%{-v*}}/symvers.%compext" "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext"\
|
|
if command -v restorecon &>/dev/null; then\
|
|
restorecon "/boot/symvers-%{KVERREL}%{?-v:+%{-v*}}.%compext"\
|
|
fi\
|
|
fi\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro defines a %%post script for a kernel package and its devel package.
|
|
# %%kernel_variant_post [-v <subpackage>] [-r <replace>]
|
|
# 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_core_post %{?-v*}}\
|
|
%{expand:%%kernel_modules_extra_post %{?-v*}}\
|
|
%{expand:%%kernel_modules_internal_post %{?-v*}}\
|
|
%if 0%{!?fedora:1}\
|
|
%{expand:%%kernel_modules_partner_post %{?-v*}}\
|
|
%endif\
|
|
%{expand:%%kernel_variant_posttrans %{?-v*:-v %{-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}\
|
|
mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\
|
|
touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?-v:+%{-v*}}\
|
|
%{nil}
|
|
|
|
#
|
|
# This macro defines a %%preun script for a kernel package.
|
|
# %%kernel_variant_preun [-v <subpackage>] -u [uki-suffix] -e
|
|
# Add kernel-install's --entry-type=type1|type2|all option (if supported) to limit removal
|
|
# to a specific boot entry type.
|
|
#
|
|
%define kernel_variant_preun(v:u:e) \
|
|
%{expand:%%preun %{?-v:%{-v*}-}%{!?-u*:core}%{?-u*:uki-%{-u*}}}\
|
|
entry_type=""\
|
|
%{-e: \
|
|
/bin/kernel-install --help|grep -q -- '--entry-type=' &&\
|
|
entry_type="--entry-type %{!?-u:type1}%{?-u:type2}" \
|
|
}\
|
|
/bin/kernel-install remove %{KVERREL}%{?-v:+%{-v*}} $entry_type || exit $?\
|
|
%if !%{with_automotive}\
|
|
if [ -x %{_sbindir}/weak-modules ]\
|
|
then\
|
|
%{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?-v:+%{-v*}} || exit $?\
|
|
fi\
|
|
%endif\
|
|
%{nil}
|
|
|
|
%if %{with_up_base} && %{with_efiuki}
|
|
%kernel_variant_posttrans -u virt
|
|
%kernel_variant_preun -u virt -e
|
|
%endif
|
|
|
|
%if %{with_up_base}
|
|
%kernel_variant_preun -e
|
|
%kernel_variant_post
|
|
%endif
|
|
|
|
%if %{with_zfcpdump}
|
|
%kernel_variant_preun -v zfcpdump
|
|
%kernel_variant_post -v zfcpdump
|
|
%endif
|
|
|
|
%if %{with_up} && %{with_debug} && %{with_efiuki}
|
|
%kernel_variant_posttrans -v debug -u virt
|
|
%kernel_variant_preun -v debug -u virt -e
|
|
%endif
|
|
|
|
%if %{with_up} && %{with_debug}
|
|
%kernel_variant_preun -v debug -e
|
|
%kernel_variant_post -v debug
|
|
%endif
|
|
|
|
%if %{with_arm64_16k_base}
|
|
%kernel_variant_preun -v 16k -e
|
|
%kernel_variant_post -v 16k
|
|
%endif
|
|
|
|
%if %{with_debug} && %{with_arm64_16k}
|
|
%kernel_variant_preun -v 16k-debug -e
|
|
%kernel_variant_post -v 16k-debug
|
|
%endif
|
|
|
|
%if %{with_arm64_16k} && %{with_debug} && %{with_efiuki}
|
|
%kernel_variant_posttrans -v 16k-debug -u virt
|
|
%kernel_variant_preun -v 16k-debug -u virt -e
|
|
%endif
|
|
|
|
%if %{with_arm64_16k_base} && %{with_efiuki}
|
|
%kernel_variant_posttrans -v 16k -u virt
|
|
%kernel_variant_preun -v 16k -u virt -e
|
|
%endif
|
|
|
|
%if %{with_arm64_64k_base}
|
|
%kernel_variant_preun -v 64k -e
|
|
%kernel_variant_post -v 64k
|
|
%endif
|
|
|
|
%if %{with_debug} && %{with_arm64_64k}
|
|
%kernel_variant_preun -v 64k-debug -e
|
|
%kernel_variant_post -v 64k-debug
|
|
%endif
|
|
|
|
%if %{with_arm64_64k} && %{with_debug} && %{with_efiuki}
|
|
%kernel_variant_posttrans -v 64k-debug -u virt
|
|
%kernel_variant_preun -v 64k-debug -u virt -e
|
|
%endif
|
|
|
|
%if %{with_arm64_64k_base} && %{with_efiuki}
|
|
%kernel_variant_posttrans -v 64k -u virt
|
|
%kernel_variant_preun -v 64k -u virt -e
|
|
%endif
|
|
|
|
%if %{with_realtime_base}
|
|
%kernel_variant_preun -v rt
|
|
%kernel_variant_post -v rt -r kernel
|
|
%endif
|
|
|
|
%if %{with_automotive_base}
|
|
%kernel_variant_preun -v automotive
|
|
%kernel_variant_post -v automotive -r kernel
|
|
%endif
|
|
|
|
%if %{with_realtime} && %{with_debug}
|
|
%kernel_variant_preun -v rt-debug
|
|
%kernel_variant_post -v rt-debug
|
|
%endif
|
|
|
|
%if %{with_realtime_arm64_64k_base}
|
|
%kernel_variant_preun -v rt-64k
|
|
%kernel_variant_post -v rt-64k
|
|
%kernel_kvm_post rt-64k
|
|
%endif
|
|
|
|
%if %{with_debug} && %{with_realtime_arm64_64k}
|
|
%kernel_variant_preun -v rt-64k-debug
|
|
%kernel_variant_post -v rt-64k-debug
|
|
%kernel_kvm_post rt-64k-debug
|
|
%endif
|
|
|
|
%if %{with_automotive} && %{with_debug} && !%{with_automotive_build}
|
|
%kernel_variant_preun -v automotive-debug
|
|
%kernel_variant_post -v automotive-debug
|
|
%endif
|
|
|
|
###
|
|
### file lists
|
|
###
|
|
|
|
%if %{with_headers}
|
|
%files headers
|
|
/usr/include/*
|
|
%exclude %{_includedir}/cpufreq.h
|
|
%if %{with_ynl}
|
|
%exclude %{_includedir}/ynl
|
|
%endif
|
|
%endif
|
|
|
|
%if %{with_cross_headers}
|
|
%files cross-headers
|
|
/usr/*-linux-gnu/include/*
|
|
%endif
|
|
|
|
%if %{with_kernel_abi_stablelists}
|
|
%files -n %{package_name}-abi-stablelists
|
|
/lib/modules/kabi-*
|
|
%endif
|
|
|
|
%if %{with_kabidw_base}
|
|
%ifarch x86_64 s390x ppc64 ppc64le aarch64 riscv64
|
|
%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-%{specversion}-%{pkgrelease}/Documentation/*
|
|
%dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/Documentation
|
|
%dir %{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}
|
|
%{_datadir}/doc/kernel-doc-%{specversion}-%{pkgrelease}/kernel.changelog.xz
|
|
%endif
|
|
|
|
%if %{with_perf}
|
|
%files -n perf
|
|
%{_bindir}/perf
|
|
%{_libdir}/libperf-jvmti.so
|
|
%dir %{_libexecdir}/perf-core
|
|
%{_libexecdir}/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}/perf*
|
|
|
|
%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_libperf}
|
|
%files -n libperf
|
|
%{_libdir}/libperf.so.0
|
|
%{_libdir}/libperf.so.0.0.1
|
|
|
|
%files -n libperf-devel
|
|
%{_libdir}/libperf.so
|
|
%{_libdir}/pkgconfig/libperf.pc
|
|
%{_includedir}/internal/*.h
|
|
%{_includedir}/perf/bpf_perf.h
|
|
%{_includedir}/perf/core.h
|
|
%{_includedir}/perf/cpumap.h
|
|
%{_includedir}/perf/perf_dlfilter.h
|
|
%{_includedir}/perf/event.h
|
|
%{_includedir}/perf/evlist.h
|
|
%{_includedir}/perf/evsel.h
|
|
%{_includedir}/perf/mmap.h
|
|
%{_includedir}/perf/threadmap.h
|
|
%{_mandir}/man3/libperf.3.gz
|
|
%{_mandir}/man7/libperf-counting.7.gz
|
|
%{_mandir}/man7/libperf-sampling.7.gz
|
|
%{_docdir}/libperf/examples/sampling.c
|
|
%{_docdir}/libperf/examples/counting.c
|
|
%{_docdir}/libperf/html/libperf.html
|
|
%{_docdir}/libperf/html/libperf-counting.html
|
|
%{_docdir}/libperf/html/libperf-sampling.html
|
|
|
|
%if %{with_debuginfo}
|
|
%files -f libperf-debuginfo.list -n libperf-debuginfo
|
|
%endif
|
|
|
|
# with_libperf
|
|
%endif
|
|
|
|
|
|
%if %{with_tools}
|
|
%ifnarch %{cpupowerarchs}
|
|
%files -n %{package_name}-tools
|
|
%else
|
|
%files -n %{package_name}-tools -f cpupower.lang
|
|
%{_bindir}/cpupower
|
|
%{_datadir}/bash-completion/completions/cpupower
|
|
%ifarch x86_64
|
|
%{_bindir}/centrino-decode
|
|
%{_bindir}/powernow-k8-decode
|
|
%endif
|
|
%{_mandir}/man[1-8]/cpupower*
|
|
%ifarch x86_64
|
|
%{_bindir}/x86_energy_perf_policy
|
|
%{_mandir}/man8/x86_energy_perf_policy*
|
|
%{_bindir}/turbostat
|
|
%{_mandir}/man8/turbostat*
|
|
%{_bindir}/intel-speed-select
|
|
%{_sbindir}/intel_sdsi
|
|
%endif
|
|
# cpupowerarchs
|
|
%endif
|
|
%{_bindir}/tmon
|
|
%{_bindir}/bootconfig
|
|
%{_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_ynl}
|
|
%{_bindir}/ynl*
|
|
%{_docdir}/ynl
|
|
%{_datadir}/ynl
|
|
%{python3_sitelib}/pyynl*
|
|
%endif
|
|
|
|
%if %{with_debuginfo}
|
|
%files -f %{package_name}-tools-debuginfo.list -n %{package_name}-tools-debuginfo
|
|
%endif
|
|
|
|
%files -n %{package_name}-tools-libs
|
|
%ifarch %{cpupowerarchs}
|
|
%{_libdir}/libcpupower.so.1
|
|
%{_libdir}/libcpupower.so.0.0.1
|
|
%endif
|
|
|
|
%files -n %{package_name}-tools-libs-devel
|
|
%ifarch %{cpupowerarchs}
|
|
%{_libdir}/libcpupower.so
|
|
%{_includedir}/cpufreq.h
|
|
%{_includedir}/cpuidle.h
|
|
%{_includedir}/powercap.h
|
|
# libcpupower Python bindings
|
|
%{python3_sitearch}/_raw_pylibcpupower.so
|
|
%{python3_sitearch}/raw_pylibcpupower.py
|
|
%{python3_sitearch}/__pycache__/raw_pylibcpupower*
|
|
|
|
%endif
|
|
%if %{with_ynl}
|
|
%{_libdir}/libynl*
|
|
%{_includedir}/ynl
|
|
%endif
|
|
|
|
%files -n rtla
|
|
%{_bindir}/rtla
|
|
%{_bindir}/hwnoise
|
|
%{_bindir}/osnoise
|
|
%{_bindir}/timerlat
|
|
%{_mandir}/man1/rtla-hwnoise.1.gz
|
|
%{_mandir}/man1/rtla-osnoise-hist.1.gz
|
|
%{_mandir}/man1/rtla-osnoise-top.1.gz
|
|
%{_mandir}/man1/rtla-osnoise.1.gz
|
|
%{_mandir}/man1/rtla-timerlat-hist.1.gz
|
|
%{_mandir}/man1/rtla-timerlat-top.1.gz
|
|
%{_mandir}/man1/rtla-timerlat.1.gz
|
|
%{_mandir}/man1/rtla.1.gz
|
|
|
|
%files -n rv
|
|
%{_bindir}/rv
|
|
%{_mandir}/man1/rv-list.1.gz
|
|
%{_mandir}/man1/rv-mon-wip.1.gz
|
|
%{_mandir}/man1/rv-mon-wwnr.1.gz
|
|
%{_mandir}/man1/rv-mon.1.gz
|
|
%{_mandir}/man1/rv-mon-sched.1.gz
|
|
%{_mandir}/man1/rv.1.gz
|
|
|
|
# with_tools
|
|
%endif
|
|
|
|
%if %{with_selftests}
|
|
%files selftests-internal
|
|
%{_libexecdir}/ksamples
|
|
%{_libexecdir}/kselftests
|
|
%endif
|
|
|
|
# empty meta-package
|
|
%if %{with_up_base}
|
|
%ifnarch %nobuildarches noarch
|
|
%files
|
|
%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] <use_vdso> <condition> <subpackage>
|
|
#
|
|
%define kernel_variant_files(k:) \
|
|
%if %{2}\
|
|
%{expand:%%files %{?1:-f kernel-%{?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 aarch64 riscv64\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
|
|
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
|
|
%endif\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
|
|
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
|
|
%dir /lib/modules\
|
|
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.%compext\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin*\
|
|
%ghost %attr(0644, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.%compext\
|
|
%ghost %attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
|
|
%ghost %attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\
|
|
%{expand:%%files -f kernel-%{?3:%{3}-}modules-core.list %{?3:%{3}-}modules-core}\
|
|
%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}}/systemtap\
|
|
%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\
|
|
%if %{1}\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
|
|
%endif\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.block\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.drm\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.modesetting\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.networking\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.order\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.alias\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.alias.bin\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin.alias.bin\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin.bin\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.dep\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.dep.bin\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.devname\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.softdep\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.symbols\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.symbols.bin\
|
|
%ghost %attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/modules.weakdep\
|
|
%{expand:%%files -f kernel-%{?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 kernel-%{?3:%{3}-}modules-extra.list %{?3:%{3}-}modules-extra}\
|
|
%{expand:%%files -f kernel-%{?3:%{3}-}modules-internal.list %{?3:%{3}-}modules-internal}\
|
|
%if 0%{!?fedora:1}\
|
|
%{expand:%%files -f kernel-%{?3:%{3}-}modules-partner.list %{?3:%{3}-}modules-partner}\
|
|
%endif\
|
|
%if %{with_debuginfo}\
|
|
%ifnarch noarch\
|
|
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
|
|
%endif\
|
|
%endif\
|
|
%if %{with_efiuki} && "%{3}" != "rt" && "%{3}" != "rt-debug" && "%{3}" != "rt-64k" && "%{3}" != "rt-64k-debug"\
|
|
%{expand:%%files %{?3:%{3}-}uki-virt}\
|
|
%dir /lib/modules\
|
|
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.%compext\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.builtin*\
|
|
%attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi\
|
|
%attr(0644, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/.%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.hmac\
|
|
%ghost /%{image_install_path}/efi/EFI/Linux/%{?-k:%{-k*}}%{!?-k:*}-%{KVERREL}%{?3:+%{3}}.efi\
|
|
%{expand:%%files %{?3:%{3}-}uki-virt-addons}\
|
|
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.extra.d/ \
|
|
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-virt.efi.extra.d/*.addon.efi\
|
|
%endif\
|
|
%if %{?3:1} %{!?3:0}\
|
|
%{expand:%%files %{3}}\
|
|
%endif\
|
|
%if %{with_gcov}\
|
|
%ifnarch %nobuildarches noarch\
|
|
%{expand:%%files -f kernel-%{?3:%{3}-}gcov.list %{?3:%{3}-}gcov}\
|
|
%endif\
|
|
%endif\
|
|
%endif\
|
|
%{nil}
|
|
|
|
%kernel_variant_files %{_use_vdso} %{with_up_base}
|
|
%if %{with_up}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} debug
|
|
%endif
|
|
%if %{with_arm64_16k}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} 16k-debug
|
|
%endif
|
|
%if %{with_arm64_64k}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} 64k-debug
|
|
%endif
|
|
%kernel_variant_files %{_use_vdso} %{with_realtime_base} rt
|
|
%if %{with_realtime}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} rt-debug
|
|
%endif
|
|
%kernel_variant_files %{_use_vdso} %{with_automotive_base} automotive
|
|
%if %{with_automotive} && !%{with_automotive_build}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} automotive-debug
|
|
%endif
|
|
|
|
%if %{with_debug_meta}
|
|
%files debug
|
|
%files debug-core
|
|
%files debug-devel
|
|
%files debug-devel-matched
|
|
%files debug-modules
|
|
%files debug-modules-core
|
|
%files debug-modules-extra
|
|
%if %{with_arm64_16k}
|
|
%files 16k-debug
|
|
%files 16k-debug-core
|
|
%files 16k-debug-devel
|
|
%files 16k-debug-devel-matched
|
|
%files 16k-debug-modules
|
|
%files 16k-debug-modules-extra
|
|
%endif
|
|
%if %{with_arm64_64k}
|
|
%files 64k-debug
|
|
%files 64k-debug-core
|
|
%files 64k-debug-devel
|
|
%files 64k-debug-devel-matched
|
|
%files 64k-debug-modules
|
|
%files 64k-debug-modules-extra
|
|
%endif
|
|
%endif
|
|
%kernel_variant_files %{_use_vdso} %{with_zfcpdump} zfcpdump
|
|
%kernel_variant_files %{_use_vdso} %{with_arm64_16k_base} 16k
|
|
%kernel_variant_files %{_use_vdso} %{with_arm64_64k_base} 64k
|
|
%kernel_variant_files %{_use_vdso} %{with_realtime_arm64_64k_base} rt-64k
|
|
%if %{with_realtime_arm64_64k}
|
|
%kernel_variant_files %{_use_vdso} %{with_debug} rt-64k-debug
|
|
%endif
|
|
|
|
%ifnarch noarch %{nobuildarches}
|
|
%files modules-extra-matched
|
|
%endif
|
|
|
|
# plz don't put in a version string unless you're going to tag
|
|
# and build.
|
|
#
|
|
#
|
|
%changelog
|
|
* Wed Apr 01 2026 Eduard Abdullin <eabdullin@almalinux.org> - 6.12.0-218
|
|
- Debrand for AlmaLinux OS
|
|
- Use AlmaLinux OS secure boot cert
|
|
|
|
* Wed Apr 01 2026 Neal Gompa <ngompa@almalinux.org> - 6.12.0-218
|
|
- Enable Btrfs support for all kernel variants
|
|
|
|
* Wed Apr 01 2026 Andrew Lukoshko <alukoshko@almalinux.org> - 6.12.0-218
|
|
- hpsa: bring back deprecated PCI ids #CFHack #CFHack2024
|
|
- mptsas: bring back deprecated PCI ids #CFHack #CFHack2024
|
|
- megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024
|
|
- qla2xxx: bring back deprecated PCI ids #CFHack #CFHack2024
|
|
- qla4xxx: bring back deprecated PCI ids
|
|
- be2iscsi: bring back deprecated PCI ids
|
|
- kernel/rh_messages.h: enable all disabled pci devices by moving to
|
|
unmaintained
|
|
|
|
* Tue Mar 31 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-218.el10]
|
|
- x86/fpu: Ensure shadow stack is active before "getting" registers (Oleg Nesterov) [RHEL-152371]
|
|
- PCI: Validate window resource type in pbus_select_window_for_type() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Don't claim disabled bridge windows (Myron Stowe) [RHEL-139968]
|
|
- PCI: Remove old_size limit from bridge window sizing (Myron Stowe) [RHEL-139968]
|
|
- PCI: Stop over-estimating bridge window size (Myron Stowe) [RHEL-139968]
|
|
- PCI: Rewrite bridge window head alignment function (Myron Stowe) [RHEL-139968]
|
|
- PCI: Fix bridge window alignment with optional resources (Myron Stowe) [RHEL-139968]
|
|
- sparc/PCI: Correct 64-bit non-pref -> pref BAR resources (Myron Stowe) [RHEL-139968]
|
|
- PCI: meson: Fix parsing the DBI register region (Myron Stowe) [RHEL-139968]
|
|
- PCI: Do not size non-existing prefetchable window (Myron Stowe) [RHEL-139968]
|
|
- MIPS: Malta: Use pcibios_align_resource() to block io range (Myron Stowe) [RHEL-139968]
|
|
- MIPS: Malta: Fix PCI southbridge legacy resource reservations (Myron Stowe) [RHEL-139968]
|
|
- MIPS: Malta: Fix keyboard resource preventing i8042 driver from registering (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Use custom pci_ops for root bus DBI vs ECAM config access (Myron Stowe) [RHEL-139968]
|
|
- PCI: cadence: Search for MSI Capability with correct ID (Myron Stowe) [RHEL-139968]
|
|
- PCI: Fix regression in pci_bus_distribute_available_resources() (Myron Stowe) [RHEL-139968]
|
|
- PCI/sysfs: Expose PCI device serial number (Myron Stowe) [RHEL-139968]
|
|
- PCI: xilinx-nwl: Fix ECAM programming (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Rename 'root_bus' to 'root_port_bus' in tegra_pcie_downstream_dev_to_D0() (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra: Convert struct tegra_msi mask_lock into raw spinlock (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Fix duplicate PLL disable in pex_ep_event_pex_rst_assert() (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra: Fix devm_kcalloc() argument order for port->phys allocation (Myron Stowe) [RHEL-139968]
|
|
- PCI: cadence: Check for the existence of cdns_pcie::ops before using it (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-host: Drop PMSR spinlock (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-gen4: Fix inverted break condition in PHY initialization (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-gen4: Assure reset occurs before DBI access (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-gen4: Add missing 1ms delay after PWR reset assertion (Myron Stowe) [RHEL-139968]
|
|
- PCI: rcar-gen4: Fix PHY initialization (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Support ECAM mechanism by enabling iATU 'CFG Shift Feature' (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature' (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Add support for ELBI resource mapping (Myron Stowe) [RHEL-139968]
|
|
- PCI: qcom: Move host bridge 'phy' and 'reset' pointers to struct qcom_pcie_port (Myron Stowe) [RHEL-139968]
|
|
- PCI: qcom: Fix macro typo for CURSOR (Myron Stowe) [RHEL-139968]
|
|
- PCI: qcom: Add equalization settings for 8.0 GT/s and 32.0 GT/s (Myron Stowe) [RHEL-139968]
|
|
- PCI: plda: Remove dev_err_probe() when the errno is -ENOMEM (Myron Stowe) [RHEL-139968]
|
|
- PCI: mediatek-gen3: Add support for MediaTek MT8196 SoC (Myron Stowe) [RHEL-139968]
|
|
- dt-bindings: PCI: mediatek-gen3: Add support for MT6991/MT8196 (Myron Stowe) [RHEL-139968]
|
|
- PCI: mediatek-gen3: Implement sys clock ready time setting (Myron Stowe) [RHEL-139968]
|
|
- PCI: keystone: Use devm_request_irq() to free "ks-pcie-error-irq" on exit (Myron Stowe) [RHEL-139968]
|
|
- PCI: keystone: Use kcalloc() instead of kzalloc() (Myron Stowe) [RHEL-139968]
|
|
- PCI: j721e: Fix incorrect error message in probe() (Myron Stowe) [RHEL-139968]
|
|
- PCI: j721e: Fix programming sequence of "strap" settings (Myron Stowe) [RHEL-139968]
|
|
- PCI: j721e: Fix module autoloading (Myron Stowe) [RHEL-139968]
|
|
- PCI: imx6: Enable the Vaux supply if available (Myron Stowe) [RHEL-139968]
|
|
- PCI: qcom-ep: Remove redundant edma.nr_irqs initialization (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Verify the single eDMA IRQ in dw_pcie_edma_irq_verify() (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: Support 16-lane operation (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Handle errors in BPMP response (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Reset BARs when running in PCIe endpoint mode (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Set pci_epc_features::msi_capable to true (Myron Stowe) [RHEL-139968]
|
|
- PCI: tegra194: Fix broken tegra_pcie_ep_raise_msi_irq() (Myron Stowe) [RHEL-139968]
|
|
- PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release (Myron Stowe) [RHEL-139968]
|
|
- PCI: endpoint: pci-epf-test: Limit PCIe BAR size for fixed BARs (Myron Stowe) [RHEL-139968]
|
|
- selftests: pci_endpoint: Skip IRQ test if IRQ is out of range. (Myron Stowe) [RHEL-139968]
|
|
- misc: pci_endpoint_test: Cleanup extra 0 initialization (Myron Stowe) [RHEL-139968]
|
|
- misc: pci_endpoint_test: Skip IRQ tests if irq is out of range (Myron Stowe) [RHEL-139968]
|
|
- PCI: endpoint: Drop superfluous pci_epc_features initialization (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: endpoint: Document BAR assignment (Myron Stowe) [RHEL-139968]
|
|
- dt-bindings: PCI: qcom,pcie-x1e80100: Set clocks minItems for the fifth Glymur PCIe Controller (Myron Stowe) [RHEL-139968]
|
|
- dt-bindings: PCI: ti,am65: Extend for use with PVU (Myron Stowe) [RHEL-139968]
|
|
- dt-bindings: PCI: qcom,pcie-sm8550: Add SM8750 compatible (Myron Stowe) [RHEL-139968]
|
|
- PCI: cadence: Use cdns_pcie_find_*capability() to avoid hardcoding offsets (Myron Stowe) [RHEL-139968]
|
|
- PCI: cadence: Implement capability search using PCI core APIs (Myron Stowe) [RHEL-139968]
|
|
- PCI: dwc: ep: Implement capability search using PCI core APIs (Myron Stowe) [RHEL-139968]
|
|
- PCI: Refactor extended capability search into PCI_FIND_NEXT_EXT_CAP() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Refactor capability search into PCI_FIND_NEXT_CAP() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Clean up __pci_find_next_cap_ttl() readability (Myron Stowe) [RHEL-139968]
|
|
- PCI: switchtec: Replace manual locks with guard (Myron Stowe) [RHEL-139968]
|
|
- PCI: Add lockdep assertion in pci_stop_and_remove_bus_device() (Myron Stowe) [RHEL-139968]
|
|
- PCI/IOV: Fix race between SR-IOV enable/disable and hotplug (Myron Stowe) [RHEL-139968]
|
|
- PCI: Don't print stale information about resource (Myron Stowe) [RHEL-139968]
|
|
- PCI: Alter misleading recursion to pci_bus_release_bridge_resources() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Pass bridge window to pci_bus_release_bridge_resources() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Add pci_setup_one_bridge_window() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Refactor remove_dev_resources() to use pbus_select_window() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Refactor distributing available memory to use loops (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use pbus_select_window_for_type() during mem window sizing (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use pbus_select_window() in space available checker (Myron Stowe) [RHEL-139968]
|
|
- PCI: Rename resource variable from r to res (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use pbus_select_window_for_type() during IO window sizing (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use pbus_select_window() during BAR resize (Myron Stowe) [RHEL-139968]
|
|
- PCI: Warn if bridge window cannot be released when resizing BAR (Myron Stowe) [RHEL-139968]
|
|
- PCI: Fix finding bridge window in pci_reassign_bridge_resources() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Add bridge window selection functions (Myron Stowe) [RHEL-139968]
|
|
- PCI: Add defines for bridge window indexing (Myron Stowe) [RHEL-139968]
|
|
- PCI: Preserve bridge window resource type flags (Myron Stowe) [RHEL-139968]
|
|
- PCI: Enable bridge even if bridge window fails to assign (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use pci_release_resource() instead of release_resource() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Disable non-claimed bridge window (Myron Stowe) [RHEL-139968]
|
|
- PCI: Always claim bridge window before its setup (Myron Stowe) [RHEL-139968]
|
|
- PCI: Refactor find_bus_resource_of_type() logic checks (Myron Stowe) [RHEL-139968]
|
|
- PCI: Move find_bus_resource_of_type() earlier (Myron Stowe) [RHEL-139968]
|
|
- MIPS: PCI: Use pci_enable_resources() (Myron Stowe) [RHEL-139968]
|
|
- sparc/PCI: Remove pcibios_enable_device() as they do nothing extra (Myron Stowe) [RHEL-139968]
|
|
- m68k/PCI: Use pci_enable_resources() in pcibios_enable_device() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Fix failure detection during resource resize (Myron Stowe) [RHEL-139968]
|
|
- PCI: Fix pdev_resources_assignable() disparity (Myron Stowe) [RHEL-139968]
|
|
- PCI: Ensure relaxed tail alignment does not increase min_align (Myron Stowe) [RHEL-139968]
|
|
- PCI/sysfs: Ensure devices are powered for config reads (Myron Stowe) [RHEL-139968]
|
|
- PCI/PM: Skip resuming to D0 if device is disconnected (Myron Stowe) [RHEL-139968]
|
|
- PCI/P2PDMA: Reduce scope of pci_has_p2pmem() (Myron Stowe) [RHEL-139968]
|
|
- PCI/P2PDMA: Fix incorrect pointer usage in devm_kfree() call (Myron Stowe) [RHEL-139968]
|
|
- PCI: of: Update parent unit address generation in of_pci_prop_intr_map() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Disable MSI on RDC PCI to PCIe bridges (Myron Stowe) [RHEL-139968]
|
|
- PCI: hotplug: Clean up spaces in messages (Myron Stowe) [RHEL-139968]
|
|
- PCI: Add Extended Tag + MRRS quirk for Xeon 6 (Myron Stowe) [RHEL-139968]
|
|
- PCI: Clean up pci_scan_child_bus_extend() loop (Myron Stowe) [RHEL-139968]
|
|
- PCI: Clean up early_dump_pci_device() (Myron Stowe) [RHEL-139968]
|
|
- PCI: Use header type defines in pci_setup_device() (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: Fix typos (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: Tidy error recovery doc's PCIe nomenclature (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: Amend error recovery doc with DPC/AER specifics (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: Sync error recovery doc with code (Myron Stowe) [RHEL-139968]
|
|
- Documentation: PCI: Sync AER doc with code (Myron Stowe) [RHEL-139968]
|
|
- PCI/AER: Fix NULL pointer access by aer_info (Myron Stowe) [RHEL-139968]
|
|
- PCI/AER: Print TLP Log for errors introduced since PCIe r1.1 (Myron Stowe) [RHEL-139968]
|
|
- PCI/AER: Support errors introduced by PCIe r6.0 (Myron Stowe) [RHEL-139968]
|
|
- powerpc/eeh: Use result of error_detected() in uevent (Myron Stowe) [RHEL-139968]
|
|
- s390/pci: Use pci_uevent_ers() in PCI recovery (Myron Stowe) [RHEL-139968]
|
|
- PCI/AER: Fix missing uevent on recovery when a reset is requested (Myron Stowe) [RHEL-139968]
|
|
- PCI/ERR: Update device error_state already after reset (Myron Stowe) [RHEL-139968]
|
|
- PCI/ERR: Notify drivers on failure to recover (Myron Stowe) [RHEL-139968]
|
|
- PCI/ERR: Fix uevent on failure to recover (Myron Stowe) [RHEL-139968]
|
|
- PCI/AER: Allow drivers to opt in to Bus Reset on Non-Fatal Errors (Myron Stowe) [RHEL-139968]
|
|
- MIPS: pci-legacy: Override pci_address_to_pio (Myron Stowe) [RHEL-139968]
|
|
- PCI: exynos: Switch to devm_clk_bulk_get_all_enabled() (Myron Stowe) [RHEL-139968]
|
|
|
|
* Mon Mar 30 2026 Alexandra Hájková <ahajkova@redhat.com> [6.12.0-217.el10]
|
|
- smb: client: fix oops due to uninitialised var in smb2_unlink() (Paulo Alcantara) [RHEL-154397]
|
|
- smb/client: remove unused SMB311_posix_query_info() (Paulo Alcantara) [RHEL-154397]
|
|
- smb/client: fix buffer size for smb311_posix_qinfo in SMB311_posix_query_info() (Paulo Alcantara) [RHEL-154397]
|
|
- smb/client: fix buffer size for smb311_posix_qinfo in smb2_compound_op() (Paulo Alcantara) [RHEL-154397]
|
|
- ACPI: AGDI: Add interrupt signaling mode support (Charles Mirabile) [RHEL-111893]
|
|
- add xxd to as BuildRequire for bpf selftests (Ines Qian) [RHEL-157473]
|
|
- selftests/net: test ipip packets in gro.sh (Antoine Tenart) [RHEL-123213]
|
|
- net: gro: remove unnecessary df checks (Antoine Tenart) [RHEL-123213]
|
|
- net: gso: restore ids of outer ip headers correctly (Antoine Tenart) [RHEL-123213]
|
|
- net: gro: only merge packets with incrementing or fixed outer ids (Antoine Tenart) [RHEL-123213]
|
|
- net: gro: remove is_ipv6 from napi_gro_cb (Antoine Tenart) [RHEL-123213]
|
|
- s390/dasd: Copy detected format information to secondary device (Mete Durlu) [RHEL-161531]
|
|
- s390/dasd: Move quiesce state with pprc swap (Mete Durlu) [RHEL-161531]
|
|
- net: hv_netvsc: reject RSS hash key programming without RX indirection table (Vinay Mulugund) [RHEL-145154]
|
|
- allow finish_no_open(file, ERR_PTR(-E...)) (Roberto Bergantinos Corpas) [RHEL-155441]
|
|
- RDMA/umad: Reject negative data_len in ib_umad_write (CKI Backport Bot) [RHEL-156881] {CVE-2026-23243}
|
|
- iavf: fix incorrect reset handling in callbacks (Petr Oros) [RHEL-142546]
|
|
- IB/IPoIB: Add support for hwtstamp get/set ndos (CKI Backport Bot) [RHEL-154278]
|
|
- wifi: mac80211_hwsim: fix typo in frequency notification (CKI Backport Bot) [RHEL-148654] {CVE-2026-23040}
|
|
- Add signing key for Nvidia Jetson and Bluefield GPU signing keys (Enrique Belarte Luque) [RHEL-145936]
|
|
- Add NVIDIA Jetson signing key for OOT modules (Enrique Belarte Luque) [RHEL-145936]
|
|
|
|
* Thu Mar 26 2026 Alexandra Hájková <ahajkova@redhat.com> [6.12.0-216.el10]
|
|
- redhat/configs: add CONFIG_DEBUG_NET_SMALL_RTNL (Antoine Tenart) [RHEL-150155]
|
|
- net/sched: act_api: avoid dereferencing ERR_PTR in tcf_idrinfo_destroy (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Drop RTNL for RTM_NEWROUTE, RTM_DELROUTE, and RTM_GETROUTE. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Protect net->mpls.platform_label with a per-netns mutex. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Convert RTM_GETNETCONF to RCU. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Convert mpls_dump_routes() to RCU. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Use mpls_route_input() where appropriate. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Add mpls_route_input(). (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Pass net to mpls_dev_get(). (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Add mpls_dev_rcu(). (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Use in6_dev_rcu() and dev_net_rcu() in mpls_forward() and mpls_xmit(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Add in6_dev_rcu(). (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Unify return paths in mpls_dev_notify(). (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Hold dev refcnt for mpls_nh. (Antoine Tenart) [RHEL-150155]
|
|
- mpls: Return early in mpls_label_ok(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Convert rwlock of struct neigh_table to spinlock. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Convert RTM_SETNEIGHTBL to RCU. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Convert RTM_GETNEIGHTBL to RCU. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Annotate access to neigh_parms fields. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Use RCU list helpers for neigh_parms.list writers. (Antoine Tenart) [RHEL-150155]
|
|
- sched_ext: Use rhashtable_lookup() instead of rhashtable_lookup_fast() (Antoine Tenart) [RHEL-150155]
|
|
- rhashtable: Use rcu_dereference_all and rcu_dereference_all_check (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: add back BH safety to tcf_lock (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_skbmod: use RCU in tcf_skbmod_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_tunnel_key: use RCU in tunnel_key_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_vlan: use RCU in tcf_vlan_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: remove BH blocking in eight actions (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: add a retry logic in net6_rt_notify() (Antoine Tenart) [RHEL-150155]
|
|
- net: s/dev_close_many/netif_close_many/ (Antoine Tenart) [RHEL-150155]
|
|
- net: s/dev_get_flags/netif_get_flags/ (Antoine Tenart) [RHEL-150155]
|
|
- net: s/__dev_set_mtu/__netif_set_mtu/ (Antoine Tenart) [RHEL-150155]
|
|
- net: s/dev_pre_changeaddr_notify/netif_pre_changeaddr_notify/ (Antoine Tenart) [RHEL-150155]
|
|
- net: s/dev_get_mac_address/netif_get_mac_address/ (Antoine Tenart) [RHEL-150155]
|
|
- net: s/dev_get_port_parent_id/netif_get_port_parent_id/ (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Update pneigh_entry in pneigh_create(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Protect tbl->phash_buckets[] with a dedicated mutex. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Drop read_lock_bh(&tbl->lock) in pneigh_lookup(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Remove __pneigh_lookup(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Use rcu_dereference() in pneigh_get_{first,next}(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Drop read_lock_bh(&tbl->lock) in pneigh_dump_table(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Convert RTM_GETNEIGH to RCU. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Annotate access to struct pneigh_entry.{flags,protocol}. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Free pneigh_entry after RCU grace period. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Annotate neigh_table.phash_buckets and pneigh_entry.next with __rcu. (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Split pneigh_lookup(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Move neigh_find_table() to neigh_get(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Allocate skb in neigh_get(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Move two validations from neigh_get() to neigh_valid_get_req(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Make neigh_valid_get_req() return ndmsg. (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_skbedit: use RCU in tcf_skbedit_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_police: use RCU in tcf_police_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_pedit: use RCU in tcf_pedit_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_nat: use RCU in tcf_nat_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_mpls: use RCU in tcf_mpls_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_ctinfo: use RCU in tcf_ctinfo_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_ctinfo: use atomic64_t for three counters (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_ct: use RCU in tcf_ct_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_csum: use RCU in tcf_csum_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act_connmark: use RCU in tcf_connmark_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net_sched: act: annotate data-races in tcf_lastuse_update() and tcf_tm_dump() (Antoine Tenart) [RHEL-150155]
|
|
- net/sched: acp_api: no longer acquire RTNL in tc_action_net_exit() (Antoine Tenart) [RHEL-150155]
|
|
- net: remove RTNL use for /proc/sys/net/core/rps_default_mask (Antoine Tenart) [RHEL-150155]
|
|
- net/sched: fix use-after-free in taprio_dev_notifier (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Move fib6_config_validate() to ip6_route_add(). (Antoine Tenart) [RHEL-150155]
|
|
- net: annotate data-races around cleanup_net_task (Antoine Tenart) [RHEL-150155]
|
|
- net: let lockdep compare instance locks (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Revert two per-cpu var allocation for RTM_NEWROUTE. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Pass gfp_flags down to ip6_route_info_create_nh(). (Antoine Tenart) [RHEL-150155]
|
|
- Revert "ipv6: Factorise ip6_route_multipath_add()." (Antoine Tenart) [RHEL-150155]
|
|
- Revert "ipv6: sr: switch to GFP_ATOMIC flag to allocate memory during seg6local LWT setup" (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Narrow down RCU critical section in inet6_rtm_newroute(). (Antoine Tenart) [RHEL-150155]
|
|
- inet: Remove rtnl_is_held arg of lwtunnel_valid_encap_type(_attr)?(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Remove rcu_read_lock() in fib6_get_table(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Restore fib6_config validation for SIOCADDRT. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: sr: switch to GFP_ATOMIC flag to allocate memory during seg6local LWT setup (Antoine Tenart) [RHEL-150155]
|
|
- net: Fix wild-memory-access in __register_pernet_operations() when CONFIG_NET_NS=n. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Get rid of RTNL for SIOCADDRT and RTM_NEWROUTE. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Protect nh->f6i_list with spinlock and flag. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Defer fib6_purge_rt() in fib6_add_rt2node() to fib6_add(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Protect fib6_link_table() with spinlock. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Factorise ip6_route_multipath_add(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Rename rt6_nh.next to rt6_nh.list. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Don't pass net to ip6_route_info_append(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Preallocate nhc_pcpu_rth_output in ip6_route_info_create(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Preallocate rt->fib6_nh->rt6i_pcpu in ip6_route_info_create(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Split ip6_route_info_create(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Move nexthop_find_by_id() after fib6_info_alloc(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Check GATEWAY in rtm_to_fib6_multipath_config(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Move some validation from ip6_route_info_create() to rtm_to_fib6_config(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Get rid of RTNL for SIOCDELRT and RTM_DELROUTE. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Validate RTA_GATEWAY of RTA_MULTIPATH in rtm_to_fib6_config(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Remove ->exit_batch_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- geneve: Convert geneve_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- bareudp: Convert bareudp_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- bonding: Convert bond_net_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- bridge: Convert br_net_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- xfrm: Convert xfrmi_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Convert tunnel devices' ->exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: ip_tunnel: Convert ip_tunnel_delete_nets() callers to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- vxlan: Convert vxlan_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Convert nexthop_net_exit_batch_rtnl() to ->exit_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Add ->exit_rtnl() hook to struct pernet_operations. (Antoine Tenart) [RHEL-150155]
|
|
- net: Add ops_undo_single for module load/unload. (Antoine Tenart) [RHEL-150155]
|
|
- net: Factorise setup_net() and cleanup_net(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Convert RTM_DELNEXTHOP to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Convert RTM_NEWNEXTHOP to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Remove redundant group len check in nexthop_create_group(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Check NLM_F_REPLACE and NHA_ID in rtm_new_nexthop(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Move NHA_OIF validation to rtm_to_nh_config_rtnl(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Split nh_check_attr_group(). (Antoine Tenart) [RHEL-150155]
|
|
- nexthop: Move nlmsg_parse() in rtm_to_nh_config() to rtm_new_nexthop(). (Antoine Tenart) [RHEL-150155]
|
|
- net: devmem: do not WARN conditionally after netdev_rx_queue_restart() (Antoine Tenart) [RHEL-150155]
|
|
- inet: fix lwtunnel_valid_encap_type() lock imbalance (Antoine Tenart) [RHEL-150155]
|
|
- net: plumb extack in __dev_change_net_namespace() (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Convert RTM_NEWROUTE and RTM_DELROUTE to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Move fib_valid_key_len() to rtm_to_fib_config(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Hold rtnl_net_lock() in ip_rt_ioctl(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Hold rtnl_net_lock() for ip_fib_net_exit(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Namespacify fib_info hash tables. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Add fib_info_hash_grow(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Remove fib_info_hash_size. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Remove fib_info_laddrhash pointer. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Make fib_info_hashfn() return struct hlist_head. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Allocate fib_info_hash[] during netns initialisation. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Allocate fib_info_hash[] and fib_info_laddrhash[] by kvcalloc(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: fib: Use cached net in fib_inetaddr_event(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Use rtnl_net_dev_lock() in register_netdevice_notifier_dev_net(). (Antoine Tenart) [RHEL-150155]
|
|
- net-sysfs: restore behavior for not running devices (Antoine Tenart) [RHEL-150155]
|
|
- dev: Use rtnl_net_dev_lock() in unregister_netdev(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Fix dev_net(dev) race in unregister_netdevice_notifier_dev_net(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Add net_passive_inc() and net_passive_dec(). (Antoine Tenart) [RHEL-150155]
|
|
- arp: Convert SIOCDARP and SIOCSARP to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Convert RTM_DELRULE to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Add error_free label in fib_delrule(). (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Convert RTM_NEWRULE to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Factorise fib_newrule() and fib_delrule(). (Antoine Tenart) [RHEL-150155]
|
|
- ip: fib_rules: Fetch net from fib_rule in fib[46]_rule_configure(). (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Split fib_nl2rule(). (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Pass net to fib_nl2rule() instead of skb. (Antoine Tenart) [RHEL-150155]
|
|
- net: fib_rules: Don't check net in rule_exists() and rule_find(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: fix netns leak with rtnl_setlink() (Antoine Tenart) [RHEL-150155]
|
|
- net-sysfs: remove rtnl_trylock from queue attributes (Antoine Tenart) [RHEL-150155]
|
|
- net-sysfs: prevent uncleared queues from being re-added (Antoine Tenart) [RHEL-150155]
|
|
- net-sysfs: move queue attribute groups outside the default groups (Antoine Tenart) [RHEL-150155]
|
|
- net-sysfs: remove rtnl_trylock from device attributes (Antoine Tenart) [RHEL-150155]
|
|
- net: revert RTNL changes in unregister_netdevice_many_notify() (Antoine Tenart) [RHEL-150155]
|
|
- dev: Hold rtnl_net_lock() for dev_ifsioc(). (Antoine Tenart) [RHEL-150155]
|
|
- dev: Remove devnet_rename_sem. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Convert inet6_rtm_deladdr() to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Convert inet6_rtm_newaddr() to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Move lifetime validation to inet6_rtm_newaddr(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Set cfg.ifa_flags before device lookup in inet6_rtm_newaddr(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Convert inet6_ioctl() to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Hold rtnl_net_lock() in addrconf_init() and addrconf_cleanup(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Hold rtnl_net_lock() in addrconf_dad_work(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Hold rtnl_net_lock() in addrconf_verify_work(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Convert net.ipv6.conf.${DEV}.XXX sysctl to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Add __in6_dev_get_rtnl_net(). (Antoine Tenart) [RHEL-150155]
|
|
- net: reduce RTNL hold duration in unregister_netdevice_many_notify() (part 2) (Antoine Tenart) [RHEL-150155]
|
|
- net: reduce RTNL hold duration in unregister_netdevice_many_notify() (part 1) (Antoine Tenart) [RHEL-150155]
|
|
- net: no longer hold RTNL while calling flush_all_backlogs() (Antoine Tenart) [RHEL-150155]
|
|
- net: no longer assume RTNL is held in flush_all_backlogs() (Antoine Tenart) [RHEL-150155]
|
|
- net: expedite synchronize_net() for cleanup_net() (Antoine Tenart) [RHEL-150155]
|
|
- net: Hold rtnl_net_lock() in (un)?register_netdevice_notifier_dev_net(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Hold rtnl_net_lock() in (un)?register_netdevice_notifier_net(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Hold __rtnl_net_lock() in (un)?register_netdevice_notifier(). (Antoine Tenart) [RHEL-150155]
|
|
- dev: Hold per-netns RTNL in (un)?register_netdev(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Add rtnl_net_lock_killable(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Try the outer netns attribute in rtnl_get_peer_net(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: fix error code in rtnl_newlink() (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: fix double call of rtnl_link_get_net_ifla() (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: fix rtnl_dump_ifinfo() error path (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Register rtnl_dellink() and rtnl_setlink() with RTNL_FLAG_DOIT_PERNET_WIP. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Convert RTM_NEWLINK to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- netkit: Set IFLA_NETKIT_PEER_INFO to netkit_link_ops.peer_type. (Antoine Tenart) [RHEL-150155]
|
|
- vxcan: Set VXCAN_INFO_PEER to vxcan_link_ops.peer_type. (Antoine Tenart) [RHEL-150155]
|
|
- veth: Set VETH_INFO_PEER to veth_link_ops.peer_type. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Add peer_type in struct rtnl_link_ops. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Introduce struct rtnl_nets and helpers. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Remove __rtnl_link_register() (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Protect link_ops by mutex. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Remove __rtnl_link_unregister(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Fix an error handling path in rtnl_newlink() (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Fix kdoc of rtnl_af_register(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert devinet_ioctl to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert devinet_ioctl() to per-netns RTNL except for SIOCSIFFLAGS. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert devinet_sysctl_forward() to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Define rtnl_net_trylock(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert check_lifetime() to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert RTM_DELADDR to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Use per-netns RTNL helpers in inet_rtm_newaddr(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Convert RTM_NEWADDR to per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Don't allocate ifa for 0.0.0.0 in inet_rtm_newaddr(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Factorise RTM_NEWADDR validation to inet_validate_rtm(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Define RTNL_FLAG_DOIT_PERNET for per-netns RTNL doit(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Make per-netns RTNL dereference helpers to macro. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Remove rtnl_register() and rtnl_register_module(). (Antoine Tenart) [RHEL-150155]
|
|
- can: gw: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- dcb: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- ipmr: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- net: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- neighbour: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Use rtnl_register_many(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Panic when __rtnl_register_many() fails for builtin callers. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Protect struct rtnl_af_ops with SRCU. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Return int from rtnl_af_register(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Call rtnl_link_get_net_capable() in do_setlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Clean up rtnl_setlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Clean up rtnl_dellink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Fetch IFLA_LINK_NETNSID in rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Call rtnl_link_get_net_capable() in rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Protect struct rtnl_link_ops with SRCU. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Move ops->validate to rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Move rtnl_link_ops_get() and retry to rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Move simple validation from __rtnl_newlink() to rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Factorise do_setlink() path from __rtnl_newlink(). (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Allocate linkinfo[] as struct rtnl_newlink_tbs. (Antoine Tenart) [RHEL-150155]
|
|
- net: do not acquire rtnl in fib_seq_sum() (Antoine Tenart) [RHEL-150155]
|
|
- ipmr: use READ_ONCE() to read net->ipv[46].ipmr_seq (Antoine Tenart) [RHEL-150155]
|
|
- ipv6: use READ_ONCE()/WRITE_ONCE() on fib6_table->fib_seq (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: use READ_ONCE()/WRITE_ONCE() on net->ipv4.fib_seq (Antoine Tenart) [RHEL-150155]
|
|
- fib: rules: use READ_ONCE()/WRITE_ONCE() on ops->fib_rules_seq (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Retire global IPv4 hash table inet_addr_lst. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Namespacify IPv4 address GC. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Use per-netns hash table in inet_lookup_ifaddr_rcu(). (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: Link IPv4 address to per-netns hash table. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Add assertion helpers for per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- rtnetlink: Add per-netns RTNL. (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: remove fib_info_devhash[] (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: remove fib_info_lock (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: use rcu in ip_fib_check_default() (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: remove fib_devindex_hashfn() (Antoine Tenart) [RHEL-150155]
|
|
- ipv4: avoid quadratic behavior in FIB insertion of common address (Antoine Tenart) [RHEL-150155]
|
|
- cgroup/dmem: avoid pool UAF (Waiman Long) [RHEL-113305] {CVE-2026-23195}
|
|
- cgroup/dmem: avoid rcu warning when unregister region (Waiman Long) [RHEL-113305]
|
|
- cgroup/dmem: fix NULL pointer dereference when setting max (Waiman Long) [RHEL-113305] {CVE-2026-23183}
|
|
- cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated (Waiman Long) [RHEL-113305]
|
|
- cgroup/misc: fix misc_res_type kernel-doc warning (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Use values_close_report in test_cpu (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: add values_close_report helper (Waiman Long) [RHEL-113305]
|
|
- cgroup: Fix seqcount lockdep assertion in cgroup freezer (Waiman Long) [RHEL-113305]
|
|
- cpuset: remove is_prs_invalid helper (Waiman Long) [RHEL-113305]
|
|
- cpuset: remove impossible warning in update_parent_effective_cpumask (Waiman Long) [RHEL-113305]
|
|
- cpuset: remove redundant special case for null input in node mask update (Waiman Long) [RHEL-113305]
|
|
- cpuset: fix missing error return in update_cpumask (Waiman Long) [RHEL-113305]
|
|
- cpuset: Use new excpus for nocpu error check when enabling root partition (Waiman Long) [RHEL-113305]
|
|
- cpuset: fix failure to enable isolated partition when containing isolcpus (Waiman Long) [RHEL-113305]
|
|
- Documentation: cgroup-v2: Sync manual toctree (Waiman Long) [RHEL-113305]
|
|
- cpuset: use partition_cpus_change for setting exclusive cpus (Waiman Long) [RHEL-113305]
|
|
- cpuset: use parse_cpulist for setting cpus.exclusive (Waiman Long) [RHEL-113305]
|
|
- cpuset: introduce partition_cpus_change (Waiman Long) [RHEL-113305]
|
|
- cpuset: refactor cpus_allowed_validate_change (Waiman Long) [RHEL-113305]
|
|
- cpuset: refactor out validate_partition (Waiman Long) [RHEL-113305]
|
|
- cpuset: introduce cpus_excl_conflict and mems_excl_conflict helpers (Waiman Long) [RHEL-113305]
|
|
- cpuset: refactor CPU mask buffer parsing logic (Waiman Long) [RHEL-113305]
|
|
- cpuset: Refactor exclusive CPU mask computation logic (Waiman Long) [RHEL-113305]
|
|
- cpuset: change return type of is_partition_[in]valid to bool (Waiman Long) [RHEL-113305]
|
|
- cpuset: remove unused assignment to trialcs->partition_root_state (Waiman Long) [RHEL-113305]
|
|
- cpuset: move the root cpuset write check earlier (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset: Remove redundant rcu_read_lock/unlock() in spin_lock (Waiman Long) [RHEL-113305]
|
|
- cgroup: Remove redundant rcu_read_lock/unlock() in spin_lock (Waiman Long) [RHEL-113305]
|
|
- cgroup: replace global percpu_rwsem with per threadgroup resem when writing to cgroup.procs (Waiman Long) [RHEL-113305]
|
|
- cgroup: relocate cgroup_attach_lock within cgroup_procs_write_start (Waiman Long) [RHEL-113305]
|
|
- cgroup: refactor the cgroup_attach_lock code to make it clearer (Waiman Long) [RHEL-113305]
|
|
- cgroup: WQ_PERCPU added to alloc_workqueue users (Waiman Long) [RHEL-113305]
|
|
- cgroup: replace use of system_wq with system_percpu_wq (Waiman Long) [RHEL-113305]
|
|
- cgroup: Remove unused local variables from cgroup_procs_write_finish() (Waiman Long) [RHEL-113305]
|
|
- cgroup: Remove unused cgroup_subsys::post_attach (Waiman Long) [RHEL-113305]
|
|
- cpuset: Defer flushing of the cpuset_migrate_mm_wq to task_work (Waiman Long) [RHEL-113305]
|
|
- cpuset: Don't always flush cpuset_migrate_mm_wq in cpuset_write_resmask (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset: Prevent NULL pointer access in free_tmpmasks() (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Make test_pids backwards compatible (Waiman Long) [RHEL-113305]
|
|
- cpuset: add helpers for cpus read and cpuset_mutex locks (Waiman Long) [RHEL-113305]
|
|
- cpuset: separate tmpmasks and cpuset allocation logic (Waiman Long) [RHEL-113305]
|
|
- cpuset: decouple tmpmasks and cpumasks freeing in cgroup (Waiman Long) [RHEL-113305]
|
|
- cgroup: Fix 64-bit division in cgroup.stat.local (Waiman Long) [RHEL-113305]
|
|
- cgroup: selftests: Add tests for freezer time (Waiman Long) [RHEL-113305]
|
|
- cgroup: cgroup.stat.local time accounting (Waiman Long) [RHEL-113305]
|
|
- cpuset: remove redundant CS_ONLINE flag (Waiman Long) [RHEL-113305]
|
|
- cgroup: Replace deprecated strcpy() with strscpy() (Waiman Long) [RHEL-113305]
|
|
- cgroup: split cgroup_destroy_wq into 3 workqueues (Waiman Long) [RHEL-113305] {CVE-2025-39953}
|
|
- docs: cgroup: fixed spelling mistakes in documentation (Waiman Long) [RHEL-113305]
|
|
- cgroup: avoid null de-ref in css_rstat_exit() (Waiman Long) [RHEL-113305]
|
|
- cgroup: Add compatibility option for content of /proc/cgroups (Waiman Long) [RHEL-113305]
|
|
- selftests/cgroup: fix cpu.max tests (Waiman Long) [RHEL-113305]
|
|
- cgroup: llist: avoid memory tears for llist_node (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Fix missing newline in test_zswap_writeback_one (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Allow longer timeout for kmem_dead_cgroups cleanup (Waiman Long) [RHEL-113305]
|
|
- cgroup: remove per-cpu per-subsystem locks (Waiman Long) [RHEL-113305]
|
|
- cgroup: make css_rstat_updated nmi safe (Waiman Long) [RHEL-113305]
|
|
- cgroup: support to enable nmi-safe css_rstat_updated (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Fix compilation on pre-cgroupns kernels (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Optionally set up v1 environment (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup: Add support for named v1 hierarchies in test_core (Waiman Long) [RHEL-113305]
|
|
- selftests: cgroup_util: Add helpers for testing named v1 hierarchies (Waiman Long) [RHEL-113305]
|
|
- Documentation: cgroup: add section explaining controller availability (Waiman Long) [RHEL-113305]
|
|
- Revert "cgroup_freezer: cgroup_freezing: Check if not frozen" (Waiman Long) [RHEL-113305]
|
|
- cgroup,freezer: fix incomplete freezing when attaching tasks (Waiman Long) [RHEL-113305]
|
|
- llist: make llist_add_batch() a static inline (Waiman Long) [RHEL-113305]
|
|
- sched_ext: Convert cgroup BPF support to use cgroup_lifetime_notifier (Waiman Long) [RHEL-113305]
|
|
- sched_ext: Introduce cgroup_lifetime_notifier (Waiman Long) [RHEL-113305]
|
|
- cgroup: Minor reorganization of cgroup_create() (Waiman Long) [RHEL-113305]
|
|
- cgroup, docs: cpu controller's interaction with various scheduling policies (Waiman Long) [RHEL-113305]
|
|
- cgroup, docs: convert space indentation to tab indentation (Waiman Long) [RHEL-113305]
|
|
- cgroup: avoid per-cpu allocation of size zero rstat cpu locks (Waiman Long) [RHEL-113305]
|
|
- cgroup, docs: be specific about bandwidth control of rt processes (Waiman Long) [RHEL-113305]
|
|
- cgroup: document the rstat per-cpu initialization (Waiman Long) [RHEL-113305]
|
|
- cgroup: helper for checking rstat participation of css (Waiman Long) [RHEL-113305]
|
|
- cgroup: use subsystem-specific rstat locks to avoid contention (Waiman Long) [RHEL-113305]
|
|
- cgroup: use separate rstat trees for each subsystem (Waiman Long) [RHEL-113305]
|
|
- cgroup: compare css to cgroup::self in helper for distingushing css (Waiman Long) [RHEL-113305]
|
|
- cgroup: warn on rstat usage by early init subsystems (Waiman Long) [RHEL-113305]
|
|
- cgroup/rstat: Improve cgroup_rstat_push_children() documentation (Waiman Long) [RHEL-113305]
|
|
- cgroup: fix goto ordering in cgroup_init() (Waiman Long) [RHEL-113305]
|
|
- cgroup: fix pointer check in css_rstat_init() (Waiman Long) [RHEL-113305]
|
|
- cgroup: add helper for checking when css is cgroup::self (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset-v1: Add missing support for cpuset_v2_mode (Waiman Long) [RHEL-113305]
|
|
- cgroup: Fix compilation issue due to cgroup_mutex not being exported (Waiman Long) [RHEL-113305]
|
|
- mm/memcg: Introduce css_stat_barrier() for freeing percpu stats (Waiman Long) [RHEL-113305]
|
|
- cgroup: change rstat function signatures from cgroup-based to css-based (Waiman Long) [RHEL-113305]
|
|
- cgroup: move rstat base stat objects into their own struct (Waiman Long) [RHEL-113305]
|
|
- cgroup: rstat: call cgroup_rstat_updated_list with cgroup_rstat_lock (Waiman Long) [RHEL-113305]
|
|
- cgroup: rstat: Cleanup flushing functions and locking (Waiman Long) [RHEL-113305]
|
|
- mm: Fix a build breakage in memcontrol-v1.c (Waiman Long) [RHEL-113305]
|
|
- blk-cgroup: Simplify policy files registration (Waiman Long) [RHEL-113305]
|
|
- cgroup: Update file naming comment (Waiman Long) [RHEL-113305]
|
|
- cgroup: Add deprecation message to legacy freezer controller (Waiman Long) [RHEL-113305]
|
|
- mm: Add transformation message for per-memcg swappiness (Waiman Long) [RHEL-113305]
|
|
- RFC cgroup/cpuset-v1: Add deprecation messages to sched_relax_domain_level (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset-v1: Add deprecation messages to memory_migrate (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset-v1: Add deprecation messages to mem_exclusive and mem_hardwall (Waiman Long) [RHEL-113305]
|
|
- cgroup: Print message when /proc/cgroups is read on v2-only system (Waiman Long) [RHEL-113305]
|
|
- cgroup/blkio: Add deprecation messages to reset_stats (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset-v1: Add deprecation messages to memory_spread_page and memory_spread_slab (Waiman Long) [RHEL-113305]
|
|
- cgroup/cpuset-v1: Add deprecation messages to sched_load_balance and memory_pressure_enabled (Waiman Long) [RHEL-113305]
|
|
- cgroup, docs: Be explicit about independence of RT_GROUP_SCHED and non-cpu controllers (Waiman Long) [RHEL-113305]
|
|
- cgroup/rstat: Fix forceidle time in cpu.stat (Waiman Long) [RHEL-113305]
|
|
- cgroup/misc: Remove unused misc_cg_res_total_usage (Waiman Long) [RHEL-113305]
|
|
- cgroup: update comment about dropping cgroup kn refs (Waiman Long) [RHEL-113305]
|
|
- firmware: arm_scmi: Fix NULL dereference on notify error path (Steve Dunnagan) [RHEL-120360]
|
|
- redhat/configs: Enable ARM_SCMI_QUIRKS (Steve Dunnagan) [RHEL-120360]
|
|
- redhat/configs: Disable IMX_SCMI_CPU_EXT (Steve Dunnagan) [RHEL-120360]
|
|
- redhat/configs: Disable IMX_SCMI_LMM_EXT (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Fix premature SCMI_XFER_FLAG_IS_RAW clearing in raw mode (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Skip RAW initialization on failure (Steve Dunnagan) [RHEL-120360]
|
|
- include: trace: Fix inflight count helper on failed initialization (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Account for failed debug initialization (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Simplify printks with pOF format (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Discover MISC board info from the system manager (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Support retrieving MISC protocol configuration info (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Discover MISC build info from the system manager (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Add documentation for MISC_BOARD_INFO (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: quirk: Prevent writes to string constants (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Fix function name typo in scmi_perf_proto_ops struct (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Mark VirtIO ready before registering scmi_virtio_driver (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Constify struct scmi_transport_ops (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Constify struct scmi_voltage_proto_ops (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Convert to SYSTEM_SLEEP_PM_OPS (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Avoid notifier registration for unsupported events (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: power_control: Ensure SCMI_SYSPOWER_IDLE is set early during resume (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add power management operations to SCMI bus (Steve Dunnagan) [RHEL-120360]
|
|
- include: trace: Add tracepoint support for inflight xfer count (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Track number of inflight SCMI transfers (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add support for debug counter decrement (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Fix up turbo frequencies selection (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: quirk: Force perf level get fastchannel (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: quirk: Fix CLOCK_DESCRIBE_RATES triplet (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add common framework to handle firmware quirks (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Ensure that the message-id supports fastchannel (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Add i.MX95 CPU Protocol (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Add i.MX95 LMM protocol (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Add LMM and CPU documentation (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add polling support to raw mode (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Exclude transport devices from bus matching (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Assign correct parent to arm-scmi platform device (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Refactor error logging from SCMI device creation to single helper (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Refactor device matching logic to eliminate duplication (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Ensure scmi_devices are always matched by name as well (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Fix timeout checks on polling path (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Balance device refcount when destroying devices (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: use ioread64() instead of ioread64_hi_lo() (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Emit modalias for SCMI devices (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add name and protocol id attributes (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Relax duplicate name constraint across protocol ids (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: imx: Correct tx size of scmi_imx_misc_ctrl_set (Steve Dunnagan) [RHEL-120360]
|
|
- arm_scmi: don't mess with ->d_parent->d_name (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add aliases to transport modules (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Add module aliases to i.MX vendor protocols (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Support vendor protocol modules autoloading (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Allow transport properties for multiple instances (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: Switch back to struct platform_driver::remove() (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Relocate atomic_threshold to scmi_desc (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Use max_msg and max_msg_size devicetree properties (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Calculate virtio PDU max size dynamically (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Account for SHMEM memory overhead (Steve Dunnagan) [RHEL-120360]
|
|
- firmware: arm_scmi: Support 'reg-io-width' property for shared memory (Steve Dunnagan) [RHEL-120360]
|
|
- x86/kvm: Avoid freeing stack-allocated node in kvm_async_pf_queue_task (Ryosuke Yasuoka) [RHEL-141540]
|
|
- redhat: add a weak relationship between modules-internal and selftests (Jan Stancek) [RHEL-102523]
|
|
- i2c: i801: Add support for Intel Nova Lake-S (Steve Best) [RHEL-129782]
|
|
- i2c: i801: Fix the Intel Diamond Rapids features (Steve Best) [RHEL-129782]
|
|
- i2c: i801: Add support for Intel Diamond Rapids (Steve Best) [RHEL-129782]
|
|
- i2c: i801: Add support for Intel Wildcat Lake-U (Steve Best) [RHEL-129782]
|
|
- s390/pci: Avoid deadlock between PCI error recovery and mlx5 crdump (Mete Durlu) [RHEL-157932]
|
|
- tracing: Add NULL pointer check to trigger_data_free() (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Wake up poll waiters for hist files when removing an event (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix checking of freed trace_event_file for hist files (Jerome Marchand) [RHEL-151695]
|
|
- fgraph: Do not call handlers direct when not using ftrace_ops (Jerome Marchand) [RHEL-151695]
|
|
- tracing: ring-buffer: Fix to check event length before using (Jerome Marchand) [RHEL-151695]
|
|
- function_graph: Restore direct mode when callbacks drop to one (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix to set write permission to per-cpu buffer_size_kb (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix false sharing in hwlat get_sample() (Jerome Marchand) [RHEL-151695]
|
|
- x86/fgraph,bpf: Switch kprobe_multi program stack unwind to hw_regs path (Jerome Marchand) [RHEL-151695]
|
|
- x86/fgraph: Fix return_to_handler regs.rsp value (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Remove duplicate ENABLE_EVENT_STR and DISABLE_EVENT_STR macros (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Properly process error handling in event_hist_trigger_parse() (Jerome Marchand) [RHEL-151695]
|
|
- x86/fgraph,bpf: Fix stack ORC unwind from kprobe_multi return probe (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix the bug where bpf_get_stackid returns -EFAULT on the ARM64 (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix ftrace event field alignments (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix crash on synthetic stacktrace field usage (Jerome Marchand) [RHEL-151695] {CVE-2026-23088}
|
|
- ring-buffer: Avoid softlockup in ring_buffer_resize() during memory free (Jerome Marchand) [RHEL-151695]
|
|
- selftests/ftrace: traceonoff_triggers: strip off names (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Do not register unsupported perf events (Jerome Marchand) [RHEL-151695] {CVE-2025-71125}
|
|
- tracing: Fix fixed array of synthetic event (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix enabling of tracing on file release (Jerome Marchand) [RHEL-151695]
|
|
- fgraph: Check ftrace_pids_enabled on registration for early filtering (Jerome Marchand) [RHEL-151695]
|
|
- fgraph: Initialize ftrace_ops->private for function graph ops (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Avoid redundant initialization in register_ftrace_direct (Jerome Marchand) [RHEL-151695]
|
|
- tracefs: fix a leak in eventfs_create_events_dir() (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix WARN_ON in tracing_buffers_mmap_close for split VMAs (Jerome Marchand) [RHEL-151695] {CVE-2025-68329}
|
|
- selftests/tracing: Run sample events to clear page cache events (Jerome Marchand) [RHEL-151695]
|
|
- tracing/tools: Fix incorrcet short option in usage text for --threads (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix memory leaks in create_field_var() (Jerome Marchand) [RHEL-151695]
|
|
- ring-buffer: Do not warn in ring_buffer_map_get_reader() when reader catches up (Jerome Marchand) [RHEL-151695] {CVE-2025-68186}
|
|
- ftrace: bpf: Fix IPMODIFY + DIRECT in modify_ftrace_direct() (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Fix BPF fexit with livepatch (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Fix race condition in kprobe initialization causing NULL pointer dereference (Jerome Marchand) [RHEL-151695] {CVE-2025-40042}
|
|
- ftrace: Fix softlockup in ftrace_module_enable (Jerome Marchand) [RHEL-151695] {CVE-2025-68173}
|
|
- Documentation: trace: historgram-design: Separate sched_waking histogram section heading and the following diagram (Jerome Marchand) [RHEL-151695]
|
|
- tracing: dynevent: Add a missing lockdown check on dynevent (Jerome Marchand) [RHEL-151695] {CVE-2025-40021}
|
|
- ftrace/samples: Fix function size computation (Jerome Marchand) [RHEL-151695]
|
|
- powerpc/thp: tracing: Hide hugepage events under CONFIG_PPC_BOOK3S_64 (Jerome Marchand) [RHEL-151695]
|
|
- selftests/tracing: Fix false failure of subsystem event test (Jerome Marchand) [RHEL-151695]
|
|
- selftests: tracing: Use mutex_unlock for testing glob filter (Jerome Marchand) [RHEL-151695]
|
|
- tracing: PM: Remove unused clock events (Jerome Marchand) [RHEL-151695]
|
|
- ring-buffer: Removed unnecessary if() goto out where out is the next line (Jerome Marchand) [RHEL-151695]
|
|
- Documentation: trace: Refactor toctree (Jerome Marchand) [RHEL-151695]
|
|
- arm64: Kconfig: Remove selecting replaced HAVE_FUNCTION_GRAPH_RETVAL (Jerome Marchand) [RHEL-151695]
|
|
- atomic64: Use arch_spin_locks instead of raw_spin_locks (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Add ftrace_fill_perf_regs() for perf event (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Add ftrace_partial_regs() for converting ftrace_regs to pt_regs (Jerome Marchand) [RHEL-151695]
|
|
- fgraph: Replace fgraph_ret_regs with ftrace_regs (Jerome Marchand) [RHEL-151695]
|
|
- tracing/kprobes: Fix to free objects when failed to copy a symbol (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Rename ftrace_regs_return_value to ftrace_regs_get_return_value (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Use arch_ftrace_regs() for ftrace_regs_*() macros (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Consolidate ftrace_regs accessor functions for archs using pt_regs (Jerome Marchand) [RHEL-151695]
|
|
- ftrace: Make ftrace_regs abstract from direct use (Jerome Marchand) [RHEL-151695]
|
|
- docs: fix WARNING document not included in any toctree (Jerome Marchand) [RHEL-151695]
|
|
- tracing: Add a comment about ftrace_regs definition (Jerome Marchand) [RHEL-151695]
|
|
- net: openvswitch: Avoid releasing netdev before teardown completes (Toke Høiland-Jørgensen) [RHEL-155383]
|
|
- ucount: check for CAP_SYS_RESOURCE using ns_capable_noaudit() (Ondrej Mosnacek) [RHEL-145590]
|
|
- ipc: don't audit capability check in ipc_permissions() (Ondrej Mosnacek) [RHEL-145590]
|
|
- ALSA: aloop: Fix racy access at PCM trigger (CKI Backport Bot) [RHEL-150879] {CVE-2026-23191}
|
|
- nilfs2: fix deadlock warnings caused by lock dependency in init_nilfs() (Ming Lei) [RHEL-153616]
|
|
- md/raid0: convert raid0_make_request() to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- md/md-linear: convert to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- md/raid5: convert to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- md/raid10: convert read/write to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- md/raid10: add a new r10bio flag R10BIO_Returned (Ming Lei) [RHEL-122816]
|
|
- md/raid1: convert to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- md/raid0: convert raid0_handle_discard() to use bio_submit_split_bioset() (Ming Lei) [RHEL-122816]
|
|
- nvme: fix admin queue leak on controller reset (Ming Lei) [RHEL-143907]
|
|
- block: use trylock to avoid lockdep circular dependency in sysfs (Ming Lei) [RHEL-154184]
|
|
- block: fix race between set_blocksize and read paths (Ming Lei) [RHEL-153616]
|
|
- efivarfs: fix error propagation in efivar_entry_get() (CKI Backport Bot) [RHEL-150117] {CVE-2026-23156}
|
|
- powerpc, perf: Check that current->mm is alive before getting user callchain (Michael Petlan) [RHEL-145265]
|
|
- accel/qaic: enable drivers/accel/qaic configuration in RHEL. (John Wiele) [RHEL-149722]
|
|
- accel/qaic: Merge from upstream v6.18..v6.19 (John Wiele) [RHEL-149722]
|
|
- libceph: adapt ceph_x_challenge_blob hashing and msgr1 message signing (Ilya Dryomov) [RHEL-155461]
|
|
- libceph: add support for CEPH_CRYPTO_AES256KRB5 (Ilya Dryomov) [RHEL-155461]
|
|
- libceph: introduce ceph_crypto_key_prepare() (Ilya Dryomov) [RHEL-155461]
|
|
- libceph: generalize ceph_x_encrypt_offset() and ceph_x_encrypt_buflen() (Ilya Dryomov) [RHEL-155461]
|
|
- libceph: define and enforce CEPH_MAX_KEY_LEN (Ilya Dryomov) [RHEL-155461]
|
|
- libceph: Remove unused ceph_crypto_key_encode (Ilya Dryomov) [RHEL-155461]
|
|
- ice: Fix PTP NULL pointer dereference during VSI rebuild (CKI Backport Bot) [RHEL-150249] {CVE-2026-23210}
|
|
- net/sched: cls_u32: use skb_header_pointer_careful() (Paolo Abeni) [RHEL-150408] {CVE-2026-23204}
|
|
- net: add skb_header_pointer_careful() helper (Paolo Abeni) [RHEL-150408]
|
|
- mm/damon/sysfs: cleanup attrs subdirs on context dir setup failure (Rafael Aquini) [RHEL-150482] {CVE-2026-23144}
|
|
- arch_topology: Provide a stub topology_core_has_smt() for !CONFIG_GENERIC_ARCH_TOPOLOGY (Charles Mirabile) [RHEL-143323]
|
|
- perf: arm_pmuv3: Don't use PMCCNTR_EL0 on SMT cores (Charles Mirabile) [RHEL-143323]
|
|
- mshv: handle gpa intercepts for arm64 (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: add definitions for arm64 gpa intercepts (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add __user attribute to argument passed to access_ok() (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Store the result of vfs_poll in a variable of type __poll_t (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Align huge page stride with guest mapping (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: release mutex on region invalidation failure (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: hide x86-specific functions on arm64 (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Initialize local variables early upon region invalidation (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Use PMD_ORDER instead of HPAGE_PMD_ORDER when processing regions (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Cleanly shutdown root partition with MSHV (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Use reboot notifier to configure sleep state (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add definitions for MSHV sleep state configuration (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add support for movable memory regions (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add refcount and locking to mem regions (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Fix huge page handling in memory region traversal (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Move region management to mshv_regions.c (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Centralize guest memory region destruction (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Refactor and rename memory region handling functions (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: adjust interrupt control structure for ARM64 (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add ioctl for self targeted passthrough hvcalls (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Extend create partition ioctl to support cpu features (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Allow mappings that overlap in uaddr (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Fix create memory region overlap check (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: add WQ_PERCPU to alloc_workqueue users (Paolo Bonzini) [RHEL-146632]
|
|
- hyperv: Add two new hypercall numbers to guest ABI public header (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Introduce new hypercall to map stats page for L1VH partitions (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Allocate vp state page for HVCALL_MAP_VP_STATE_PAGE on L1VH (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Get the vmm capabilities offered by the hypervisor (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Add the HVCALL_GET_PARTITION_PROPERTY_EX hypercall (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Only map vp->vp_stats_pages if on root scheduler (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Fix deposit memory in MSHV_ROOT_HVCALL (Paolo Bonzini) [RHEL-146632]
|
|
- mshv: Fix VpRootDispatchThreadBlocked value (Paolo Bonzini) [RHEL-146632]
|
|
- ixgbevf: add missing negotiate_features op to Hyper-V ops table (Michal Schmidt) [RHEL-155353]
|
|
- io_uring: graduate to full support (Jeff Moyer) [RHEL-120700]
|
|
- netfilter: nf_tables: fix use-after-free in nf_tables_addchain() (Florian Westphal) [RHEL-153273] {CVE-2026-23231}
|
|
- netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate() (CKI Backport Bot) [RHEL-149753] {CVE-2026-23111}
|
|
- macvlan: observe an RCU grace period in macvlan_common_newlink() error path (Hangbin Liu) [RHEL-150231]
|
|
- macvlan: fix error recovery in macvlan_common_newlink() (Hangbin Liu) [RHEL-150231] {CVE-2026-23209}
|
|
- smb: client: fix broken multichannel with krb5+signing (Paulo Alcantara) [RHEL-152652]
|
|
- smb: client: fix regression with signing (Paulo Alcantara) [RHEL-152652]
|
|
- spi: tegra210-quad: Protect curr_xfer check in IRQ handler (Charles Mirabile) [RHEL-145815]
|
|
- spi: tegra210-quad: Protect curr_xfer clearing in tegra_qspi_non_combined_seq_xfer (Charles Mirabile) [RHEL-145815]
|
|
- spi: tegra210-quad: Protect curr_xfer in tegra_qspi_combined_seq_xfer (Charles Mirabile) [RHEL-145815]
|
|
- spi: tegra210-quad: Protect curr_xfer assignment in tegra_qspi_setup_transfer_one (Charles Mirabile) [RHEL-145815]
|
|
- spi: tegra210-quad: Move curr_xfer read inside spinlock (Charles Mirabile) [RHEL-145815]
|
|
- spi: tegra210-quad: Return IRQ_HANDLED when timeout already processed transfer (Charles Mirabile) [RHEL-145815]
|
|
- migrate: correct lock ordering for hugetlb file folios (Luiz Capitulino) [RHEL-147272] {CVE-2026-23097}
|
|
|
|
* Tue Mar 24 2026 Alexandra Hájková <ahajkova@redhat.com> [6.12.0-215.el10]
|
|
- selftests/memfd: use IPC semaphore instead of SIGSTOP/SIGCONT (Aristeu Rozanski) [RHEL-132213]
|
|
- tcp: reclaim 8 bytes in struct request_sock_queue (Guillaume Nault) [RHEL-123211]
|
|
- tcp: move mtu_info to remove two 32bit holes (Guillaume Nault) [RHEL-123211]
|
|
- tcp: move tcp_clean_acked to tcp_sock_read_tx group (Guillaume Nault) [RHEL-123211]
|
|
- tcp: move recvmsg_inq to tcp_sock_read_txrx (Guillaume Nault) [RHEL-123211]
|
|
- tcp: move tcp->rcv_tstamp to tcp_sock_write_txrx group (Guillaume Nault) [RHEL-123211]
|
|
- tcp: remove CACHELINE_ASSERT_GROUP_SIZE() uses (Guillaume Nault) [RHEL-123211]
|
|
- net: move sk->sk_err_soft and sk->sk_sndbuf (Guillaume Nault) [RHEL-123211]
|
|
- net: move sk_uid and sk_protocol to sock_read_tx (Guillaume Nault) [RHEL-123211]
|
|
- tcp: move icsk_clean_acked to a better location (Guillaume Nault) [RHEL-123211]
|
|
- x86/boot: Handle relative CONFIG_EFI_SBAT_FILE file paths (Jan Stancek) [RHEL-132871]
|
|
- timekeeping: Fix timex status validation for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- time/sched_clock: Use ACCESS_PRIVATE() to evaluate hrtimer::function (Waiman Long) [RHEL-152433]
|
|
- hrtimer: Fix trace oddity (Waiman Long) [RHEL-152433]
|
|
- clocksource: Reduce watchdog readout delay limit to prevent false positives (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Adjust the leap state for the correct auxiliary timekeeper (Waiman Long) [RHEL-152433] {CVE-2026-23106}
|
|
- hrtimer: Fix softirq base check in update_needs_ipi() (Waiman Long) [RHEL-152433]
|
|
- time: Fix a few typos in time[r] related code comments (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Remove dead code handling idle CPU checking for remote timers (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Remove unused "cpu" parameter from tmigr_get_group() (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Assert that hotplug preparing CPU is part of stable active hierarchy (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Fix imbalanced NUMA trees (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Remove locking on group connection (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Convert "while" loops to use "for" (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Fix error code in tk_aux_sysfs_init() (Waiman Long) [RHEL-152433]
|
|
- timers: Fix NULL function pointer race in timer_shutdown_sync() (Waiman Long) [RHEL-152433] {CVE-2025-68214}
|
|
- timekeeping: Fix resource leak in tk_aux_sysfs_init() error paths (Waiman Long) [RHEL-152433]
|
|
- tick/sched: Fix bogus condition in report_idle_softirq() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Fix aux clocks sysfs initialization loop bound (Waiman Long) [RHEL-152433]
|
|
- time: export timespec64_add_safe() symbol (Waiman Long) [RHEL-152433]
|
|
- time: Build generic update_vsyscall() only with generic time vDSO (Waiman Long) [RHEL-152433]
|
|
- time/sched_clock: Export symbol for sched_clock register function (Waiman Long) [RHEL-152433]
|
|
- time: Fix spelling mistakes in comments (Waiman Long) [RHEL-152433]
|
|
- clocksource: Print durations for sync check unconditionally (Waiman Long) [RHEL-152433]
|
|
- hrtimer: Reorder branches in hrtimer_clockid_to_base() (Waiman Long) [RHEL-152433]
|
|
- hrtimer: Remove hrtimer_clock_base:: Get_time (Waiman Long) [RHEL-152433]
|
|
- hrtimer: Use hrtimer_cb_get_time() helper (Waiman Long) [RHEL-152433]
|
|
- media: pwm-ir-tx: Avoid direct access to hrtimer clockbase (Waiman Long) [RHEL-152433]
|
|
- lib: test_objpool: Avoid direct access to hrtimer clockbase (Waiman Long) [RHEL-152433]
|
|
- sched/core: Avoid direct access to hrtimer clockbase (Waiman Long) [RHEL-152433]
|
|
- timers/itimer: Avoid direct access to hrtimer clockbase (Waiman Long) [RHEL-152433]
|
|
- posix-timers: Avoid direct access to hrtimer clockbase (Waiman Long) [RHEL-152433]
|
|
- jiffies: Remove obsolete SHIFTED_HZ comment (Waiman Long) [RHEL-152433]
|
|
- copy_process: pass clone_flags as u64 across calltree (Waiman Long) [RHEL-152433]
|
|
- hrtimers: Unconditionally update target CPU base after offline timer migration (Waiman Long) [RHEL-152433]
|
|
- vdso/vsyscall: Avoid slow division loop in auxiliary clock update (Waiman Long) [RHEL-152433]
|
|
- clocksource: Improve randomness in clocksource_verify_choose_cpus() (Waiman Long) [RHEL-152433]
|
|
- cpumask: introduce cpumask_random() (Waiman Long) [RHEL-152433]
|
|
- bitmap: generalize node_random() (Waiman Long) [RHEL-152433]
|
|
- vdso/vsyscall: Update auxiliary clock data in the datapage (Waiman Long) [RHEL-152433]
|
|
- vdso: Introduce aux_clock_resolution_ns() (Waiman Long) [RHEL-152433]
|
|
- vdso/vsyscall: Split up __arch_update_vsyscall() into __arch_update_vdso_clock() (Waiman Long) [RHEL-152433]
|
|
- vdso/vsyscall: Introduce a helper to fill clock configurations (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Remove the temporary CLOCK_AUX workaround (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide ktime_get_clock_ts64() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide interface to control auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide update for auxiliary timekeepers (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide adjtimex() for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Prepare do_adtimex() for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Make do_adjtimex() reusable (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Add auxiliary clock support to __timekeeping_inject_offset() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Make timekeeping_inject_offset() reusable (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide time setter for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Add minimal posix-timers support for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide time getters for auxiliary clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Update auxiliary timekeepers on clocksource change (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Add AUX offset to struct timekeeper (Waiman Long) [RHEL-152433]
|
|
- ntp: Use ktime_get_ntp_seconds() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Provide ktime_get_ntp_seconds() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Introduce auxiliary timekeepers (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Add clock_valid flag to timekeeper (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Prepare timekeeping_update_from_shadow() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Make __timekeeping_advance() reusable (Waiman Long) [RHEL-152433]
|
|
- ntp: Rename __do_adjtimex() to ntp_adjtimex() (Waiman Long) [RHEL-152433]
|
|
- ntp: Add timekeeper ID arguments to public functions (Waiman Long) [RHEL-152433]
|
|
- ntp: Add support for auxiliary timekeepers (Waiman Long) [RHEL-152433]
|
|
- redhat/configs: Add CONFIG_POSIX_AUX_CLOCKS=n (Waiman Long) [RHEL-152433]
|
|
- time: Introduce auxiliary POSIX clocks (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Introduce timekeeper ID (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Avoid double notification in do_adjtimex() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Cleanup kernel doc of __ktime_get_real_seconds() (Waiman Long) [RHEL-152433]
|
|
- timekeeping: Remove hardcoded access to tk_core (Waiman Long) [RHEL-152433]
|
|
- clocksource: Use cpumask_next_wrap() in clocksource_watchdog() (Waiman Long) [RHEL-152433]
|
|
- clocksource: Use cpumask_any_but() in clocksource_verify_choose_cpus() (Waiman Long) [RHEL-152433]
|
|
- timers/migration: Clean up the loop in tmigr_quick_check() (Waiman Long) [RHEL-152433]
|
|
- PCI: Add PCI_BRIDGE_NO_ALIAS quirk for ASPEED AST1150 (Myron Stowe) [RHEL-143320]
|
|
- PCI: Add ASPEED vendor ID to pci_ids.h (Myron Stowe) [RHEL-143320]
|
|
- PCI/MSI: Add an option to write MSIX ENTRY_DATA before any reads (Myron Stowe) [RHEL-143320]
|
|
- s390/ap: Expose ap_bindings_complete_count counter via sysfs (Mete Durlu) [RHEL-155896]
|
|
- RDMA/bnxt_re: convert timeouts to secs_to_jiffies() (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Fix return code of bnxt_re_configure_cc (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Fix missing error handling for tx_queue (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Fix incorrect display of inactivity_cp in debugfs output (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Use macro instead of hard coded value (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Support 2G message size (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Fix size of uverbs_copy_to() in BNXT_RE_METHOD_GET_TOGGLE_MEM (Sreekanth Reddy) [RHEL-108694]
|
|
- RDMA/bnxt_re: Support extended stats for Thor2 VF (Sreekanth Reddy) [RHEL-108694]
|
|
- selftests: net: tests for add double tunneling GRO/GSO (Guillaume Nault) [RHEL-145367]
|
|
- geneve: use GRO hint option in the RX path (Guillaume Nault) [RHEL-145367]
|
|
- geneve: extract hint option at GRO stage (Guillaume Nault) [RHEL-145367]
|
|
- geneve: add GRO hint output path (Guillaume Nault) [RHEL-145367]
|
|
- geneve: pass the geneve device ptr to geneve_build_skb() (Guillaume Nault) [RHEL-145367]
|
|
- geneve: constify geneve_hlen() (Guillaume Nault) [RHEL-145367]
|
|
- geneve: add netlink support for GRO hint (Guillaume Nault) [RHEL-145367]
|
|
- vxlan: expose gso partial features for tunnel offload (Guillaume Nault) [RHEL-145367]
|
|
- geneve: expose gso partial features for tunnel offload (Guillaume Nault) [RHEL-145367]
|
|
- net: introduce mangleid_features (Guillaume Nault) [RHEL-145367]
|
|
- geneve, specs: Add port range to rt_link specification (Guillaume Nault) [RHEL-145367]
|
|
- geneve: Allow users to specify source port range (Guillaume Nault) [RHEL-145367]
|
|
- selftests: forwarding: lib: Move require_command to net, generalize (Guillaume Nault) [RHEL-145367]
|
|
- USB: storage: Remove subclass and protocol overrides from Novatek quirk (Desnes Nunes) [RHEL-147788]
|
|
- usb: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer (Desnes Nunes) [RHEL-147788] {CVE-2025-68331}
|
|
- xhci: dbgtty: fix device unregister: fixup (Desnes Nunes) [RHEL-147788]
|
|
- xhci: dbgtty: fix device unregister (Desnes Nunes) [RHEL-147788]
|
|
- usb: storage: sddr55: Reject out-of-bound new_pba (Desnes Nunes) [RHEL-147788] {CVE-2025-40345}
|
|
- USB: serial: option: add support for Rolling RW101R-GL (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: ucsi: psy: Set max current to zero when disconnected (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: pci: Sort out the Intel device IDs (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: pci: add support for the Intel Nova Lake -S (Desnes Nunes) [RHEL-147788]
|
|
- drivers/usb/dwc3: fix PCI parent check (Desnes Nunes) [RHEL-147788]
|
|
- xhci: sideband: Fix race condition in sideband unregister (Desnes Nunes) [RHEL-147788]
|
|
- xhci: dbgtty: Fix data corruption when transmitting data form DbC to host (Desnes Nunes) [RHEL-147788]
|
|
- xhci: fix stale flag preventig URBs after link state error is cleared (Desnes Nunes) [RHEL-147788]
|
|
- USB: serial: ftdi_sio: add support for u-blox EVK-M101 (Desnes Nunes) [RHEL-147788]
|
|
- usb: cdns3: Fix double resource release in cdns3_pci_probe (Desnes Nunes) [RHEL-147788]
|
|
- usb: gadget: udc: fix use-after-free in usb_gadget_state_work (Desnes Nunes) [RHEL-147788] {CVE-2025-68282}
|
|
- USB: serial: option: add Telit FN920C04 ECM compositions (Desnes Nunes) [RHEL-147788]
|
|
- USB: serial: option: add Quectel RG255C (Desnes Nunes) [RHEL-147788]
|
|
- tcpm: allow looking for role_sw device in the main node (Desnes Nunes) [RHEL-147788]
|
|
- tcpm: switch check for role_sw device with fw_node (Desnes Nunes) [RHEL-147788]
|
|
- usb/core/quirks: Add Huawei ME906S to wakeup quirk (Desnes Nunes) [RHEL-147788]
|
|
- USB: serial: option: add UNISOC UIS7720 (Desnes Nunes) [RHEL-147788]
|
|
- xhci: dbc: enable back DbC in resume if it was enabled before suspend (Desnes Nunes) [RHEL-147788]
|
|
- xhci: dbc: fix bogus 1024 byte prefix if ttyDBC read races with stall event (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci-pci: Fix USB2-only root hub registration (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: qcom,snps-dwc3: Fix bindings for X1E80100 (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: switch: split out ports definition (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: phy: samsung,usb3-drd-phy: gs101: require Type-C properties (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: phy: samsung,usb3-drd-phy: add blank lines between DT properties (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: Don't call clk_bulk_disable_unprepare() twice (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: dwc3-imx8mp: dma-range is required only for imx8mp (Desnes Nunes) [RHEL-147788]
|
|
- usb: vhci-hcd: Prevent suspending virtually attached devices (Desnes Nunes) [RHEL-147788]
|
|
- USB: serial: option: add SIMCom 8230C compositions (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Fix use-after-free in tb_dp_dprx_work (Desnes Nunes) [RHEL-147788] {CVE-2025-40002}
|
|
- docs: driver-api: fix spelling of "buses". (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: align PORTSC trace with one-based port numbering (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: correct indentation for PORTSC tracing function (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: improve TR Dequeue Pointer mask (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci-pci: add support for hosts with zero USB3 ports (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: Update a comment about Stop Endpoint retries (Desnes Nunes) [RHEL-147788]
|
|
- Revert "usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running" (Desnes Nunes) [RHEL-147788]
|
|
- USB: gadget: Use str_enable_disable-like helpers (Desnes Nunes) [RHEL-147788]
|
|
- usb: gadget: Introduce free_usb_request helper (Desnes Nunes) [RHEL-147788]
|
|
- usb: gadget: Store endpoint pointer in usb_request (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: xhci-rcar: Add Renesas RZ/G3E USB3 Host driver support (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: xhci-plat: Add .post_resume_quirk for struct xhci_plat_priv (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: xhci-rcar: Move R-Car reg definitions (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: Document Renesas RZ/G3E USB3HOST (Desnes Nunes) [RHEL-147788]
|
|
- phy: fsl-imx8mq-usb: fix typec orientation switch when built as module (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: Stub out typec_switch APIs when CONFIG_TYPEC=n (Desnes Nunes) [RHEL-147788]
|
|
- usb: mon: Increase BUFF_MAX to 64 MiB to support multi-MB URBs (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: plat: Facilitate using autosuspend for xhci plat devices (Desnes Nunes) [RHEL-147788]
|
|
- redhat/configs: configs: riscv: Enable dwc3 on riscv for RHEL (Desnes Nunes) [RHEL-147788]
|
|
- redhat/configs: Enable DWC3 Generic Platform Driver on RHEL automotive (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: add generic driver to support flattened (Desnes Nunes) [RHEL-147788]
|
|
- clk: Provide devm_clk_bulk_get_all_enabled() helper (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: dwc3: add support for SpacemiT K1 (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update thunderbolt.h header file (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update xdomain.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update usb4_port.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update usb4.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update tunnel.h function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update tunnel.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update tmu.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Add missing documentation in tb.h (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update tb.h function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update tb.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update switch.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update retimer.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update property.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update path.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update nvm.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Add missing documentation in nhi_regs.h ring_desc structure (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update nhi.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update lc.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update eeprom.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update domain.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update dma_port.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Add missing documentation in ctl.h tb_cfg_request struct (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update ctl.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update clx.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update cap.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Update acpi.c function documentation (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Handle mode transitions for CD321x (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Read data status in probe and cache its value (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Use read_power_status function in probe (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Update partner identity when power status was updated (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Register DisplayPort and Thunderbolt altmodes for cd321x (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Read USB4, Thunderbolt and DisplayPort status for cd321x (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Add cd321x struct with separate size (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Trace data status for CD321x correctly (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Move switch_power_state to tipd_data (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Move initial irq mask to tipd_data (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tipd: Clear interrupts first (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: enable USB offload during system sleep (Desnes Nunes) [RHEL-147788]
|
|
- xhci: sideband: add api to trace sideband usage (Desnes Nunes) [RHEL-147788]
|
|
- usb: offload: add apis for offload usage tracking (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci-plat: separate dev_pm_ops for each pm_event (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: qcom: Implement glue callbacks to facilitate runtime suspend (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: core: Introduce glue callbacks for flattened implementations (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: tegra: Remove manual wake IRQ disposal (Desnes Nunes) [RHEL-147788]
|
|
- usb: host: xhci-tegra: Use platform_get_irq_optional() for wake IRQs (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: tegra: Support USB wakeup function for Tegra234 (Desnes Nunes) [RHEL-147788]
|
|
- usb: udc: Add trace event for usb_gadget_set_state (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc2: Add support for 'maximum-speed' property (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: tcpci: add wakeup support (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: extcon: linux,extcon-usb-gpio: GPIO must be provided (Desnes Nunes) [RHEL-147788]
|
|
- redhat/configs: Adding CONFIG_EXTCON_MAX14526 (Desnes Nunes) [RHEL-147788]
|
|
- extcon: max14526: depends on I2C to prevent build warning/errors (Desnes Nunes) [RHEL-147788]
|
|
- extcon: Add basic support for Maxim MAX14526 MUIC (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: extcon: Document Maxim MAX14526 MUIC (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: support eUSB2 double bandwidth large isoc URB frames (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: Add host support for eUSB2 double isochronous bandwidth devices (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: Introduce usb_endpoint_is_hs_isoc_double() (Desnes Nunes) [RHEL-147788]
|
|
- usb: xhci: Use usb_endpoint_max_periodic_payload() (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: Add a function to get USB version independent periodic payload (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: eUSB2 companion descriptor is for isoc IN endpoints only (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: Parse eUSB2 companion descriptors for high speed devices only (Desnes Nunes) [RHEL-147788]
|
|
- usb: core: Use le16_to_cpu() to read __le16 value in usb_parse_endpoint() (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: ucsi: Add check for UCSI version (Desnes Nunes) [RHEL-147788]
|
|
- usb: cdns3: gadget: Use-after-free during failed initialization and exit of cdnsp gadget (Desnes Nunes) [RHEL-147788] {CVE-2025-40314}
|
|
- usb: host: xhci-tegra: Remove redundant ternary operators (Desnes Nunes) [RHEL-147788]
|
|
- cdnsp: Remove unused tracepoints (Desnes Nunes) [RHEL-147788]
|
|
- cdns3: Remove unused tracepoints (Desnes Nunes) [RHEL-147788]
|
|
- cdns2: Remove unused tracepoints (Desnes Nunes) [RHEL-147788]
|
|
- usb: gadget: configfs: Correctly set use_os_string at bind (Desnes Nunes) [RHEL-147788]
|
|
- tools/usb/usbip: fix spelling mistakes in usbipd.c (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: IXP4xx UDC bindings (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: Refactor dwc3_mode_show (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: Add trace event for dwc3_set_prtcap (Desnes Nunes) [RHEL-147788]
|
|
- usb: storage: realtek_cr: Simplify residue calculation in rts51x_bulk_transport() (Desnes Nunes) [RHEL-147788]
|
|
- usb: misc: Update link to EHSET pdf doc (Desnes Nunes) [RHEL-147788]
|
|
- usb: usblp: Use min_t() to improve usblp_read() (Desnes Nunes) [RHEL-147788]
|
|
- USB: serial: oti6858: remove extranenous ; after comment (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Use string choices helpers (Desnes Nunes) [RHEL-147788]
|
|
- mmc: rtsx_usb_sdmmc: use modern PM macros (Desnes Nunes) [RHEL-147788]
|
|
- mmc: rtsx_usb_sdmmc: Fix uninitialized variable issue (Desnes Nunes) [RHEL-147788]
|
|
- Documentation: driver-api: usb: Limit toctree depth (Desnes Nunes) [RHEL-147788]
|
|
- phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE (Desnes Nunes) [RHEL-147788]
|
|
- phy: qcom: qmp-combo: introduce QMPPHY_MODE (Desnes Nunes) [RHEL-147788]
|
|
- phy: qcom: qmp-combo: store DP phy power state (Desnes Nunes) [RHEL-147788]
|
|
- phy: qcom: qmp-combo: Rename 'mode' to 'phy_mode' (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch (Desnes Nunes) [RHEL-147788]
|
|
- phy: remove unneeded 'fast_io' parameter in regmap_config (Desnes Nunes) [RHEL-147788]
|
|
- misc: rtsx: usb card reader: add OCP support (Desnes Nunes) [RHEL-147788]
|
|
- misc: rtsx: usb: Ensure mmc child device is active when card is present (Desnes Nunes) [RHEL-147788]
|
|
- memstick: Add timeout to prevent indefinite waiting (Desnes Nunes) [RHEL-147788]
|
|
- misc: rtsx_pci: Add separate CD/WP pin polarity reversal support (Desnes Nunes) [RHEL-147788]
|
|
- phy: qcom-qmp-pcie: add dual lane PHY support for SM8750 (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Document the SM8750 QMP PCIe PHY Gen3 x2 (Desnes Nunes) [RHEL-147788]
|
|
- usb: gadget: f_ncm: Fix MAC assignment NCM ethernet (Desnes Nunes) [RHEL-147788]
|
|
- USB: Check no positive return values from pm_runtime_resume_and_get() (Desnes Nunes) [RHEL-147788]
|
|
- usb: typec: ucsi: Add support for READ_POWER_LEVEL command (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Use is_pciehp instead of is_hotplug_bridge (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: usb: Drop duplicate nvidia,tegra20-ehci.txt (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: qcom: Remove extcon functionality from glue layer (Desnes Nunes) [RHEL-147788]
|
|
- USB: lower "Device is not authorized for usage" message to info (Desnes Nunes) [RHEL-147788]
|
|
- usb: dwc3: qcom: Add shutdown handler (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Use Linux Foundation IDs for XDomain discovery (Desnes Nunes) [RHEL-147788]
|
|
- phy: ti: omap-usb2: drop unused module alias (Desnes Nunes) [RHEL-147788]
|
|
- phy: hisilicon: hi6220-usb: drop unused module alias (Desnes Nunes) [RHEL-147788]
|
|
- phy: ti: omap-usb2: enable compile testing (Desnes Nunes) [RHEL-147788]
|
|
- dt-bindings: phy: fsl,imx8mq-usb: Drop 'db' suffix duplicating dtschema (Desnes Nunes) [RHEL-147788]
|
|
- thunderbolt: Compare HMAC values in constant time (Desnes Nunes) [RHEL-147788]
|
|
- phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure (Desnes Nunes) [RHEL-147788]
|
|
- pNFS: fix a missing wake up while waiting on NFS_LAYOUT_DRAIN (Olga Kornievskaia) [RHEL-157444]
|
|
- ALSA: hda/tas2781: Ignore reset check for SPI device (CKI Backport Bot) [RHEL-148197]
|
|
- platform/x86/intel/hid: Add Nova Lake support (Steve Best) [RHEL-117305]
|
|
- redhat: genlog: add new JIRA cloud server hostname (Jan Stancek)
|
|
- redhat/configs: enable keyboard GPIO for x86 (Mark Langsdorf) [RHEL-147908]
|
|
- redhat/configs: enable CONFIG_INPUT_SOC_BUTTON_ARRAY on x86 (Mark Langsdorf) [RHEL-135367]
|
|
- perf/amd/ibs: Avoid calling perf_allow_kernel() from the IBS NMI handler (Michael Petlan) [RHEL-145800]
|
|
- selftests/bpf: Use the correct destructor kfunc type (Viktor Malik) [RHEL-113714]
|
|
- bpf: crypto: Use the correct destructor kfunc type (Viktor Malik) [RHEL-113714]
|
|
- PCI: vmd: Override irq_startup()/irq_shutdown() in vmd_init_dev_msi_info() (Myron Stowe) [RHEL-143521]
|
|
- PCI: vmd: Add VMD Device ID Support for Panther Lake (PTL)-H/P/U (Myron Stowe) [RHEL-143521]
|
|
- net: vlan: don't propagate flags on open (Hangbin Liu) [RHEL-149691]
|
|
|
|
* Wed Mar 18 2026 Alexandra Hájková <ahajkova@redhat.com> [6.12.0-214.el10]
|
|
- selftests: kvm: Verify TILELOADD actually #NM faults when XFD[18]=1 (Maxim Levitsky) [RHEL-148618]
|
|
- selftests: kvm: try getting XFD and XSAVE state out of sync (Maxim Levitsky) [RHEL-148618]
|
|
- selftests: kvm: replace numbered sync points with actions (Maxim Levitsky) [RHEL-148618]
|
|
- x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1 (Maxim Levitsky) [RHEL-148618]
|
|
- KVM: selftests: Add ex_str() to print human friendly name of exception vectors (Maxim Levitsky) [RHEL-148618]
|
|
- KVM: x86: Define AMD's #HV, #VC, and #SX exception vectors (Maxim Levitsky) [RHEL-148618]
|
|
- KVM: x86: Define Control Protection Exception (#CP) vector (Maxim Levitsky) [RHEL-148618]
|
|
- KVM: x86: Add human friendly formatting for #XM, and #VE (Maxim Levitsky) [RHEL-148618]
|
|
- KVM: selftests: Add support for #DE exception fixup (Maxim Levitsky) [RHEL-148618]
|
|
- idpf: export RX hardware timestamping information to XDP (Michal Schmidt) [RHEL-136674]
|
|
- autofs: dont trigger mount if it cant succeed (Ian Kent) [RHEL-134674]
|
|
- vdpa/mlx5: update MAC address handling in mlx5_vdpa_set_attr() (Cindy Lu) [RHEL-127007]
|
|
- vdpa/mlx5: reuse common function for MAC address updates (Cindy Lu) [RHEL-127007]
|
|
- vdpa/mlx5: update mlx_features with driver state check (Cindy Lu) [RHEL-127007]
|
|
- redhat/configs: enable CONFIG_AQTION on all archs (Michal Schmidt) [RHEL-150852]
|
|
- mm/migrate: fix sleep in atomic for large folios and buffer heads (Ming Lei) [RHEL-144763]
|
|
- fs/ext4: use sleeping version of sb_find_get_block() (Ming Lei) [RHEL-144763]
|
|
- fs/jbd2: use sleeping version of __find_get_block() (Ming Lei) [RHEL-144763]
|
|
- fs/ocfs2: use sleeping version of __find_get_block() (Ming Lei) [RHEL-144763]
|
|
- fs/buffer: use sleeping version of __find_get_block() (Ming Lei) [RHEL-144763]
|
|
- fs/buffer: introduce sleeping flavors for pagecache lookups (Ming Lei) [RHEL-144763]
|
|
- fs/buffer: split locking for pagecache lookups (Ming Lei) [RHEL-144763]
|
|
- fscrypt: fix left shift underflow when inode->i_blkbits > PAGE_SHIFT (Ming Lei) [RHEL-144763]
|
|
- block: reject bs > ps block devices when THP is disabled (Ming Lei) [RHEL-144763]
|
|
- md: init queue_limits->max_hw_wzeroes_unmap_sectors parameter (Ming Lei) [RHEL-144763]
|
|
- block: don't silently ignore metadata for sync read/write (Ming Lei) [RHEL-144763]
|
|
- bio: use memzero_page() in bio_truncate() (Ming Lei) [RHEL-144763]
|
|
- drbd: init queue_limits->max_hw_wzeroes_unmap_sectors parameter (Ming Lei) [RHEL-144763]
|
|
- ext4: add FALLOC_FL_WRITE_ZEROES support (Ming Lei) [RHEL-144763]
|
|
- block: add FALLOC_FL_WRITE_ZEROES support (Ming Lei) [RHEL-144763]
|
|
- block: factor out common part in blkdev_fallocate() (Ming Lei) [RHEL-144763]
|
|
- fs: introduce FALLOC_FL_WRITE_ZEROES to fallocate (Ming Lei) [RHEL-144763]
|
|
- dm: clear unmap write zeroes limits when disabling write zeroes (Ming Lei) [RHEL-144763]
|
|
- scsi: sd: set max_hw_wzeroes_unmap_sectors if device supports SD_ZERO_*_UNMAP (Ming Lei) [RHEL-144763]
|
|
- nvmet: set WZDS and DRB if device enables unmap write zeroes operation (Ming Lei) [RHEL-144763]
|
|
- nvme: set max_hw_wzeroes_unmap_sectors if device supports DEAC bit (Ming Lei) [RHEL-144763]
|
|
- block: introduce max_{hw|user}_wzeroes_unmap_sectors to queue limits (Ming Lei) [RHEL-144763]
|
|
- ublk: use READ_ONCE() to read struct ublksrv_ctrl_cmd (Ming Lei) [RHEL-144763]
|
|
- block: don't use strcpy to copy blockdev name (Ming Lei) [RHEL-144763]
|
|
- block: allow IOC_PR_READ_* ioctls with BLK_OPEN_READ (Ming Lei) [RHEL-144763]
|
|
- block: fix EOD return for device with nr_sectors == 0 (Ming Lei) [RHEL-144763]
|
|
- block: change blk_get_meta_cap() stub return -ENOIOCTLCMD (Ming Lei) [RHEL-144763]
|
|
- block: fix lbmd_guard_tag_type assignment in FS_IOC_GETLBMD_CAP (Ming Lei) [RHEL-144763]
|
|
- block: fix FS_IOC_GETLBMD_CAP parsing in blkdev_common_ioctl() (Ming Lei) [RHEL-144763]
|
|
- ata: libata-core: Quirk INTEL SSDSC2KG480G8 max_sectors (Ming Lei) [RHEL-144763]
|
|
- ata: libata: Add libata.force parameter max_sec (Ming Lei) [RHEL-144763]
|
|
- ata: libata: Add support to parse equal sign in libata.force (Ming Lei) [RHEL-144763]
|
|
- ata: libata: Change libata.force to use the generic ATA_QUIRK_MAX_SEC quirk (Ming Lei) [RHEL-144763]
|
|
- ata: libata: Add ata_force_get_fe_for_dev() helper (Ming Lei) [RHEL-144763]
|
|
- ata: libata: Add ATA_QUIRK_MAX_SEC and convert all device quirks (Ming Lei) [RHEL-144763]
|
|
- ata: libata-core: Quirk DELLBOSS VD max_sectors (Ming Lei) [RHEL-144763]
|
|
- loop: revert exclusive opener loop status change (Ming Lei) [RHEL-144763]
|
|
- nvmet-tcp: add bounds checks in nvmet_tcp_build_pdu_iovec (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: handle changing device dma map requirements (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: DMA unmap the correct regions in nvme_free_sgls (Ming Lei) [RHEL-144763]
|
|
- Revert "rnbd-clt: fix refcount underflow in device unmap path" (Ming Lei) [RHEL-144763]
|
|
- blk-mq: use BLK_POLL_ONESHOT for synchronous poll completion (Ming Lei) [RHEL-144763]
|
|
- selftests/ublk: fix garbage output in foreground mode (Ming Lei) [RHEL-144763]
|
|
- selftests/ublk: fix error handling for starting device (Ming Lei) [RHEL-144763]
|
|
- selftests/ublk: fix IO thread idle check (Ming Lei) [RHEL-144763]
|
|
- block: make the new blkzoned UAPI constants discoverable (Ming Lei) [RHEL-144763]
|
|
- ublk: fix ublksrv pid handling for pid namespaces (Ming Lei) [RHEL-144763]
|
|
- block: Fix an error path in disk_update_zone_resources() (Ming Lei) [RHEL-144763]
|
|
- rnbd-clt: fix refcount underflow in device unmap path (Ming Lei) [RHEL-144763]
|
|
- nvmet: do not copy beyond sybsysnqn string length (Ming Lei) [RHEL-144763]
|
|
- null_blk: fix kmemleak by releasing references to fault configfs items (Ming Lei) [RHEL-144763]
|
|
- block: zero non-PI portion of auto integrity buffer (Ming Lei) [RHEL-144763]
|
|
- nvme-fc: release admin tagset if init fails (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: disable secondary temp for Wodposit WPBSNM8 (Ming Lei) [RHEL-144763]
|
|
- ublk: fix use-after-free in ublk_partition_scan_work (Ming Lei) [RHEL-144763]
|
|
- blk-mq: avoid stall during boot due to synchronize_rcu_expedited (Ming Lei) [RHEL-144763]
|
|
- loop: add missing bd_abort_claiming in loop_set_status (Ming Lei) [RHEL-144763]
|
|
- block: don't merge bios with different app_tags (Ming Lei) [RHEL-144763]
|
|
- blk-rq-qos: Remove unlikely() hints from QoS checks (Ming Lei) [RHEL-144763]
|
|
- loop: don't change loop device under exclusive opener in loop_set_status (Ming Lei) [RHEL-144763]
|
|
- block, bfq: update outdated comment (Ming Lei) [RHEL-144763]
|
|
- selftests/ublk: fix Makefile to rebuild on header changes (Ming Lei) [RHEL-144763]
|
|
- selftests/ublk: add test for async partition scan (Ming Lei) [RHEL-144763]
|
|
- ublk: scan partition in async way (Ming Lei) [RHEL-144763]
|
|
- block,bfq: fix aux stat accumulation destination (Ming Lei) [RHEL-144763]
|
|
- block: rnbd-clt: Fix signedness bug in init_dev() (Ming Lei) [RHEL-144763]
|
|
- ublk: clean up user copy references on ublk server exit (Ming Lei) [RHEL-144763]
|
|
- block: validate interval_exp integrity limit (Ming Lei) [RHEL-144763]
|
|
- block: validate pi_offset integrity limit (Ming Lei) [RHEL-144763]
|
|
- block: rnbd-clt: Fix leaked ID in init_dev() (Ming Lei) [RHEL-144763]
|
|
- ublk: fix deadlock when reading partition table (Ming Lei) [RHEL-144763]
|
|
- block: add allocation size check in blkdev_pr_read_keys() (Ming Lei) [RHEL-144763]
|
|
- Documentation: admin-guide: blockdev: replace zone_capacity with zone_capacity_mb when creating devices (Ming Lei) [RHEL-144763]
|
|
- zloop: use READ_ONCE() to read lo->lo_state in queue_rq path (Ming Lei) [RHEL-144763]
|
|
- loop: use READ_ONCE() to read lo->lo_state without locking (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: add user copy test cases (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: add support for user copy to kublk (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: forbid multiple data copy modes (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: don't share backing files between ublk servers (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: use auto_zc for PER_IO_DAEMON tests in stress_04 (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: fix fio arguments in run_io_and_recover() (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: remove unused ios map in seq_io.bt (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: correct last_rw map type in seq_io.bt (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback() (Ming Lei) [RHEL-144763]
|
|
- block: move around bio flagging helpers (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: always initialize dma state (Ming Lei) [RHEL-144763]
|
|
- blk-mq: delete task running check in blk_hctx_poll() (Ming Lei) [RHEL-144763]
|
|
- block: fix cached zone reports on devices with native zone append (Ming Lei) [RHEL-144763]
|
|
- ublk: don't mutate struct bio_vec in iteration (Ming Lei) [RHEL-144763]
|
|
- block: prohibit calls to bio_chain_endio (Ming Lei) [RHEL-144763]
|
|
- ublk: allow non-blocking ctrl cmds in IO_URING_F_NONBLOCK issue (Ming Lei) [RHEL-144763]
|
|
- nvme-fabrics: add ENOKEY to no retry criteria for authentication failures (Ming Lei) [RHEL-144763]
|
|
- nvme-auth: use kvfree() for memory allocated with kvcalloc() (Ming Lei) [RHEL-144763]
|
|
- nvmet-tcp: use kvcalloc for commands array (Ming Lei) [RHEL-144763]
|
|
- nvmet-rdma: use kvcalloc for commands and responses arrays (Ming Lei) [RHEL-144763]
|
|
- nvme: fix typo error in nvme target (Ming Lei) [RHEL-144763]
|
|
- nvmet-fc: use pr_* print macros instead of dev_* (Ming Lei) [RHEL-144763]
|
|
- nvmet-fcloop: remove unused lsdir member. (Ming Lei) [RHEL-144763]
|
|
- nvmet-fcloop: check all request and response have been processed (Ming Lei) [RHEL-144763]
|
|
- nvme-fc: check all request and response have been processed (Ming Lei) [RHEL-144763]
|
|
- block: fix comment for op_is_zone_mgmt() to include RESET_ALL (Ming Lei) [RHEL-144763]
|
|
- block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs (Ming Lei) [RHEL-144763]
|
|
- blk-mq: add blk_rq_nr_bvec() helper (Ming Lei) [RHEL-144763]
|
|
- block: add IOC_PR_READ_RESERVATION ioctl (Ming Lei) [RHEL-144763]
|
|
- block: add IOC_PR_READ_KEYS ioctl (Ming Lei) [RHEL-144763]
|
|
- nvme: reject invalid pr_read_keys() num_keys values (Ming Lei) [RHEL-144763]
|
|
- scsi: sd: reject invalid pr_read_keys() num_keys values (Ming Lei) [RHEL-144763]
|
|
- block: enable per-cpu bio cache by default (Ming Lei) [RHEL-144763]
|
|
- block: use bio_alloc_bioset for passthru IO by default (Ming Lei) [RHEL-144763]
|
|
- nvme-fc: don't hold rport lock when putting ctrl (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: add debug message on fail to read CSTS (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: print error message on failure in nvme_probe (Ming Lei) [RHEL-144763]
|
|
- nvmet: pci-epf: fix DMA channel debug print (Ming Lei) [RHEL-144763]
|
|
- nvmet: pci-epf: move DMA initialization to EPC init callback (Ming Lei) [RHEL-144763]
|
|
- nvmet: remove redundant subsysnqn field from ctrl (Ming Lei) [RHEL-144763]
|
|
- nvmet: add sanity checks when freeing subsystem (Ming Lei) [RHEL-144763]
|
|
- block/rnbd: correct all kernel-doc complaints (Ming Lei) [RHEL-144763]
|
|
- blk-mq: use queue_hctx in blk_mq_map_queue_type (Ming Lei) [RHEL-144763]
|
|
- sbitmap: fix all kernel-doc warnings (Ming Lei) [RHEL-144763]
|
|
- ublk: add helper of __ublk_fetch() (Ming Lei) [RHEL-144763]
|
|
- ublk: pass const pointer to ublk_queue_is_zoned() (Ming Lei) [RHEL-144763]
|
|
- ublk: refactor auto buffer register in ublk_dispatch_req() (Ming Lei) [RHEL-144763]
|
|
- ublk: add `union ublk_io_buf` with improved naming (Ming Lei) [RHEL-144763]
|
|
- ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg() (Ming Lei) [RHEL-144763]
|
|
- kfifo: add kfifo_alloc_node() helper for NUMA awareness (Ming Lei) [RHEL-144763]
|
|
- blk-mq: fix potential uaf for 'queue_hw_ctx' (Ming Lei) [RHEL-144763]
|
|
- blk-mq: use array manage hctx map instead of xarray (Ming Lei) [RHEL-144763]
|
|
- ublk: prevent invalid access with DEBUG (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: Use scnprintf() instead of sprintf() (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: Move device name formatting into separate function (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: Remove unnecessary debugfs_create() return checks (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: Fix gendisk parent after copy pair swap (Ming Lei) [RHEL-144763]
|
|
- block: ignore __blkdev_issue_discard() return value (Ming Lei) [RHEL-144763]
|
|
- block: fix typos in comments and strings in blk-core (Ming Lei) [RHEL-144763]
|
|
- block: Remove references to __device_add_disk() (Ming Lei) [RHEL-144763]
|
|
- Revert "Merge branch 'loop-aio-nowait' into for-6.19/block" (Ming Lei) [RHEL-144763]
|
|
- block: use min() instead of min_t() (Ming Lei) [RHEL-144763]
|
|
- zloop: clear nowait flag in workqueue context (Ming Lei) [RHEL-144763]
|
|
- loop: clear nowait flag in workqueue context (Ming Lei) [RHEL-144763]
|
|
- zloop: fix zone append check in zloop_rw() (Ming Lei) [RHEL-144763]
|
|
- MAINTAINERS: add a maintainer for zoned block device support (Ming Lei) [RHEL-144763]
|
|
- MAINTAINERS: add missing block layer user API header files (Ming Lei) [RHEL-144763]
|
|
- block: remove the declaration of elevator_init_mq function (Ming Lei) [RHEL-144763]
|
|
- Revert "block: consider discard merge last" (Ming Lei) [RHEL-144763]
|
|
- fs: Add the __data_racy annotation to backing_dev_info.ra_pages (Ming Lei) [RHEL-144763]
|
|
- block: plug attempts to batch allocate tags multiple times (Ming Lei) [RHEL-144763]
|
|
- loop: add hint for handling aio via IOCB_NOWAIT (Ming Lei) [RHEL-144763]
|
|
- loop: try to handle loop aio command via NOWAIT IO first (Ming Lei) [RHEL-144763]
|
|
- loop: move command blkcg/memcg initialization into loop_queue_work (Ming Lei) [RHEL-144763]
|
|
- loop: add lo_submit_rw_aio() (Ming Lei) [RHEL-144763]
|
|
- loop: add helper lo_rw_aio_prep() (Ming Lei) [RHEL-144763]
|
|
- loop: add helper lo_cmd_nr_bvec() (Ming Lei) [RHEL-144763]
|
|
- drbd: turn bitmap I/O comments into regular block comments (Ming Lei) [RHEL-144763]
|
|
- block: rate-limit capacity change info log (Ming Lei) [RHEL-144763]
|
|
- Documentation: admin-guide: blockdev: update zloop parameters (Ming Lei) [RHEL-144763]
|
|
- zloop: introduce the ordered_zone_append configuration parameter (Ming Lei) [RHEL-144763]
|
|
- zloop: introduce the zone_append configuration parameter (Ming Lei) [RHEL-144763]
|
|
- zloop: simplify checks for writes to sequential zones (Ming Lei) [RHEL-144763]
|
|
- zloop: fail zone append operations that are targeting full zones (Ming Lei) [RHEL-144763]
|
|
- zloop: make the write pointer of full zones invalid (Ming Lei) [RHEL-144763]
|
|
- block/blk-throttle: Remove throtl_slice from struct throtl_data (Ming Lei) [RHEL-144763]
|
|
- block/blk-throttle: drop unneeded blk_stat_enable_accounting (Ming Lei) [RHEL-144763]
|
|
- block/blk-throttle: Fix throttle slice time for SSDs (Ming Lei) [RHEL-144763]
|
|
- block: consider discard merge last (Ming Lei) [RHEL-144763]
|
|
- floppy: fix for PAGE_SIZE != 4KB (Ming Lei) [RHEL-144763]
|
|
- ps3disk: use memcpy_{from,to}_bvec index (Ming Lei) [RHEL-144763]
|
|
- block-dma: properly take MMIO path (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: migrate to dma_map_phys instead of map_page (Ming Lei) [RHEL-144763]
|
|
- block: define alloc_sched_data and free_sched_data methods for kyber (Ming Lei) [RHEL-144763]
|
|
- block: use {alloc|free}_sched data methods (Ming Lei) [RHEL-144763]
|
|
- block: introduce alloc_sched_data and free_sched_data elevator methods (Ming Lei) [RHEL-144763]
|
|
- block: move elevator tags into struct elevator_resources (Ming Lei) [RHEL-144763]
|
|
- block: unify elevator tags and type xarrays into struct elv_change_ctx (Ming Lei) [RHEL-144763]
|
|
- dm: fix zone reset all operation processing (Ming Lei) [RHEL-144763]
|
|
- block: fix NULL pointer dereference in disk_report_zones() (Ming Lei) [RHEL-144763]
|
|
- block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio() (Ming Lei) [RHEL-144763]
|
|
- blk-zoned: Move code from disk_zone_wplug_add_bio() into its caller (Ming Lei) [RHEL-144763]
|
|
- blk-zoned: Document disk_zone_wplug_schedule_bio_work() locking (Ming Lei) [RHEL-144763]
|
|
- blk-zoned: Fix a typo in a source code comment (Ming Lei) [RHEL-144763]
|
|
- null_blk: fix zone read length beyond write pointer (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: fix kernel-doc function name for integrity DMA iterator (Ming Lei) [RHEL-144763]
|
|
- block: fix merging data-less bios (Ming Lei) [RHEL-144763]
|
|
- ublk: return unsigned from ublk_{,un}map_io() (Ming Lei) [RHEL-144763]
|
|
- ublk: remove unnecessary checks in ublk_check_and_get_req() (Ming Lei) [RHEL-144763]
|
|
- block: add lockdep to queue_limits_commit_update() (Ming Lei) [RHEL-144763]
|
|
- nbd: defer config unlock in nbd_genl_connect (Ming Lei) [RHEL-144763]
|
|
- block: clean up indentation in blk_rq_map_iter_init() (Ming Lei) [RHEL-144763]
|
|
- nbd: defer config put in recv_work (Ming Lei) [RHEL-144763]
|
|
- block: introduce bdev_zone_start() (Ming Lei) [RHEL-144763]
|
|
- block: refactor disk_zone_wplug_sync_wp_offset() (Ming Lei) [RHEL-144763]
|
|
- block: improve blk_zone_wp_offset() (Ming Lei) [RHEL-144763]
|
|
- block: don't return 1 for the fallback case in blkdev_get_zone_info (Ming Lei) [RHEL-144763]
|
|
- nvme: remove virtual boundary for sgl capable devices (Ming Lei) [RHEL-144763]
|
|
- block: accumulate memory segment gaps per bio (Ming Lei) [RHEL-144763]
|
|
- virtio_blk: NULL out vqs to avoid double free on failed resume (Ming Lei) [RHEL-144763]
|
|
- null_blk: allow byte aligned memory offsets (Ming Lei) [RHEL-144763]
|
|
- null_blk: single kmap per bio segment (Ming Lei) [RHEL-144763]
|
|
- null_blk: use memzero_page() (Ming Lei) [RHEL-144763]
|
|
- null_blk: consistently use blk_status_t (Ming Lei) [RHEL-144763]
|
|
- null_blk: simplify copy_from_nullb (Ming Lei) [RHEL-144763]
|
|
- ublk: use rq_for_each_segment() for user copy (Ming Lei) [RHEL-144763]
|
|
- ublk: use copy_{to,from}_iter() for user copy (Ming Lei) [RHEL-144763]
|
|
- block: fix cached zone reporting after zone append was used (Ming Lei) [RHEL-144763]
|
|
- block: don't leak disk->zones_cond for !disk_need_zone_resources (Ming Lei) [RHEL-144763]
|
|
- xfs: use blkdev_report_zones_cached() (Ming Lei) [RHEL-144763]
|
|
- block: add zone write plug condition to debugfs zone_wplugs (Ming Lei) [RHEL-144763]
|
|
- block: improve zone_wplugs debugfs attribute output (Ming Lei) [RHEL-144763]
|
|
- block: introduce BLKREPORTZONESV2 ioctl (Ming Lei) [RHEL-144763]
|
|
- block: introduce blkdev_report_zones_cached() (Ming Lei) [RHEL-144763]
|
|
- block: introduce blkdev_get_zone_info() (Ming Lei) [RHEL-144763]
|
|
- block: refactor blkdev_report_zones() code (Ming Lei) [RHEL-144763]
|
|
- block: track zone conditions (Ming Lei) [RHEL-144763]
|
|
- block: use zone condition to determine conventional zones (Ming Lei) [RHEL-144763]
|
|
- block: reorganize struct blk_zone_wplug (Ming Lei) [RHEL-144763]
|
|
- block: introduce disk_report_zone() (Ming Lei) [RHEL-144763]
|
|
- block: cleanup blkdev_report_zones() (Ming Lei) [RHEL-144763]
|
|
- block: freeze queue when updating zone resources (Ming Lei) [RHEL-144763]
|
|
- block: handle zone management operations completions (Ming Lei) [RHEL-144763]
|
|
- block: make bio auto-integrity deadlock safe (Ming Lei) [RHEL-144763]
|
|
- block: blocking mempool_alloc doesn't fail (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: make ublk_thread thread-local variable (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: set CPU affinity before thread initialization (Ming Lei) [RHEL-144763]
|
|
- ublk: use struct_size() for allocation (Ming Lei) [RHEL-144763]
|
|
- ublk: implement NUMA-aware memory allocation (Ming Lei) [RHEL-144763]
|
|
- ublk: reorder tag_set initialization before queue allocation (Ming Lei) [RHEL-144763]
|
|
- blktrace: add support for REQ_OP_WRITE_ZEROES tracing (Ming Lei) [RHEL-144763]
|
|
- drbd: replace kmap() with kmap_local_page() in receiver path (Ming Lei) [RHEL-144763]
|
|
- blktrace: for ftrace use correct trace format ver (Ming Lei) [RHEL-144763]
|
|
- blktrace: use debug print to report dropped events (Ming Lei) [RHEL-144763]
|
|
- blktrace: handle BLKTRACESETUP2 ioctl (Ming Lei) [RHEL-144763]
|
|
- blktrace: trace zone write plugging operations (Ming Lei) [RHEL-144763]
|
|
- blktrace: expose ZONE APPEND completions to blktrace (Ming Lei) [RHEL-144763]
|
|
- blktrace: add block trace commands for zone operations (Ming Lei) [RHEL-144763]
|
|
- blktrace: move ftrace blk_io_tracer to blk_io_trace2 (Ming Lei) [RHEL-144763]
|
|
- blktrace: move trace_note to blk_io_trace2 (Ming Lei) [RHEL-144763]
|
|
- blktrace: differentiate between blk_io_trace versions (Ming Lei) [RHEL-144763]
|
|
- blktrace: add definitions for struct blk_io_trace2 (Ming Lei) [RHEL-144763]
|
|
- blktrace: pass blk_user_trace2 to setup functions (Ming Lei) [RHEL-144763]
|
|
- blktrace: add definitions for blk_user_trace_setup2 (Ming Lei) [RHEL-144763]
|
|
- blktrace: split do_blk_trace_setup into two functions (Ming Lei) [RHEL-144763]
|
|
- blktrace: change the internal action to 64bit (Ming Lei) [RHEL-144763]
|
|
- blktrace: untangle if/else sequence in __blk_add_trace (Ming Lei) [RHEL-144763]
|
|
- blktrace: split out relaying a blktrace event (Ming Lei) [RHEL-144763]
|
|
- blktrace: factor out recording a blktrace event (Ming Lei) [RHEL-144763]
|
|
- blktrace: only calculate trace length once (Ming Lei) [RHEL-144763]
|
|
- block: rename min_segment_size (Ming Lei) [RHEL-144763]
|
|
- blk-mq: use struct_size() in kmalloc() (Ming Lei) [RHEL-144763]
|
|
- block/mq-deadline: Switch back to a single dispatch list (Ming Lei) [RHEL-144763]
|
|
- block/mq-deadline: Introduce dd_start_request() (Ming Lei) [RHEL-144763]
|
|
- nvme-multipath: fix lockdep WARN due to partition scan work (Ming Lei) [RHEL-144763]
|
|
- MAINTAINERS: correct git location for block layer tree (Ming Lei) [RHEL-144763]
|
|
- null_blk: set dma alignment to logical block size (Ming Lei) [RHEL-144763]
|
|
- blk-crypto: use BLK_STS_INVAL for alignment errors (Ming Lei) [RHEL-144763]
|
|
- block: make REQ_OP_ZONE_OPEN a write operation (Ming Lei) [RHEL-144763]
|
|
- block: fix op_is_zone_mgmt() to handle REQ_OP_ZONE_RESET_ALL (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: use blk_map_iter for p2p metadata (Ming Lei) [RHEL-144763]
|
|
- block: require LBA dma_alignment when using PI (Ming Lei) [RHEL-144763]
|
|
- block: Remove elevator_lock usage from blkg_conf frozen operations (Ming Lei) [RHEL-144763]
|
|
- blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests() (Ming Lei) [RHEL-144763]
|
|
- loop: remove redundant __GFP_NOWARN flag (Ming Lei) [RHEL-144763]
|
|
- block: move bio_iov_iter_get_bdev_pages to block/fops.c (Ming Lei) [RHEL-144763]
|
|
- iomap: open code bio_iov_iter_get_bdev_pages (Ming Lei) [RHEL-144763]
|
|
- block: rename bio_iov_iter_get_pages_aligned to bio_iov_iter_get_pages (Ming Lei) [RHEL-144763]
|
|
- block: remove bio_iov_iter_get_pages (Ming Lei) [RHEL-144763]
|
|
- block: Update a comment of disk statistics (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: enforce dma_alignment to ensure proper buffer validation (Ming Lei) [RHEL-144763]
|
|
- s390/dasd: Return BLK_STS_INVAL for EINVAL from do_dasd_request (Ming Lei) [RHEL-144763]
|
|
- ublk: remove redundant zone op check in ublk_setup_iod() (Ming Lei) [RHEL-144763]
|
|
- nvme: Use non zero KATO for persistent discovery connections (Ming Lei) [RHEL-144763]
|
|
- nvmet: add safety check for subsys lock (Ming Lei) [RHEL-144763]
|
|
- nvme-core: use nvme_is_io_ctrl() for I/O controller check (Ming Lei) [RHEL-144763]
|
|
- nvme-core: do ioccsz/iorcsz validation only for I/O controllers (Ming Lei) [RHEL-144763]
|
|
- nvme-core: add method to check for an I/O controller (Ming Lei) [RHEL-144763]
|
|
- blk-mq: Fix more tag iteration function documentation (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: fix behavior when fio is not installed (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_unmap_io() (Ming Lei) [RHEL-144763]
|
|
- ublk: pass ublk_io to __ublk_complete_rq() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_need_complete_req() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_check_commit_and_fetch() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't pass ublk_queue to ublk_fetch() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_config_io_buf() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_check_fetch_buf() (Ming Lei) [RHEL-144763]
|
|
- ublk: pass q_id and tag to __ublk_check_and_get_req() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_daemon_register_io_buf() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't access ublk_queue in ublk_register_io_buf() (Ming Lei) [RHEL-144763]
|
|
- ublk: pass ublk_device to ublk_register_io_buf() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't dereference ublk_queue in ublk_check_and_get_req() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't dereference ublk_queue in ublk_ch_uring_cmd_local() (Ming Lei) [RHEL-144763]
|
|
- ublk: add helpers to check ublk_device flags (Ming Lei) [RHEL-144763]
|
|
- ublk: don't pass ublk_queue to __ublk_fail_req() (Ming Lei) [RHEL-144763]
|
|
- ublk: don't pass q_id to ublk_queue_cmd_buf_size() (Ming Lei) [RHEL-144763]
|
|
- ublk: remove ubq check in ublk_check_and_get_req() (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: add test to verify that feat_map is complete (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: kublk: add UBLK_F_BUF_REG_OFF_DAEMON to feat_map (Ming Lei) [RHEL-144763]
|
|
- selftests: ublk: kublk: simplify feat_map definition (Ming Lei) [RHEL-144763]
|
|
- blk-throttle: fix throtl_data leak during disk release (Ming Lei) [RHEL-144763]
|
|
- blk-mq: Fix the blk_mq_tagset_busy_iter() documentation (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: Add TUXEDO IBS Gen8 to Samsung sleep quirk (Ming Lei) [RHEL-144763]
|
|
- block/mq-deadline: Remove the redundant rb_entry_rq in the deadline_from_pos(). (Ming Lei) [RHEL-144763]
|
|
- nvme-fc: use lock accessing port_state and rport state (Ming Lei) [RHEL-144763]
|
|
- nvmet-fcloop: call done callback even when remote port is gone (Ming Lei) [RHEL-144763]
|
|
- nvmet-fc: avoid scheduling association deletion twice (Ming Lei) [RHEL-144763]
|
|
- nvmet-fc: move lsop put work to nvmet_fc_ls_req_op (Ming Lei) [RHEL-144763]
|
|
- blk-mq: fix stale nr_requests documentation (Ming Lei) [RHEL-144763]
|
|
- blk-mq: remove blk_mq_tag_update_depth() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: fix potential deadlock while nr_requests grown (Ming Lei) [RHEL-144763]
|
|
- blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: split bitmap grow and resize case in blk_mq_update_nr_requests() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: cleanup shared tags case in blk_mq_update_nr_requests() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: convert to serialize updating nr_requests with update_nr_hwq_lock (Ming Lei) [RHEL-144763]
|
|
- blk-mq: check invalid nr_requests in queue_requests_store() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: remove useless checkings in blk_mq_update_nr_requests() (Ming Lei) [RHEL-144763]
|
|
- blk-mq: remove useless checking in queue_requests_store() (Ming Lei) [RHEL-144763]
|
|
- ublk: consolidate nr_io_ready and nr_queues_ready (Ming Lei) [RHEL-144763]
|
|
- block: fix ordering of recursive split IO (Ming Lei) [RHEL-144763]
|
|
- block: skip unnecessary checks for split bio (Ming Lei) [RHEL-144763]
|
|
- blk-crypto: convert to use bio_submit_split_bioset() (Ming Lei) [RHEL-144763]
|
|
- block: factor out a helper bio_submit_split_bioset() (Ming Lei) [RHEL-144763]
|
|
- blk-crypto: fix missing blktrace bio split events (Ming Lei) [RHEL-144763]
|
|
- blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIME (Ming Lei) [RHEL-144763]
|
|
- block: initialize bio issue time in blk_mq_submit_bio() (Ming Lei) [RHEL-144763]
|
|
- block: cleanup bio_issue (Ming Lei) [RHEL-144763]
|
|
- blk-map: provide the bdev to bio if one exists (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: bring back p2p request flags (Ming Lei) [RHEL-144763]
|
|
- blk-integrity: enable p2p source and destination (Ming Lei) [RHEL-144763]
|
|
- iov_iter: remove iov_iter_is_aligned (Ming Lei) [RHEL-144763]
|
|
- blk-integrity: use simpler alignment check (Ming Lei) [RHEL-144763]
|
|
- block: remove bdev_iter_is_aligned (Ming Lei) [RHEL-144763]
|
|
- iomap: simplify direct io validity check (Ming Lei) [RHEL-144763]
|
|
- block: simplify direct io validity check (Ming Lei) [RHEL-144763]
|
|
- block: align the bio after building it (Ming Lei) [RHEL-144763]
|
|
- block: add size alignment to bio_iov_iter_get_pages (Ming Lei) [RHEL-144763]
|
|
- block: check for valid bio while splitting (Ming Lei) [RHEL-144763]
|
|
- drivers/block: WQ_PERCPU added to alloc_workqueue users (Ming Lei) [RHEL-144763]
|
|
- drivers/block: replace use of system_unbound_wq with system_dfl_wq (Ming Lei) [RHEL-144763]
|
|
- drivers/block: replace use of system_wq with system_percpu_wq (Ming Lei) [RHEL-144763]
|
|
- block: floppy: Replace kmalloc() + copy_from_user() with memdup_user() (Ming Lei) [RHEL-144763]
|
|
- block: remove the bi_inline_vecs variable sized array from struct bio (Ming Lei) [RHEL-144763]
|
|
- block: add a bio_init_inline helper (Ming Lei) [RHEL-144763]
|
|
- blk-throttle: fix access race during throttle policy activation (Ming Lei) [RHEL-144763]
|
|
- null_blk: Fix the description of the cache_size module argument (Ming Lei) [RHEL-144763]
|
|
- ublk: inline __ublk_ch_uring_cmd() (Ming Lei) [RHEL-144763]
|
|
- block: use int to store blk_stack_limits() return value (Ming Lei) [RHEL-144763]
|
|
- blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx (Ming Lei) [RHEL-144763]
|
|
- floppy: Sort headers alphabetically (Ming Lei) [RHEL-144763]
|
|
- floppy: Replace custom SZ_64K constant (Ming Lei) [RHEL-144763]
|
|
- floppy: Remove unused CROSS_64KB() macro from arch/ code (Ming Lei) [RHEL-144763]
|
|
- block: Move a misplaced comment in queue_wb_lat_store() (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: convert metadata mapping to dma iter (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: create common sgl unmapping helper (Ming Lei) [RHEL-144763]
|
|
- blk-integrity: use iterator for mapping sg (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: add scatter-less integrity data DMA mapping (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: move common dma start code to a helper (Ming Lei) [RHEL-144763]
|
|
- blk-mq: remove REQ_P2PDMA flag (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: require unmap caller provide p2p map type (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: provide the bio_vec array being iterated (Ming Lei) [RHEL-144763]
|
|
- blk-mq-dma: create blk_map_iter type (Ming Lei) [RHEL-144763]
|
|
- block: switch ->getgeo() to struct gendisk (Ming Lei) [RHEL-144763]
|
|
- scsi: switch ->bios_param() to passing gendisk (Ming Lei) [RHEL-144763]
|
|
- scsi: switch scsi_bios_ptable() and scsi_partsize() to gendisk (Ming Lei) [RHEL-144763]
|
|
- nvme: fix PI insert on write (Ming Lei) [RHEL-144763]
|
|
- blk-zoned: Fix a lockdep complaint about recursive locking (Ming Lei) [RHEL-144763]
|
|
- loop: fix zero sized loop for block special file (Ming Lei) [RHEL-144763]
|
|
- block: tone down bio_check_eod (Ming Lei) [RHEL-144763]
|
|
- loop: use vfs_getattr_nosec for accurate file size (Ming Lei) [RHEL-144763]
|
|
- loop: Consolidate size calculation logic into lo_calculate_size() (Ming Lei) [RHEL-144763]
|
|
- block: remove newlines from the warnings in blk_validate_integrity_limits (Ming Lei) [RHEL-144763]
|
|
- block: handle pi_tuple_size in queue_limits_stack_integrity (Ming Lei) [RHEL-144763]
|
|
- fs: add ioctl to query metadata and protection info capabilities (Ming Lei) [RHEL-144763]
|
|
- nvme: set pi_offset only when checksum type is not BLK_INTEGRITY_CSUM_NONE (Ming Lei) [RHEL-144763]
|
|
- block: introduce pi_tuple_size field in blk_integrity (Ming Lei) [RHEL-144763]
|
|
- block: rename tuple_size field in blk_integrity to metadata_size (Ming Lei) [RHEL-144763]
|
|
- block: always allocate integrity buffer when required (Ming Lei) [RHEL-144763]
|
|
- Docs: admin-guide: Correct spelling mistake (Ming Lei) [RHEL-144763]
|
|
- blk-wbt: doc: Update the doc of the wbt_lat_usec interface (Ming Lei) [RHEL-144763]
|
|
- blk-wbt: Eliminate ambiguity in the comments of struct rq_wb (Ming Lei) [RHEL-144763]
|
|
- blk-wbt: Optimize wbt_done() for non-throttled writes (Ming Lei) [RHEL-144763]
|
|
- blk-cgroup: remove redundant __GFP_NOWARN (Ming Lei) [RHEL-144763]
|
|
- block, bfq: remove redundant __GFP_NOWARN (Ming Lei) [RHEL-144763]
|
|
- drbd: Remove the open-coded page pool (Ming Lei) [RHEL-144763]
|
|
- nvmet: exit debugfs after discovery subsystem exits (Ming Lei) [RHEL-144763]
|
|
- block, bfq: Reorder struct bfq_iocq_bfqq_data (Ming Lei) [RHEL-144763]
|
|
- block: ensure discard_granularity is zero when discard is not supported (Ming Lei) [RHEL-144763]
|
|
- block: Fix default IO priority if there is no IO context (Ming Lei) [RHEL-144763]
|
|
- nvme: fix various comment typos (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: fix leak on sgl setup error (Ming Lei) [RHEL-144763]
|
|
- nvmet: initialize discovery subsys after debugfs is initialized (Ming Lei) [RHEL-144763]
|
|
- nvme: add capability to connect to an administrative controller (Ming Lei) [RHEL-144763]
|
|
- nvmet: add support for FDP in fabrics passthru path (Ming Lei) [RHEL-144763]
|
|
- blk-ioc: don't hold queue_lock for ioc_lookup_icq() (Ming Lei) [RHEL-144763]
|
|
- block: Enforce power-of-2 physical block size (Ming Lei) [RHEL-144763]
|
|
- block: avoid possible overflow for chunk_sectors check in blk_stack_limits() (Ming Lei) [RHEL-144763]
|
|
- block: Improve read ahead size for rotational devices (Ming Lei) [RHEL-144763]
|
|
- cdrom: Call cdrom_mrw_exit from cdrom_release function (Ming Lei) [RHEL-144763]
|
|
- sunvdc: Balance device refcount in vdc_port_mpgroup_check (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: try function level reset on init failure (Ming Lei) [RHEL-144763]
|
|
- nvmet: pci-epf: Do not complete commands twice if nvmet_req_init() fails (Ming Lei) [RHEL-144763]
|
|
- nvme: fix typo in status code constant for self-test in progress (Ming Lei) [RHEL-144763]
|
|
- nvmet: remove redundant assignment of error code in nvmet_ns_enable() (Ming Lei) [RHEL-144763]
|
|
- nvme: fix incorrect variable in io cqes error message (Ming Lei) [RHEL-144763]
|
|
- nvme: fix multiple spelling and grammar issues in host drivers (Ming Lei) [RHEL-144763]
|
|
- block: fix blk_zone_append_update_request_bio() kernel-doc (Ming Lei) [RHEL-144763]
|
|
- block: add trace messages to zone write plugging (Ming Lei) [RHEL-144763]
|
|
- block: add tracepoint for blkdev_zone_mgmt (Ming Lei) [RHEL-144763]
|
|
- block: add tracepoint for blk_zone_update_request_bio (Ming Lei) [RHEL-144763]
|
|
- block: split blk_zone_update_request_bio into two functions (Ming Lei) [RHEL-144763]
|
|
- blktrace: add zoned block commands to blk_fill_rwbs (Ming Lei) [RHEL-144763]
|
|
- block: floppy: Fix uninitialized use of outparam (Ming Lei) [RHEL-144763]
|
|
- loop: Avoid updating block size under exclusive owner (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: don't allocate dma_vec for IOVA mappings (Ming Lei) [RHEL-144763]
|
|
- drbd: add missing kref_get in handle_write_conflicts (Ming Lei) [RHEL-144763]
|
|
- block: mtip32xx: Fix usage of dma_map_sg() (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: fix dma unmapping when using PRPs and not using the IOVA mapping (Ming Lei) [RHEL-144763]
|
|
- zram: pass buffer offset to zcomp_available_show() (Ming Lei) [RHEL-144763]
|
|
- block: zram: replace scnprintf() with sysfs_emit() in *_show() functions (Ming Lei) [RHEL-144763]
|
|
- virtio: blk/scsi: use block layer helpers to calculate num of queues (Ming Lei) [RHEL-144763]
|
|
- scsi: use block layer helpers to calculate num of queues (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: use block layer helpers to calculate num of queues (Ming Lei) [RHEL-144763]
|
|
- lib/group_cpus: Let group_cpu_evenly() return the number of initialized masks (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: rework the build time assert for NVME_MAX_NR_DESCRIPTORS (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: replace NVME_MAX_KB_SZ with NVME_MAX_BYTE (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: convert the data mapping to blk_rq_dma_map (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: remove superfluous arguments (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: merge the simple PRP and SGL setup into a common helper (Ming Lei) [RHEL-144763]
|
|
- nvme-pci: refactor nvme_pci_use_sgls (Ming Lei) [RHEL-144763]
|
|
- block: add scatterlist-less DMA mapping helpers (Ming Lei) [RHEL-144763]
|
|
- block: don't merge different kinds of P2P transfers in a single bio (Ming Lei) [RHEL-144763]
|
|
- block: Increase BLK_DEF_MAX_SECTORS_CAP (Ming Lei) [RHEL-144763]
|
|
- block/bdev: lift block size restrictions to 64k (Ming Lei) [RHEL-144763]
|
|
- block/bdev: enable large folio support for large logical block sizes (Ming Lei) [RHEL-144763]
|
|
- fs/buffer fs/mpage: remove large folio restriction (Ming Lei) [RHEL-144763]
|
|
- fs/mpage: use blocks_per_folio instead of blocks_per_page (Ming Lei) [RHEL-144763]
|
|
- fs/mpage: avoid negative shift for large blocksize (Ming Lei) [RHEL-144763]
|
|
- fs/buffer: remove batching from async read (Ming Lei) [RHEL-144763]
|
|
- fs/buffer: simplify block_read_full_folio() with bh_offset() (Ming Lei) [RHEL-144763]
|
|
- block: don't autoload drivers on stat (Ming Lei) [RHEL-144763]
|
|
- platform/x86/amd/pmf: Use ring buffer to store custom BIOS input values (Steve Best) [RHEL-130539]
|
|
- platform/x86/amd/pmf: Add BIOS_INPUTS_MAX macro to replace hardcoded array size (Steve Best) [RHEL-130539]
|
|
- platform/x86/amd/pmf: Use explicit SET_CMD/GET_CMD flags in amd_pmf_send_cmd() (Steve Best) [RHEL-130539]
|
|
- crypto: ccp - Send PSP_CMD_TEE_RING_DESTROY when PSP_CMD_TEE_RING_INIT fails (Steve Best) [RHEL-130538]
|
|
- crypto: ccp - Factor out ring destroy handling to a helper (Steve Best) [RHEL-130538]
|
|
- crypto: ccp - Add an S4 restore flow (Steve Best) [RHEL-130538]
|
|
- crypto: ccp - Declare PSP dead if PSP_CMD_TEE_RING_INIT fails (Steve Best) [RHEL-130538]
|
|
- platform/x86/amd/pmf: Prevent TEE errors after hibernate (Steve Best) [RHEL-130538]
|
|
- redhat: genlog: add new JIRA cloud server hostname (Jan Stancek)
|
|
- nfsd: use correct loop termination in nfsd4_revoke_states() (Olga Kornievskaia) [RHEL-152916]
|
|
- nfsd: check that server is running in unlock_filesystem (Olga Kornievskaia) [RHEL-152916]
|
|
|
|
* Tue Mar 10 2026 Alexandra Hájková <ahajkova@redhat.com> [6.12.0-213.el10]
|
|
- powerpc/smp: Expose die_id and die_cpumask (Mamatha Inamdar) [RHEL-138728]
|
|
- smb: client: fix broken multichannel with krb5+signing (Paulo Alcantara) [RHEL-151838]
|
|
- smb: client: fix regression with signing (Paulo Alcantara) [RHEL-151838]
|
|
- allow finish_no_open(file, ERR_PTR(-E...)) (Roberto Bergantinos Corpas) [RHEL-153335]
|
|
- redhat/configs: automotive: enable NVMEM_S32G_OCOTP (Jared Kangas) [RHEL-152643]
|
|
- arm64: dts: s32g: Add device tree information for the OCOTP driver (Jared Kangas) [RHEL-152643]
|
|
- nvmem: s32g-ocotp: Add driver for S32G OCOTP (Jared Kangas) [RHEL-152643]
|
|
- dt-bindings: nvmem: Add the nxp,s32g-ocotp yaml file (Jared Kangas) [RHEL-152643]
|
|
- redhat/scripts: remove remnants of git notes usage and dead code (Jan Stancek)
|
|
- vsock: document write-once behavior of the child_ns_mode sysctl (Stefano Garzarella) [RHEL-151754]
|
|
- vsock: lock down child_ns_mode as write-once (Stefano Garzarella) [RHEL-151754]
|
|
- vsock: Use container_of() to get net namespace in sysctl handlers (Stefano Garzarella) [RHEL-151754]
|
|
- vsock: document namespace mode sysctls (Stefano Garzarella) [RHEL-151754]
|
|
- nvme: fix memory leak in quirks_param_set() (Maurizio Lombardi) [RHEL-148483]
|
|
- ice: dpll: fix rclk pin state get and misplaced header macros (Ivan Vecera) [RHEL-146369]
|
|
- ice: dpll: Support E825-C SyncE and dynamic pin discovery (Ivan Vecera) [RHEL-146369]
|
|
- drivers: Add support for DPLL reference count tracking (Ivan Vecera) [RHEL-146369]
|
|
- redhat: configs: Enable CONFIG_DPLL_REFCNT_TRACKER for debug (Ivan Vecera) [RHEL-146369]
|
|
- dpll: Add reference count tracking support (Ivan Vecera) [RHEL-146369]
|
|
- dpll: Enhance and consolidate reference counting logic (Ivan Vecera) [RHEL-146369]
|
|
- dpll: zl3073x: Add support for mux pin type (Ivan Vecera) [RHEL-146369]
|
|
- dpll: Support dynamic pin index allocation (Ivan Vecera) [RHEL-146369]
|
|
- dpll: Add notifier chain for dpll events (Ivan Vecera) [RHEL-146369]
|
|
- dpll: zl3073x: Associate pin with fwnode handle (Ivan Vecera) [RHEL-146369]
|
|
- dpll: Allow associating dpll pin with a firmware node (Ivan Vecera) [RHEL-146369]
|
|
- dpll: zl3073x: Fix output pin phase adjustment sign (Ivan Vecera) [RHEL-146257]
|
|
- redhat: set defaults for RHEL 10.2 (Scott Weaver)
|
|
|
|
* Mon Mar 02 2026 CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> [6.12.0-212.el10]
|
|
- cifs: some missing initializations on replay (Paulo Alcantara) [RHEL-150776]
|
|
- cifs: remove unnecessary tracing after put tcon (Paulo Alcantara) [RHEL-150776]
|
|
- smb: client: fix data corruption due to racy lease checks (Paulo Alcantara) [RHEL-150776]
|
|
- smb: client: fix regression with mount options parsing (Paulo Alcantara) [RHEL-150776]
|
|
- redhat: bump RHEL_MINOR for 10.3 (Alexandra Hájková)
|
|
- net: use NUMA drop counters for softnet_data.dropped (Guillaume Nault) [RHEL-145975]
|
|
- inet: raw: add drop_counters to raw sockets (Guillaume Nault) [RHEL-145975]
|
|
- udp: add drop_counters to udp socket (Guillaume Nault) [RHEL-145975]
|
|
- net: add sk->sk_drop_counters (Guillaume Nault) [RHEL-145975]
|
|
- net: add sk_drops_skbadd() helper (Guillaume Nault) [RHEL-145975]
|
|
- net: add sk_drops_read(), sk_drops_inc() and sk_drops_reset() helpers (Guillaume Nault) [RHEL-145975]
|
|
- NFSD: Fix permission check for read access to executable-only files (Scott Mayhew) [RHEL-135095]
|
|
- fs/proc/task_mmu: fix PAGE_IS_PFNZERO detection for the huge zero folio (Audra Mitchell) [RHEL-97168]
|
|
- configs: riscv: Enable StarFive and ESWIN drivers (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: Fix memory leak in module_frob_arch_sections() (Jennifer Berringer) [RHEL-129062]
|
|
- reset: eswin: Add eic7700 reset driver (Jennifer Berringer) [RHEL-129062]
|
|
- dt-bindings: reset: eswin: Documentation for eic7700 SoC (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: dts: eswin: add HiFive Premier P550 board device tree (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: dts: add initial support for EIC7700 SoC (Jennifer Berringer) [RHEL-129062]
|
|
- dt-bindings: riscv: Add SiFive HiFive Premier P550 board (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: Add Kconfig option for ESWIN platforms (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: add Andes SoC family Kconfig support (Jennifer Berringer) [RHEL-129062]
|
|
- pinctrl: eswin: Fix regulator error check and Kconfig dependency (Jennifer Berringer) [RHEL-129062]
|
|
- pinctrl: eswin: Fix unsigned comparison to less than zero issue (Jennifer Berringer) [RHEL-129062]
|
|
- pinctrl: eswin: Add EIC7700 pinctrl driver (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: module: Optimize PLT/GOT entry counting (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: module: Allocate PLT entries for R_RISCV_PLT32 (Jennifer Berringer) [RHEL-129062]
|
|
- riscv: module: Fix out-of-bounds relocation access (Jennifer Berringer) [RHEL-129062] {CVE-2025-37975}
|
|
- cache: sifive_ccache: Add ESWIN EIC7700 support (Jennifer Berringer) [RHEL-129062]
|
|
|
|
|
|
###
|
|
# The following Emacs magic makes C-c C-e use UTC dates.
|
|
# Local Variables:
|
|
# rpm-change-log-uses-utc: t
|
|
# End:
|
|
###
|