# 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 centos %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-automotive %global gemini 0 # Include Fedora files %global include_fedora 0 # Include RHEL files %global include_rhel 0 # Include RT files %global include_rt 0 # Include Automotive files %global include_automotive 1 # 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 .qcom %define specrpmversion 6.12.0 %define specversion 6.12.0 %define patchversion 6.12 %define pkgrelease 150.qcom %define kversion 6 %define tarfile_release 6.12.0-150.qcom.el10iv # This is needed to do merge window version magic %define patchlevel 12 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 150%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.12.0-150.qcom.el10iv # 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 %define _with_automotive_build 1 # 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 in the # rpmbuild command, or by forcing these values to 1. # Where enabled by default, they can be disabled by using --without 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 noarch %define with_kernel_abi_stablelists 0 %endif # Overrides for generic default options # only package docs noarch %ifnarch noarch %define with_doc 0 %define doc_build_fail true %endif %if 0%{?fedora} # don't do debug builds on anything but 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 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 %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 %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 %if 0%{?centos} %define pesign_name_0 centossecureboot201 %else %ifarch x86_64 aarch64 %define pesign_name_0 redhatsecureboot801 %endif %ifarch s390x %define pesign_name_0 redhatsecureboot302 %endif %ifarch ppc64le %define pesign_name_0 redhatsecureboot701 %endif %endif # 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 # 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 # Temporary use redhatsecureboot504 for x86 UKI, see RHEL-122230 Source153: redhatsecureboot504.cer Source100: rheldup3.x509 Source101: rhelkpatch1.x509 Source102: nvidiagpuoot001.x509 Source103: rhelimaca1.x509 Source104: rhelima.x509 Source105: rhelima_centos.x509 Source106: fedoraimaca.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 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 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 %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 ## 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 # END OF PATCH DEFINITIONS %description The %{package_name} meta package # This macro does requires, provides, conflicts, obsoletes for a kernel package. # %%kernel_reqprovconf [-o] # It uses any kernel__conflicts and kernel__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 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 %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 Red Hat Enterprise Linux kernel ABI symbol stablelists AutoReqProv: no %description -n %{package_name}-abi-stablelists The kABI package contains information pertaining to the Red Hat Enterprise Linux kernel ABI, including lists of kernel symbols that are needed by external Linux kernel modules, and a yum plugin to aid enforcement. %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 Red Hat Enterprise Linux kernel, suitable for the kabi-dw tool. %endif # # This macro creates a kernel--debuginfo package. # %%kernel_debuginfo_package # # Explanation of the find_debuginfo_opts: We build multiple kernels (debug, # 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--devel package. # %%kernel_devel_package [-m] # %define kernel_devel_package(m) \ %package %{?1:%{1}-}devel\ Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\ Provides: %{name}%{?1:-%{1}}-devel-%{_target_cpu} = %{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--devel-matched package that # requires both the core and devel packages locked on the same version. # %%kernel_devel_matched_package [-m] # %define kernel_devel_matched_package(m) \ %package %{?1:%{1}-}devel-matched\ Summary: Meta package to install matching core and devel packages for a given %{?2:%{2} }kernel\ Requires: %{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--modules-internal package. # %%kernel_modules_internal_package # %define kernel_modules_internal_package() \ %package %{?1:%{1}-}modules-internal\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ Group: System Environment/Kernel\ Provides: %{name}%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{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}}\ AutoReq: no\ AutoProv: yes\ %description %{?1:%{1}-}modules-internal\ This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\ %{nil} # # This macro creates a kernel--modules-extra package. # %%kernel_modules_extra_package [-m] # %define kernel_modules_extra_package(m) \ %package %{?1:%{1}-}modules-extra\ Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ Provides: %{name}%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{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--modules package. # %%kernel_modules_package [-m] # %define kernel_modules_package(m) \ %package %{?1:%{1}-}modules\ Summary: kernel modules to match the %{?2:%{2}-}core kernel\ Provides: %{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--modules-core package. # %%kernel_modules_core_package [-m] # %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- meta package. # %%kernel_meta_package # %define kernel_meta_package() \ %package %{1}\ summary: kernel meta-package for the %{1} kernel\ Requires: %{name}-%{1}-core-uname-r = %{KVERREL}%{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- and its -devel and -debuginfo too. # %%define variant_summary The Linux kernel compiled for # %%kernel_variant_package [-n ] [-m] [-o] # -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--modules-partner package. # %%kernel_modules_partner_package # %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 Red Hat 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 %{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 cat rheldup3.pem rhelkpatch1.pem nvidiagpuoot001.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="Red Hat Enterprise Linux %{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 %if 0%{?centos} UKI_secureboot_name=centossecureboot204 UKI_secureboot_cert=%{_datadir}/pki/sb-certs/secureboot-uki-virt-%{_arch}.cer %else # RHEL only builds UKI for x86 UKI_secureboot_name=redhatsecureboot504 UKI_secureboot_cert=%{SOURCE153} %endif %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 < $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/forwarding net/mptcp net/netfilter net/packetdrill tc-testing memfd drivers/net/hw iommu cachestat pid_namespace rlimits timens pidfd" %{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/forwarding selftests pushd tools/testing/selftests/net/forwarding find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; popd # install net/mptcp selftests pushd tools/testing/selftests/net/mptcp find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/mptcp/{} \; popd # install tc-testing selftests pushd tools/testing/selftests/tc-testing find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; popd # install 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 %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 [] # 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 [] # %define kernel_modules_extra_post() \ %{expand:%%post %{?1:%{1}-}modules-extra}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules-extra}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # # This macro defines a %%post script for a kernel*-modules-internal package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_internal_post [] # %define kernel_modules_internal_post() \ %{expand:%%post %{?1:%{1}-}modules-internal}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules-internal}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ %{nil} # # 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 [] # %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 [] # %define kernel_modules_post() \ %{expand:%%post %{?1:%{1}-}modules}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ if [ ! -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}}"\ dracut -f --kver "%{KVERREL}%{?1:+%{1}}" || exit $?\ fi\ %{nil} # # This macro defines a %%post script for a kernel*-modules-core package. # %%kernel_modules_core_post [] # %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 ] [-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 ] [-r ] # More text can follow to go at the end of this variant's %%post. # %define kernel_variant_post(v:r:) \ %{expand:%%kernel_devel_post %{?-v*}}\ %{expand:%%kernel_modules_post %{?-v*}}\ %{expand:%%kernel_modules_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 ] -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] # %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 * Thu Nov 06 2025 Eric Chanudet [6.12.0-150.qcom.el10iv] - net: stmmac: dwmac-qcom-ethqos: Enable SCMI ETH and deep sleep support (Suraj Jaiswal) - redhat/configs: automotive: switch back ufs-qcom to builtin (Eric Chanudet) - scsi: ufs: qcom: fix remove callback (Eric Chanudet) - PENDING: scsi: ufs: qcom: Enable sa8255p platform (Eric Chanudet) - redhat/configs: automotive: switch back pinctrl_msm and pinctrl_sa8775p to builtin (Eric Chanudet) - PENDING: pinctrl: qcom: sa8775p: Add PM suspend callbacks (Eric Chanudet) - PENDING: drivers: pinctrl: Add support for context save/restore (Eric Chanudet) - PENDING: pinctrl: sa8775p: Enable egpio function for pingroups (Eric Chanudet) - PENDING: pinctrl: sa8775p: Add support for SA8255p SoC (Eric Chanudet) - PENDING: pinctrl: sa8775p: Update function and group binding (Eric Chanudet) - redhat/configs: builtin QCOM_GENI_SE/SERIAL_QCOM_GENI (Eric Chanudet) - PENDING: serial: qcom-geni: Enable Serial on SA8255p platform (Praveen Talari) - PENDING: soc: qcom: geni-se: Enable QUPs on SA8255p Qualcomm platforms. (Praveen Talari) - OPP: Add dev_pm_opp_set_level() (Eric Chanudet) - redhat/configs: Re-enable Raspberry Pi support in automotive (Radu Rendec) [RHEL-122494] - spi: ljca: Remove Wentong's e-mail address (Mattijs Korpershoek) [RHEL-104570] - spi: rpc-if: Add resume support for RZ/G3E (Mattijs Korpershoek) [RHEL-104570] - spi: rpc-if: Drop deprecated SIMPLE_DEV_PM_OPS (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: Add OCT-DTR mode support (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: add the support for sample data from DQS pad (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: Add the DDR LUT command support (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: set back to dll override mode when clock rate < 100MHz (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: extract function nxp_fspi_dll_override() (Mattijs Korpershoek) [RHEL-104570] - spi: mt65xx: add dual and quad mode for standard spi device (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: simplify clock handling by using devm_clk_get_enabled() (Mattijs Korpershoek) [RHEL-104570] - spi: rename SPI_CS_CNT_MAX => SPI_DEVICE_CS_CNT_MAX (Mattijs Korpershoek) [RHEL-104570] - spi: reduce device chip select limit again (Mattijs Korpershoek) [RHEL-104570] - spi: don't check spi_controller::num_chipselect when parsing a dt device (Mattijs Korpershoek) [RHEL-104570] - spi: drop check for validity of device chip selects (Mattijs Korpershoek) [RHEL-104570] - spi: move unused device CS initialization to __spi_add_device() (Mattijs Korpershoek) [RHEL-104570] - spi: keep track of number of chipselects in spi_device (Mattijs Korpershoek) [RHEL-104570] - spi: fix return code when spi device has too many chipselects (Mattijs Korpershoek) [RHEL-104570] - spi: Group CS related fields in struct spi_device (Mattijs Korpershoek) [RHEL-104570] - spi: amlogic: Fix error checking on regmap_write call (Mattijs Korpershoek) [RHEL-104570] - spi: omap2-mcspi: drive SPI_CLK on transfer_setup() (Mattijs Korpershoek) [RHEL-104570] - serial: qcom-geni: Load UART qup Firmware from linux side (Mattijs Korpershoek) [RHEL-104570] - spi: geni-qcom: Load spi qup Firmware from linux side (Mattijs Korpershoek) [RHEL-104570] - soc: qcom: geni-se: Add support to load QUP SE Firmware via Linux subsystem (Mattijs Korpershoek) [RHEL-104570] - soc: qcom: geni-se: Cleanup register defines and update copyright (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: qcom: se-common: Add QUP Peripheral-specific properties for I2C, SPI, and SERIAL bus (Mattijs Korpershoek) [RHEL-104570] - spi: amlogic: add driver for Amlogic SPI Flash Controller (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: add Amlogic A113L2 SFC (Mattijs Korpershoek) [RHEL-104570] - redhat/configs: Disable CONFIG_SPI_VIRTIO in generic (Mattijs Korpershoek) [RHEL-104570] - SPI: Add virtio SPI driver (Mattijs Korpershoek) [RHEL-104570] - virtio-spi: Add virtio-spi.h (Mattijs Korpershoek) [RHEL-104570] - virtio: Add ID for virtio SPI (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Add support for sama7d65 QSPI (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: add support for SAM9X7 QSPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: add padcalib, 2xgclk, and dllon capabilities (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Use BIT() macros where possible (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Fix cqspi_setup_flash() (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Flush posted register writes before DAC access (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Flush posted register writes before INDAC access (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: unregister ECC engine on probe error and device remove (Mattijs Korpershoek) [RHEL-104570] - spi: mxs: fix "transfered"->"transferred" (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Report FIFO overflows as errors (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Increase target mode DMA buffer size (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Use whole page for DMA buffers (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Use non-coherent memory for DMA (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Stub out DMA functions (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-dspi: Store status directly in cur_msg->status (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-dspi: Avoid using -EINPROGRESS error code (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: samsung: Drop S3C2443 (Mattijs Korpershoek) [RHEL-104570] - spi: s3c64xx: Drop S3C2443 (Mattijs Korpershoek) [RHEL-104570] - spi: apple: Add "apple,t8103-spi" compatible (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Add compatible for S32G (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Parameterize reading num-cs from hardware (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Treat prescale_max == 0 as no erratum (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Constify devtype datas (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: lpspi: Document support for S32G (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Clear status register after disabling the module (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Set correct chip-select polarity bit (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Fix transmissions when using CONT (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: fsl-lpspi: Add i.MX94 support (Mattijs Korpershoek) [RHEL-104570] - spi: rb4xx: use devm for clk_prepare_enable (Mattijs Korpershoek) [RHEL-104570] - spi: rb4xx: add COMPILE_TEST support (Mattijs Korpershoek) [RHEL-104570] - spi: rb4xx: depend on OF (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Implement refcount to handle unbind during busy (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core-qspi: stop checking viability of op->max_freq in supports_op callback (Mattijs Korpershoek) [RHEL-104570] - spi: st: fix PM macros to use CONFIG_PM instead of CONFIG_PM_SLEEP (Mattijs Korpershoek) [RHEL-104570] - spi: s3c64xx: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: pxa2xx: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: mt65xx: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: SPISG: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Remove the use of dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: SPISG: Use devm_kcalloc() in aml_spisg_clk_init() (Mattijs Korpershoek) [RHEL-104570] - spi: offload trigger: adi-util-sigma-delta: clean up imports (Mattijs Korpershoek) [RHEL-104570] - MAINTAINERS: merge TRIGGER SOURCE sections (Mattijs Korpershoek) [RHEL-104570] - spi: spl022: use min_t() to improve code (Mattijs Korpershoek) [RHEL-104570] - spi: npcm-fiu: use min_t() to improve code (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: use min_t() to improve code (Mattijs Korpershoek) [RHEL-104570] - spi: remove unneeded 'fast_io' parameter in regmap_config (Mattijs Korpershoek) [RHEL-104570] - spi: mtk-snfi: Remove redundant semicolons (Mattijs Korpershoek) [RHEL-104570] - spi: bcm2835: Remove redundant semicolons (Mattijs Korpershoek) [RHEL-104570] - spi: loopback-test: Don't use %%pK through printk (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: remove 'clr*status' members of struct 'qpic_ecc' (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: remove unused 'dev' member of struct 'qpic_ecc' (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: handle 'use_ecc' parameter of qcom_spi_config_cw_read() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: avoid double assignment in qcom_spi_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Clamp too high speed_hz (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: fix calculating of ECC OOB regions' properties (Mattijs Korpershoek) [RHEL-104570] - spi: nxp-fspi: Remove error print for devm_add_action_or_reset() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: add spi_mem_adjust_op_freq() in spi_mem_supports_op() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Add missing kdoc argument (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: use correct CW_PER_PAGE value for OOB write (Mattijs Korpershoek) [RHEL-104570] - spi: cs42l43: Property entry should be a null-terminated array (Mattijs Korpershoek) [RHEL-104570] - spi: atmel: Add support for handling GCLK as a clock source (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: atmel,at91rm9200-spi: Add support for optional 'spi_gclk' clock (Mattijs Korpershoek) [RHEL-104570] - spi: atmel: simplify MR register update in cs_activate() (Mattijs Korpershoek) [RHEL-104570] - spi: sunplus: sp7021: Clean up coding style (Mattijs Korpershoek) [RHEL-104570] - spi: SPISG: Fix less than zero comparison on a u32 variable (Mattijs Korpershoek) [RHEL-104570] - spi: intel: Allow writeable MTD partition with module param (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: don't hardcode ECC steps (Mattijs Korpershoek) [RHEL-104570] - spi: spi-sg2044-nor: Add SPI-NOR controller for SG2042 (Mattijs Korpershoek) [RHEL-104570] - spi: spi-sg2044-nor: Add configurable chip_info (Mattijs Korpershoek) [RHEL-104570] - spi: spidev: Add an entry for the ABB spi sensors (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: trivial-devices: Document ABB sensors (Mattijs Korpershoek) [RHEL-104570] - spi: Add Amlogic SPISG driver (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: Add binding document of Amlogic SPISG controller (Mattijs Korpershoek) [RHEL-104570] - spi: gpio: Use explicit 'unsigned int' for parameter types (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Fix NULL vs IS_ERR() bug in stm32_ospi_get_resources() (Mattijs Korpershoek) [RHEL-104570] - spi: Add check for 8-bit transfer with 8 IO mode support (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: simplify bad block marker duplication (Mattijs Korpershoek) [RHEL-104570] - spi: xilinx: Fix block comment style and minor cleanups (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Convert to DEFINE_SIMPLE_DEV_PM_OPS() (Mattijs Korpershoek) [RHEL-104570] - spi: rspi: Convert to DEFINE_SIMPLE_DEV_PM_OPS() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Use of_reserved_mem_region_to_resource() for "memory-region" (Mattijs Korpershoek) [RHEL-104570] - redhat/configs: Disable CONFIG_SPI_RZV2H_RSPI (Mattijs Korpershoek) [RHEL-104570] - spi: Add driver for the RZ/V2H(P) RSPI IP (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: Document the RZ/V2H(P) RSPI (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: add support for 8 bits ECC strength (Mattijs Korpershoek) [RHEL-104570] - mtd: nand: qpic-common: add defines for ECC_MODE values (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: delete stray tabs in stm32h7_spi_data_idleness() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: fix sram pool free in probe error path (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: fix pointer-to-pointer variables usage (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: enable concurrent DMA read/write across SPI transfers (Mattijs Korpershoek) [RHEL-104570] - spi: offload trigger: add ADI Util Sigma-Delta SPI driver (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: trigger-source: add ADI Util Sigma-Delta SPI (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Clear completion counter before initiating transfer (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: Add support for per-instance DMA interrupt vectors (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core-qspi: Add regular transfers (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core-qspi: remove unused param from mchp_coreqspi_write_op() (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core-qspi: set min_speed_hz during probe (Mattijs Korpershoek) [RHEL-104570] - mtd: nand: qpic_common: use {cmd,data}_sgl_nitems for sg_init_table() (Mattijs Korpershoek) [RHEL-104570] - mtd: nand: qpic_common: prevent out of bounds access of BAM arrays (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: reallocate BAM transactions (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: finish converting register to FIELD_PREP (Mattijs Korpershoek) [RHEL-104570] - spi: falcon: mark falcon_sflash_xfer() as static (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: Check return value of devm_mutex_init() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: deprecate `st,spi-midi-ns` property (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: use STM32 DMA with STM32 MDMA to enhance DDR use (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: Check for cfg availability in stm32_spi_probe (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: Add SPI_READY mode to spi controller (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Revert unintended dependency change in config SPI_FSL_DSPI (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-qspi: Remove cache operations (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: Drop MSI-X usage as unsupported by DMA engine (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: clean up on error in probe() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mt65xx: Add support for MT6991 Dimensity 9400 SPI IPM (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: mediatek,spi-mt65xx: Add support for MT6991/MT8196 SPI (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: spi: add compatibles for mt7988 (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Use `devm_dma_request_chan()` (Mattijs Korpershoek) [RHEL-104570] - spi: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Make usage of reset_control_acquire/release() API (Mattijs Korpershoek) [RHEL-104570] - spi: offload: check offload ops existence before disabling the trigger (Mattijs Korpershoek) [RHEL-104570] - spi: loongson: Fix build warnings about export.h (Mattijs Korpershoek) [RHEL-104570] - spi: omap2-mcspi: Disable multi-mode when the previous message kept CS asserted (Mattijs Korpershoek) [RHEL-104570] - spi: omap2-mcspi: Disable multi mode when CS should be kept asserted after message (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: Fix error code in probe (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Take into account the actual maximum frequency (Mattijs Korpershoek) [RHEL-104570] - mtd: spinand: Enhance the logic when picking a variant (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Use picoseconds for calculating the op durations (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: remove 'qpic_snand_op' structure (Mattijs Korpershoek) [RHEL-104570] - spi: bcm63xx-hsspi: fix shared reset (Mattijs Korpershoek) [RHEL-104570] - spi: bcm63xx-spi: fix shared reset (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: document the limited bit error reporting capability (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: Fix Probe failure with Dual SPI instance with INTx interrupts (Mattijs Korpershoek) [RHEL-104570] - spi: spi-pci1xxxx: Add support for 25MHz Clock frequency in C0 (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: use NANDC_STEP_SIZE consistently (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Enable support for S32G platforms (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: spi: dspi: Add S32G support (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Enable modified transfer protocol on S32G (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Reinitialize DSPI regs after resuming for S32G (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Use DMA for S32G controller in target mode (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Avoid setup_accel logic for DMA transfers (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Use spi_alloc_target for target (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Add config and regmaps for S32G platforms (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Define regmaps per device (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Re-use one volatile regmap for both device types (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Reset SR flags before sending a new message (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Halt the module after a new message transfer (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: restrict register range for regmap access (Mattijs Korpershoek) [RHEL-104570] - spi: loopback-test: fix up const pointer issue in rx_ranges_cmp() (Mattijs Korpershoek) [RHEL-104570] - spi: gpio: fix const issue in spi_to_spi_gpio() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: remove superfluous parameters of qcom_spi_check_error() (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Move register definitions to (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Document frame start sync pulse mode (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Double maximum DMA transfer size using two groups (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Simplify BRG's Division Ratio (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Increase TX FIFO size for R-Car V4H/V4M (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Correct RX FIFO size for R-Car Gen3 (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Correct RX FIFO size for R-Car Gen2 (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Add core support for dual-group transfers (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Correct SIMDR2_GRPMASK (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: SIFCTR bitfield conversion (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: SICTR bitfield conversion (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: SITSCR/SIRSCR bitfield conversion (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: SITMDR2 and SIRMDR2 bitfield conversion (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: SITMDR1/SIRMDR1 bitfield conversion (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Make words/fs unsigned in FIFO helpers (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Make words/bits unsigned in sh_msiof_spi_txrx_once() (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Use bool for boolean flags (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Complete using dev in sh_msiof_spi_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Fix maximum DMA transfer size (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Remove unneeded compatible values (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: Drop comma after OF match table sentinel (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: return early on error from qcom_spi_io_op() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: extend FIELD_PREP() macro usage (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: use CW_PER_PAGE_MASK bitmask (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: reuse qcom_spi_check_raw_flash_errors() (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: Add support for internal DMA (Mattijs Korpershoek) [RHEL-104570] - spi: tegra114: Use value to check for invalid delays (Mattijs Korpershoek) [RHEL-104570] - spi: loopback-test: Simplify strange loopback value check (Mattijs Korpershoek) [RHEL-104570] - spi: loopback-test: Do not split 1024-byte hexdumps (Mattijs Korpershoek) [RHEL-104570] - spi: spi-sun4i: fix early activation (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: validate user/chip specific ECC properties (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Assume device could match via platform (Mattijs Korpershoek) [RHEL-104570] - spi: cs42l43: Make handling missing spk-id GPIOs explicit (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Fix printed error code during DMA setup (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: omit SYNC from offload instructions (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: optimize bits_per_word for offload (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: don't repeat mode config for offload (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: wait for completion in setup (Mattijs Korpershoek) [RHEL-104570] - spi: nxp-fspi: use devm instead of remove for driver detach (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: remove the unchecked return value for nxp_fspi_clk_disable_unprep (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: use guard(mutex) to simplify the code (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: enable runtime pm for fspi (Mattijs Korpershoek) [RHEL-104570] - spi: spi-nxp-fspi: remove the goto in probe (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: fix NAND_READ_LOCATION_2 register handling (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: remove unused 'wlen' member of 'struct qpic_spi_nand' (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Add fix to avoid divide error (Mattijs Korpershoek) [RHEL-104570] - spi: rpc-if: Add write support for memory-mapped area (Mattijs Korpershoek) [RHEL-104570] - spi: tegra114: Don't fail set_cs_timing when delays are zero (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: propagate errors from qcom_spi_block_erase() (Mattijs Korpershoek) [RHEL-104570] - spi: offload: check for match callback when a trigger is being registered (Mattijs Korpershoek) [RHEL-104570] - spi: offload: remove unnecessary check on trigger->ops (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Fix an error handling path in stm32_ospi_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: ignore driver probing if it was MSIOF Sound (Mattijs Korpershoek) [RHEL-104570] - spi: sh-msiof: use dev in sh_msiof_spi_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: dw: Use spi_bpw_to_bytes() helper (Mattijs Korpershoek) [RHEL-104570] - spi: Add spi_bpw_to_bytes() helper and use it (Mattijs Korpershoek) [RHEL-104570] - spi: pci1xxxx: Use non-hybrid PCI devres API (Mattijs Korpershoek) [RHEL-104570] - spi: spi-cavium-thunderx: Use non-hybrid PCI devres API (Mattijs Korpershoek) [RHEL-104570] - spi: spi-imx: Add check for spi_imx_setupxfer() (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: Update dummy sequence configuration (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: modify chip select (CS) deactivation (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: remove redundant error handling code (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: Fix X1_X2_X4 encoding and support x4 transfers (Mattijs Korpershoek) [RHEL-104570] - spi: meson-spicc: add DMA support (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-qspi: Optimize fsl_qspi struct (Mattijs Korpershoek) [RHEL-104570] - spi: amd: add CONFIG_PCI dependency (Mattijs Korpershoek) [RHEL-104570] - spi: sun4i: add support for GPIO chip select lines (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: Fix read len for onfi param page (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: Fix last codeword read in qcom_param_page_type_exec() (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: Pass 18 bit offset from NANDc base to BAM base (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-qspi: Simplify probe error handling using managed API (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-spi: Remove redundant probe error message (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-qspi: Fix double cleanup in probe error path (Mattijs Korpershoek) [RHEL-104570] - spi: intel: Improve resource mapping (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Fix an IS_ERR() vs NULL check in probe (Mattijs Korpershoek) [RHEL-104570] - spi: xcomm: use new GPIO line value setter callbacks (Mattijs Korpershoek) [RHEL-104570] - spi: Add support for Double Transfer Rate (DTR) mode (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Add PCI-based driver for AMD HID2 SPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: bcm2835: Restore native CS probing when pinctrl-bcm2835 is absent (Mattijs Korpershoek) [RHEL-104570] - spi: bcm2835: Do not call gpiod_put() on invalid descriptor (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: add rate limiting and simplify timeout error message (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: use WARN_ON_ONCE instead of WARN_ON for timeouts (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-qspi: revert "Improve spi memory performance" (Mattijs Korpershoek) [RHEL-104570] - spi: cadence: Fix out-of-bounds array access in cdns_mrvl_xspi_setup_clock() (Mattijs Korpershoek) [RHEL-104570] - spi: Simplify conditionals in spi_set_cs() (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Fix unbalanced pm_runtime by using devm_ API (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-qspi: use devm function instead of driver remove (Mattijs Korpershoek) [RHEL-104570] - spi: SPI_QPIC_SNAND should be tristate and depend on MTD (Mattijs Korpershoek) [RHEL-104570] - spi: spi-stm32-ospi: Make "resets" a required property (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: st,stm32mp25-ospi: Make "resets" a required property (Mattijs Korpershoek) [RHEL-104570] - spi-rockchip: Fix register out of bounds access (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: use kmalloc() for OOB buffer allocation (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Introduce a default ->exec_op() debug log (Mattijs Korpershoek) [RHEL-104570] - spi: Fix reference count leak in slave_show() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Include "gpio/consumer.h" (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mux: Fix coverity issue, unchecked return value (Mattijs Korpershoek) [RHEL-104570] - spi: sophgo: fix incorrect type for ret in sg2044_spifmc_write() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: avoid memleak in qcom_spi_ecc_init_ctx_pipelined() (Mattijs Korpershoek) [RHEL-104570] - spi: Use inclusive language (Mattijs Korpershoek) [RHEL-104570] - spi: sg2044-nor: Convert to dev_err_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: sg2044-nor: Fully convert to device managed resources (Mattijs Korpershoek) [RHEL-104570] - spi: sg2044-nor: fix uninitialized variable in probe (Mattijs Korpershoek) [RHEL-104570] - spi: stm32-ospi: Fix an IS_ERR() vs NULL bug in stm32_ospi_get_resources() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic-snand: Fix ECC_CFG_ECC_DISABLE shift in qcom_spi_read_last_cw() (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: Remove unnecessary print function dev_err() (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-qspi: Improve spi memory performance (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-qspi: Fix probe on AM62A LP SK (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: spi-sg2044-nor: Change SOPHGO SG2042 (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: spi-sg2044-nor: Add SOPHGO SG2042 (Mattijs Korpershoek) [RHEL-104570] - spi: sophgo: add SG2044 SPI NOR controller driver (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: spi: add SG2044 SPI NOR controller driver (Mattijs Korpershoek) [RHEL-104570] - spi: mt65xx: add PM QoS support (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core: prevent RX overflows when transmit size > FIFO size (Mattijs Korpershoek) [RHEL-104570] - spi: spidev: Add an entry for the gocontroll moduline module slot (Mattijs Korpershoek) [RHEL-104570] - MAINTAINERS: adjust the file entry in GOCONTROLL MODULINE MODULE SLOT (Mattijs Korpershoek) [RHEL-104570] - MAINTAINERS: add maintainer for the GOcontroll Moduline module slot (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: connector: Add the GOcontroll Moduline module slot bindings (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: vendor-prefixes: add GOcontroll (Mattijs Korpershoek) [RHEL-104570] - spi: spi-imx: convert timeouts to secs_to_jiffies() (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: convert timeouts to secs_to_jiffies() (Mattijs Korpershoek) [RHEL-104570] - mtd: nand: Drop explicit test for built-in CONFIG_SPI_QPIC_SNAND (Mattijs Korpershoek) [RHEL-104570] - redhat/configs: Disable CONFIG_SPI_QPIC_SNAND (Mattijs Korpershoek) [RHEL-104570] - spi: spi-qpic: add driver for QCOM SPI NAND flash Interface (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: Fix build issue on x86 architecture (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: fix broken config in qcom_param_page_type_exec (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: use FIELD_PREP and GENMASK (Mattijs Korpershoek) [RHEL-104570] - mtd: nand: Add qpic_common API file (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: Add qcom prefix to common api (Mattijs Korpershoek) [RHEL-104570] - mtd: rawnand: qcom: cleanup qcom_nandc driver (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: Introduce qcom,spi-qpic-snand (Mattijs Korpershoek) [RHEL-104570] - spi: stm32: Add OSPI driver (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: spi: Add STM32 OSPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: s3c64xx: extend description of compatible's fifo_depth (Mattijs Korpershoek) [RHEL-104570] - spi: offload: fix use after free (Mattijs Korpershoek) [RHEL-104570] - spi: fix missing offload_flags doc (Mattijs Korpershoek) [RHEL-104570] - spi: spi-offload-trigger-pwm: add extra headers (Mattijs Korpershoek) [RHEL-104570] - spi: offload: types: include linux/bits.h (Mattijs Korpershoek) [RHEL-104570] - MAINTAINERS: adjust the file entry in SPI OFFLOAD (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: implement offload support (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: axi-spi-engine: add SPI offload properties (Mattijs Korpershoek) [RHEL-104570] - spi: add offload TX/RX streaming APIs (Mattijs Korpershoek) [RHEL-104570] - spi: offload-trigger: add PWM trigger driver (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: trigger-source: add generic PWM trigger source (Mattijs Korpershoek) [RHEL-104570] - spi: offload: add support for hardware triggers (Mattijs Korpershoek) [RHEL-104570] - spi: add basic support for SPI offloading (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: remove references to runtime PM on error path (Mattijs Korpershoek) [RHEL-104570] - spi: sn-f-ospi: Fix division by zero (Mattijs Korpershoek) [RHEL-104570] - spi: gpio: Support a single always-selected device (Mattijs Korpershoek) [RHEL-104570] - spi: gpio: Remove stale documentation part (Mattijs Korpershoek) [RHEL-104570] - spi: Replace custom fsleep() implementation (Mattijs Korpershoek) [RHEL-104570] - spi: pxa2xx: Fix regression when toggling chip select on LPSS devices (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Fix warning in doc-comment (Mattijs Korpershoek) [RHEL-104570] - spi: fsi: Batch TX operations (Mattijs Korpershoek) [RHEL-104570] - spi: realtek-rtl-snand: Drop unneeded assignment for cache_type (Mattijs Korpershoek) [RHEL-104570] - spi: omap2-mcspi: Correctly handle devm_clk_get_optional() errors (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Always acknowledge interrupts (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Clean up fillgenfifo (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Add helpers for enabling/disabling DMA (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Add some more debug prints (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Reformat long line (Mattijs Korpershoek) [RHEL-104570] - spi: pxa2xx: Introduce __lpss_ssp_update_priv() helper (Mattijs Korpershoek) [RHEL-104570] - spi: amd: Fix -Wuninitialized in amd_spi_exec_mem_op() (Mattijs Korpershoek) [RHEL-104570] - spi: ti-qspi: Use syscon_regmap_lookup_by_phandle_args (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Estimate the time taken by operations (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Update to current device naming terminology (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-spi: Remove display of virtual address (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Enable SPI_TX_QUAD (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Create macros for DTR operation (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Reorder spi-mem macro assignments (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: zynq-qspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: spi-ti-qspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: spi-sn-f-ospi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: nxp-fspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: mxic: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: mt65xx: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: microchip-core-qspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: fsl-qspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: dw: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-qspi: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: amd: Drop redundant check (Mattijs Korpershoek) [RHEL-104570] - spi: amd: Support per spi-mem operation frequency switches (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Add a new controller capability (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Use devm_ clock management (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Support sclk_x2 version (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-qspi: Memory barriers after memory-mapped I/O (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Using normal memory for dma (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Fix error in remove progress (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Factor out switching to Serial Memory Mode to function (Mattijs Korpershoek) [RHEL-104570] - spi: spidev: Align ordering of spidev_spi_ids[] and spidev_dt_ids[] (Mattijs Korpershoek) [RHEL-104570] - spi: mxs: support effective_speed_hz (Mattijs Korpershoek) [RHEL-104570] - spi: Deduplicate deferred probe checks in spi_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: Unify firmware node type checks (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Support pm ops (Mattijs Korpershoek) [RHEL-104570] - i2c: lpc2k: Add check for clk_enable() (Mattijs Korpershoek) [RHEL-104570] - spi: zynq-qspi: Add check for clk_enable() (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip: Fix PM runtime count on no-op cs (Mattijs Korpershoek) [RHEL-104570] - spi: omap2-mcspi: Fix the IS_ERR() bug for devm_clk_get_optional_enabled() (Mattijs Korpershoek) [RHEL-104570] - spi: intel: Add Panther Lake SPI controller support (Mattijs Korpershoek) [RHEL-104570] - spi: spi-cadence-qspi: Disable STIG mode for Altera SoCFPGA. (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Optimize the judgment mechanism completed by the controller (Mattijs Korpershoek) [RHEL-104570] - spi: spi-kspi2: Add KEBA SPI controller support (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Add support for sama7g5 QSPI (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Create `atmel_qspi_ops` to support newer SoC families (Mattijs Korpershoek) [RHEL-104570] - spi: mpc52xx: Add cancel_work_sync before module remove (Mattijs Korpershoek) [RHEL-104570] - spi: apple: Set use_gpio_descriptors to true (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Fix register name in verbose logging function (Mattijs Korpershoek) [RHEL-104570] - spi: Fix acpi deferred irq probe (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Support for device reset via OSPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: cadence-quadspi: Use quirks to set dma_set_mask instead of compatible string for 64-bit DMA support (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Support ACPI (Mattijs Korpershoek) [RHEL-104570] - spi: aspeed: Fix an error handling path in aspeed_spi_[read|write]_user() (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Embedded DMA only support 4B aligned address (Mattijs Korpershoek) [RHEL-104570] - spi-imx: prevent overflow when estimating transfer time (Mattijs Korpershoek) [RHEL-104570] - spi: sc18is602: Switch to generic firmware properties and drop of_match_ptr() (Mattijs Korpershoek) [RHEL-104570] - spi: imx: support word delay (Mattijs Korpershoek) [RHEL-104570] - spi: imx: pass struct spi_transfer to prepare_transfer() (Mattijs Korpershoek) [RHEL-104570] - spi: cs42l43: Add GPIO speaker id support to the bridge configuration (Mattijs Korpershoek) [RHEL-104570] - spi: Delete useless checks (Mattijs Korpershoek) [RHEL-104570] - spi: apple: Remove unnecessary .owner for apple_spi_driver (Mattijs Korpershoek) [RHEL-104570] - spi: apple: Add driver for Apple SPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: dt-bindings: apple,spi: Add binding for Apple SPI controllers (Mattijs Korpershoek) [RHEL-104570] - spi: Use of_property_present() for non-boolean properties (Mattijs Korpershoek) [RHEL-104570] - spi: axi-spi-engine: Emit trace events for spi transfers (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: rtl-snand: Correctly handle DMA transfers (Mattijs Korpershoek) [RHEL-104570] - spi: Replace deprecated PCI functions (Mattijs Korpershoek) [RHEL-104570] - spi: spidev: Add an entry for lwn,bk4-spi (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: misc: lwn,bk4-spi: Add binding (Mattijs Korpershoek) [RHEL-104570] - mtd: spinand: Constify struct nand_ecc_engine_ops (Mattijs Korpershoek) [RHEL-104570] - spi: make class structs const (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Add Realtek SPI-NAND controller (Mattijs Korpershoek) [RHEL-104570] - dt-bindings: spi: Add realtek,rtl9301-snand (Mattijs Korpershoek) [RHEL-104570] - spi: intel: Add protected and locked attributes (Mattijs Korpershoek) [RHEL-104570] - spi: spi-imx: Fix casting warnings (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-dspi: Fix casting warnings (Mattijs Korpershoek) [RHEL-104570] - spi: tegra210-quad: Avoid shift-out-of-bounds (Mattijs Korpershoek) [RHEL-104570] - spi: Provide defer reason if getting irq during probe fails (Mattijs Korpershoek) [RHEL-104570] - spi: spi-ti-qspi: remove redundant assignment to variable ret (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: support effective_speed_hz (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Fix specifiers in fsl_lpspi_set_bitrate (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Adjust type of scldiv (Mattijs Korpershoek) [RHEL-104570] - spi: mxic: Add support for swapping byte (Mattijs Korpershoek) [RHEL-104570] - spi: spi-mem: Allow specifying the byte order in Octal DTR mode (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip: Use dev_{err,warn}_probe() in the probe path (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Use dev_err_probe() in the probe path (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip-sfc: Perform trivial code cleanups (Mattijs Korpershoek) [RHEL-104570] - spi: rockchip: Perform trivial code cleanups (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Add HIDDMA basic read support (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Set controller address mode (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Add support for HID2 SPI controller (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Optimize IO operations (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Updates to set tx/rx count functions (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Replace ioread/iowrite calls (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Enable dual and quad I/O modes (Mattijs Korpershoek) [RHEL-104570] - spi: spi_amd: Sort headers alphabetically (Mattijs Korpershoek) [RHEL-104570] - spi: Switch back to struct platform_driver::remove() (Mattijs Korpershoek) [RHEL-104570] - spi: slave-mt27xx: Call clk_disable_unprepare() only once in mtk_spi_slave_probe() (Mattijs Korpershoek) [RHEL-104570] - spi: airoha: do not keep {tx,rx} dma buffer always mapped (Mattijs Korpershoek) [RHEL-104570] - spi: zynqmp-gqspi: Undo runtime PM changes at driver exit time​ (Mattijs Korpershoek) [RHEL-104570] - spi: atmel-quadspi: Add cs_hold and cs_inactive setting support (Mattijs Korpershoek) [RHEL-104570] - spi: fix typo in the comment (Mattijs Korpershoek) [RHEL-104570] - spi: spi-fsl-lpspi: Use IRQF_NO_AUTOEN flag in request_irq() (Mattijs Korpershoek) [RHEL-104570] - spi: remove {devm_}spi_alloc_master/slave() (Mattijs Korpershoek) [RHEL-104570] - spi: slave-mt27xx: switch to use spi_alloc_target() (Mattijs Korpershoek) [RHEL-104570] - spi: ch341: switch to use devm_spi_alloc_host() (Mattijs Korpershoek) [RHEL-104570] - Documentation: devres: add missing devm_acpi_dma_controller_free() helper (Mattijs Korpershoek) [RHEL-104570] - media: usb/msi2500: switch to use spi_alloc_host() (Mattijs Korpershoek) [RHEL-104570] - perf test attr: Add missing int_mist.uop_dropping event to test-stat files (Anubhav Shelat) [RHEL-78200] - perf bpf-filter: Fix opts declaration on older libbpfs (Anubhav Shelat) [RHEL-78200] - perf evsel: Ensure the fallback message is always written to (Anubhav Shelat) [RHEL-78200] - perf build-id: Ensure snprintf string is empty when size is 0 (Anubhav Shelat) [RHEL-78200] - perf drm_pmu: Fix fd_dir leaks in for_each_drm_fdinfo_in_dir() (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update tigerlake metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update skylake metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update sierraforest metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update sapphirerapids events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update sandybridge metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update rocketlake metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update meteorlake events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update lunarlake events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update jaketown metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update ivybridge/ivytown metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update icelake metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update haswell metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update graniterapids events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update grandridge metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update emeraldrapids events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update cascadelakex metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update broadwell metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update arrowlake events/metrics (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update alderlake events/metrics (Anubhav Shelat) [RHEL-78200] - perf parse-events: Handle fake PMUs in CPU terms (Anubhav Shelat) [RHEL-78200] - libbpf: Add the ability to suppress perf event enablement (Anubhav Shelat) [RHEL-78200] - perf maps: Ensure kmap is set up for all inserts (Anubhav Shelat) [RHEL-78200] - perf lock: Provide a host_env for session new (Anubhav Shelat) [RHEL-78200] - perf subcmd: avoid crash in exclude_cmds when excludes is empty (Anubhav Shelat) [RHEL-78200] - perf symbol-elf: Add support for the block argument for libbfd (Anubhav Shelat) [RHEL-78200] - perf test: Checking BPF metadata collection fails on version string (Anubhav Shelat) [RHEL-78200] - perf tests: Fix "PE file support" test build (Anubhav Shelat) [RHEL-78200] - perf bpf-utils: Harden get_bpf_prog_info_linear (Anubhav Shelat) [RHEL-78200] - perf bpf-utils: Constify bpil_array_desc (Anubhav Shelat) [RHEL-78200] - perf bpf-event: Fix use-after-free in synthesis (Anubhav Shelat) [RHEL-78200] - perf symbol: Add blocking argument to filename__read_build_id (Anubhav Shelat) [RHEL-78200] - perf test: Fix a build error in x86 topdown test (Anubhav Shelat) [RHEL-78200] - perf bpf-filter: Enable events manually (Anubhav Shelat) [RHEL-78200] - perf/core: Handle buffer mapping fail correctly in perf_mmap() (Anubhav Shelat) [RHEL-78200] {CVE-2025-38564} - perf/core: Exit early on perf_mmap() fail (Anubhav Shelat) [RHEL-78200] {CVE-2025-38565} - perf/core: Don't leak AUX buffer refcount on allocation failure (Anubhav Shelat) [RHEL-78200] - perf/core: Prevent VMA split of buffer mappings (Anubhav Shelat) [RHEL-78200] {CVE-2025-38563} - perf/core: Preserve AUX buffer allocation failure result (Anubhav Shelat) [RHEL-78200] - perf record: Cache build-ID of hit DSOs only (Anubhav Shelat) [RHEL-78200] - perf test: Ensure lock contention using pipe mode (Anubhav Shelat) [RHEL-78200] - perf python: Stop using deprecated PyUnicode_AsString() (Anubhav Shelat) [RHEL-78200] - RISC-V: perf/kvm: Add reporting of interrupt events (Anubhav Shelat) [RHEL-78200] - perf list: Skip ABI PMUs when printing pmu values (Anubhav Shelat) [RHEL-78200] - perf list: Remove tracepoint printing code (Anubhav Shelat) [RHEL-78200] - perf tp_pmu: Add event APIs (Anubhav Shelat) [RHEL-78200] - perf tp_pmu: Factor existing tracepoint logic to new file (Anubhav Shelat) [RHEL-78200] - perf parse-events: Remove non-json software events (Anubhav Shelat) [RHEL-78200] - perf jevents: Add common software event json (Anubhav Shelat) [RHEL-78200] - perf tools: Remove libtraceevent in .gitignore (Anubhav Shelat) [RHEL-78200] - perf test: Fix comment ordering (Anubhav Shelat) [RHEL-78200] - perf sort: Use perf_env to set arch sort keys and header (Anubhav Shelat) [RHEL-78200] - perf test: Move PERF_SAMPLE_WEIGHT_STRUCT parsing to common test (Anubhav Shelat) [RHEL-78200] - perf sample: Remove arch notion of sample parsing (Anubhav Shelat) [RHEL-78200] - perf env: Remove global perf_env (Anubhav Shelat) [RHEL-78200] - perf trace: Avoid global perf_env with evsel__env (Anubhav Shelat) [RHEL-78200] - perf auxtrace: Pass perf_env from session through to mmap read (Anubhav Shelat) [RHEL-78200] - perf machine: Explicitly pass in host perf_env (Anubhav Shelat) [RHEL-78200] - perf bench synthesize: Avoid use of global perf_env (Anubhav Shelat) [RHEL-78200] - perf top: Make perf_env locally scoped (Anubhav Shelat) [RHEL-78200] - perf session: Add host_env argument to perf_session__new (Anubhav Shelat) [RHEL-78200] - perf test: Avoid use perf_env (Anubhav Shelat) [RHEL-78200] - perf header: Clean up use of perf_env (Anubhav Shelat) [RHEL-78200] - perf evlist: Change env variable to session (Anubhav Shelat) [RHEL-78200] - perf session: Add accessor for session->header.env (Anubhav Shelat) [RHEL-78200] - perf record: Make --buildid-mmap the default (Anubhav Shelat) [RHEL-78200] - perf jitdump: Directly mark the jitdump DSO (Anubhav Shelat) [RHEL-78200] - perf dso: Move build_id to dso_id (Anubhav Shelat) [RHEL-78200] - perf build-id: Ensure struct build_id is empty before use (Anubhav Shelat) [RHEL-78200] - perf build-id: Mark DSO in sample callchains (Anubhav Shelat) [RHEL-78200] - perf build-id: Change sprintf functions to snprintf (Anubhav Shelat) [RHEL-78200] - perf build-id: Truncate to avoid overflowing the build_id data (Anubhav Shelat) [RHEL-78200] - perf build-id: Reduce size of "size" variable (Anubhav Shelat) [RHEL-78200] - perf metricgroups: Add NO_THRESHOLD_AND_NMI constraint (Anubhav Shelat) [RHEL-78200] - perf parse-events: Fix missing slots for Intel topdown metric events (Anubhav Shelat) [RHEL-78200] - perf topdown: Use attribute to see an event is a topdown metic or slots (Anubhav Shelat) [RHEL-78200] - perf parse-events: Support user CPUs mixed with threads/processes (Anubhav Shelat) [RHEL-78200] - perf evsel: Add evsel__open_per_cpu_and_thread (Anubhav Shelat) [RHEL-78200] - perf parse-events: Minor __add_event refactoring (Anubhav Shelat) [RHEL-78200] - perf pmus: Factor perf_pmus__find_by_attr out of evsel__find_pmu (Anubhav Shelat) [RHEL-78200] - perf evsel: Use libperf perf_evsel__exit (Anubhav Shelat) [RHEL-78200] - libperf evsel: Factor perf_evsel__exit out of perf_evsel__delete (Anubhav Shelat) [RHEL-78200] - libperf evsel: Rename own_cpus to pmu_cpus (Anubhav Shelat) [RHEL-78200] - perf tool_pmu: Allow num_cpus(_online) to be specific to a cpumask (Anubhav Shelat) [RHEL-78200] - perf parse-events: Allow the cpu term to be a PMU or CPU range (Anubhav Shelat) [RHEL-78200] - perf stat: Don't size aggregation ids from user_requested_cpus (Anubhav Shelat) [RHEL-78200] - perf stat: Avoid buffer overflow to the aggregation map (Anubhav Shelat) [RHEL-78200] - perf parse-events: Warn if a cpu term is unsupported by a CPU (Anubhav Shelat) [RHEL-78200] - perf pfm: Don't force loading of all PMUs (Anubhav Shelat) [RHEL-78200] - perf stat: Remove duplicated include in stat-shadow.c (Anubhav Shelat) [RHEL-78200] - perf: ftrace: add graph tracer options args/retval/retval-hex/retaddr (Anubhav Shelat) [RHEL-78200] - powerpc: Don't use %%pK through printk (Anubhav Shelat) [RHEL-78200] - perf build: Always disable stack protection for BPF skeleton objects (Anubhav Shelat) [RHEL-78200] - perf flamegraph: Fix minor pylint/type hint issues (Anubhav Shelat) [RHEL-78200] - perf ftrace latency: Add -e option to measure time between two events (Anubhav Shelat) [RHEL-78200] - perf tests bp_account: Fix leaked file descriptor (Anubhav Shelat) [RHEL-78200] - perf list: Remove trailing A in PAI crypto event 4210 (Anubhav Shelat) [RHEL-78200] - perf/x86/intel/uncore: Add iMC freerunning for Panther Lake (Anubhav Shelat) [RHEL-78200] - perf/x86/intel/uncore: Add Panther Lake support (Anubhav Shelat) [RHEL-78200] - perf/x86/intel/uncore: Support customized MMIO map size (Anubhav Shelat) [RHEL-78200] - perf/x86/intel/uncore: Support MSR portal for discovery tables (Anubhav Shelat) [RHEL-78200] - perf: arm_pmuv3: Call kvm_vcpu_pmu_resync_el0() before enabling counters (Anubhav Shelat) [RHEL-78200] - perf: arm_pmu: Don't disable counter in armpmu_add() (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update TigerLake events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update SkylakeX events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update SierraForest events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update SapphireRapids events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Add PantherLake events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update MeteorLake events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update LunarLake events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update IcelakeX events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update GraniteRapids events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update GrandRidge events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update EmeraldRapids events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update CascadelakeX events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update Arrowlake events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update AlderlakeN events (Anubhav Shelat) [RHEL-78200] - perf vendor events: Update Alderlake events (Anubhav Shelat) [RHEL-78200] - tools/build: Fix s390(x) cross-compilation with clang (Anubhav Shelat) [RHEL-78200] - perf test: Add more test cases to sched test (Anubhav Shelat) [RHEL-78200] - perf sched: Fix memory leaks in 'perf sched latency' (Anubhav Shelat) [RHEL-78200] - perf sched: Use RC_CHK_EQUAL() to compare pointers (Anubhav Shelat) [RHEL-78200] - perf sched: Fix memory leaks for evsel->priv in timehist (Anubhav Shelat) [RHEL-78200] - perf sched: Fix thread leaks in 'perf sched timehist' (Anubhav Shelat) [RHEL-78200] - perf sched: Fix memory leaks in 'perf sched map' (Anubhav Shelat) [RHEL-78200] - perf sched: Free thread->priv using priv_destructor (Anubhav Shelat) [RHEL-78200] - perf sched: Make sure it frees the usage string (Anubhav Shelat) [RHEL-78200] - perf tests make: Add NO_LIBDW=1 to minimal and add standalone test (Anubhav Shelat) [RHEL-78200] - perf header: Fix pipe mode header dumping (Anubhav Shelat) [RHEL-78200] - perf test: In forked mode add check that fds aren't leaked (Anubhav Shelat) [RHEL-78200] - perf dso: With ref count checking, avoid dso_data holding dso live (Anubhav Shelat) [RHEL-78200] - perf hwmon_pmu: Hold path rather than fd (Anubhav Shelat) [RHEL-78200] - perf test code-reading: Avoid a leak of cpus and threads (Anubhav Shelat) [RHEL-78200] - perf dso: Add missed dso__put to dso__load_kcore (Anubhav Shelat) [RHEL-78200] - perf genelf: Fix NO_LIBDW=1 build (Anubhav Shelat) [RHEL-78200] - perf list: Add IBM z17 event descriptions (Anubhav Shelat) [RHEL-78200] - perf tools: Fix use-after-free in help_unknown_cmd() (Anubhav Shelat) [RHEL-78200] - perf test: Add libsubcmd help tests (Anubhav Shelat) [RHEL-78200] - perf test: Check test suite description properly (Anubhav Shelat) [RHEL-78200] - perf test: Add sched latency and script shell tests (Anubhav Shelat) [RHEL-78200] - perf test: Name the noploop process (Anubhav Shelat) [RHEL-78200] - perf build: Specify shellcheck should use bash (Anubhav Shelat) [RHEL-78200] - perf test annotate: Use --percent-limit rather than head to reduce output (Anubhav Shelat) [RHEL-78200] - perf test: Add basic callgraph test to record testing (Anubhav Shelat) [RHEL-78200] - perf drm_pmu: Fix spelling mistake "bufers" -> "buffers" (Anubhav Shelat) [RHEL-78200] - perf test: perf header test fails on s390 (Anubhav Shelat) [RHEL-78200] - perf stat: Fix uncore aggregation number (Anubhav Shelat) [RHEL-78200] - perf build: Fix a build error on REFCNT_CHECKING=1 (Anubhav Shelat) [RHEL-78200] - tools/perf: Add --exclude-buildids option to perf archive command (Anubhav Shelat) [RHEL-78200] - perf annotate: Fix source code annotate with objdump (Anubhav Shelat) [RHEL-78200] - tools: Remove libcrypto dependency (Anubhav Shelat) [RHEL-78200] - perf genelf: Remove libcrypto dependency and use built-in sha1() (Anubhav Shelat) [RHEL-78200] - perf util: add a basic SHA-1 implementation (Anubhav Shelat) [RHEL-78200] - perf build: enable -fno-strict-aliasing (Anubhav Shelat) [RHEL-78200] - perf top: populate PMU capabilities data in perf_env (Anubhav Shelat) [RHEL-78200] - perf tools: move perf_pmus__find_core_pmu() prototype to pmus.h (Anubhav Shelat) [RHEL-78200] - perf trace: Split BPF skel code to util/bpf_trace_augment.c (Anubhav Shelat) [RHEL-78200] - perf test: Change all remaining #!/bin/sh to #!/bin/bash (Anubhav Shelat) [RHEL-78200] - perf header: Don't write empty BPF/BTF info (Anubhav Shelat) [RHEL-78200] - perf header: Display message if BPF/BTF info is empty (Anubhav Shelat) [RHEL-78200] - perf header: Allow tracing of attr events (Anubhav Shelat) [RHEL-78200] - perf header: In pipe mode dump features without --header/-I (Anubhav Shelat) [RHEL-78200] - perf tests: Add a DRM PMU test (Anubhav Shelat) [RHEL-78200] - perf drm_pmu: Add a tool like PMU to expose DRM information (Anubhav Shelat) [RHEL-78200] - perf parse-events: Avoid scanning PMUs that can't contain events (Anubhav Shelat) [RHEL-78200] - perf debug: Add function symbols to dump_stack (Anubhav Shelat) [RHEL-78200] - perf tools: Remove excess variable declarations (Anubhav Shelat) [RHEL-78200] - perf test: Replace grep perl regexp with awk (Anubhav Shelat) [RHEL-78200] - libperf evsel: Add missed puts and asserts (Anubhav Shelat) [RHEL-78200] - perf trace: Add missed freeing of ordered events and thread (Anubhav Shelat) [RHEL-78200] - perf script: Add -e option to flamegraph script (Anubhav Shelat) [RHEL-78200] - perf build: The bfd features are opt-in, stop testing for them by default (Anubhav Shelat) [RHEL-78200] - perf build: Add the libpfm devel fedora package name to the hint (Anubhav Shelat) [RHEL-78200] - perf script: Handle -i option for perf script flamegraph (Anubhav Shelat) [RHEL-78200] - perf unwind-libdw: skip non-regular files (Anubhav Shelat) [RHEL-78200] - perf trace: Show zero value in STRARRAY (Anubhav Shelat) [RHEL-78200] - perf srcline: Lower verbosity on addr2line debug messages (Anubhav Shelat) [RHEL-78200] - perf build: Suggest java-latest-openjdk-devel instead of old 1.8.0 one (Anubhav Shelat) [RHEL-78200] - perf test: add test for BPF metadata collection (Anubhav Shelat) [RHEL-78200] - perf tools: display the new PERF_RECORD_BPF_METADATA event (Anubhav Shelat) [RHEL-78200] - perf record: collect BPF metadata from new programs (Anubhav Shelat) [RHEL-78200] - perf record: collect BPF metadata from existing BPF programs (Anubhav Shelat) [RHEL-78200] - perf build: detect support for libbpf's emit_strings option (Anubhav Shelat) [RHEL-78200] - perf header: remove unecessary core id test (Anubhav Shelat) [RHEL-78200] - perf test: Add header shell test (Anubhav Shelat) [RHEL-78200] - perf parse-events: Set default GH modifier properly (Anubhav Shelat) [RHEL-78200] - perf test: Expand user space event reading (rdpmc) tests (Anubhav Shelat) [RHEL-78200] - perf vendor events arm64: Update FUJITSU-MONAKA pmu event (Anubhav Shelat) [RHEL-78200] - syscall_user_dispatch: Add PR_SYS_DISPATCH_INCLUSIVE_ON (Anubhav Shelat) [RHEL-78200] - perf thread: Ensure comm_lock held for comm_list (Anubhav Shelat) [RHEL-78200] - perf: Fix libjvmti.c sign compare error (Anubhav Shelat) [RHEL-78200] - perf script: perf script tests fails with segfault (Anubhav Shelat) [RHEL-78200] - perf test trace: Change the regex pattern in the struct test (Anubhav Shelat) [RHEL-78200] - perf test trace: Use --sort-events in BTF general tests (Anubhav Shelat) [RHEL-78200] - tools/build: Remove some unused libbpf pre-1.0 feature test logic (Anubhav Shelat) [RHEL-78200] - perf trace: Remove --map-dump documentation (Anubhav Shelat) [RHEL-78200] - perf test trace: Remove set -e for BTF general tests (Anubhav Shelat) [RHEL-78200] - perf test trace: Stop tracing hrtimer_setup event in trace enum test (Anubhav Shelat) [RHEL-78200] - perf test trace: Remove set -e and print trace test's error messages (Anubhav Shelat) [RHEL-78200] - perf test trace: Use shell's -f flag to check if vmlinux exists (Anubhav Shelat) [RHEL-78200] - perf thread_map: Remove uid options (Anubhav Shelat) [RHEL-78200] - perf target: Remove uid from target (Anubhav Shelat) [RHEL-78200] - perf bench evlist-open-close: Switch user option to use BPF filter (Anubhav Shelat) [RHEL-78200] - perf trace: Switch user option to use BPF filter (Anubhav Shelat) [RHEL-78200] - perf top: Switch user option to use BPF filter (Anubhav Shelat) [RHEL-78200] - perf tests record: Add basic uid filtering test (Anubhav Shelat) [RHEL-78200] - perf bpf-filter: Improve error messages (Anubhav Shelat) [RHEL-78200] - perf record: Switch user option to use BPF filter (Anubhav Shelat) [RHEL-78200] - perf parse-events: Add parse_uid_filter helper (Anubhav Shelat) [RHEL-78200] - perf target: Separate parse_uid into its own function (Anubhav Shelat) [RHEL-78200] - perf parse-events filter: Use evsel__find_pmu (Anubhav Shelat) [RHEL-78200] - sched/fair: Block delayed tasks on throttled hierarchy during dequeue (Luis Claudio R. Goncalves) [RHEL-69492] - selftests/mm: fix va_high_addr_switch.sh failure on x86_64 (Chunyu Hu) [RHEL-110506] - selftests/mm: alloc hugepages in va_high_addr_switch test (Chunyu Hu) [RHEL-110506] - selftests/mm: skip hugevm test if kernel config file is not present (Chunyu Hu) [RHEL-110506] - bus: mhi: host: pci_generic: Add Telit FN990B40 modem support (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: Detect events pointing to unexpected TREs (Jose Ignacio Tornos Martinez) [RHEL-122260] {CVE-2025-39790} - bus: mhi: host: pci_generic: Add Foxconn T99W696 modem (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: Use str_true_false() helper (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: pci_generic: Add support for EM929x and set MRU to 32768 for better performance. (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: Fix endianness of BHI vector table (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: pci_generic: Disable runtime PM for QDU100 (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: pci_generic: Fix the modem name of Foxconn T99W640 (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: Make local functions static (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: pci_generic: Add Telit FN920C04 modem support (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: pci_generic: Remove redundant assign resource usage (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: host: Fix conflict between power_up and SYSERR (Jose Ignacio Tornos Martinez) [RHEL-122260] - bus: mhi: ep: Update read pointer only after buffer is written (Jose Ignacio Tornos Martinez) [RHEL-122260] {CVE-2025-38429} - sched: Add some KABI padding (Phil Auld) [RHEL-114238] - scsi: ufs: ufs-qcom: Fix ESI null pointer dereference (Myron Stowe) [RHEL-120705] - scsi: ufs: ufs-qcom: Update esi_vec_mask for HW major version >= 6 (Myron Stowe) [RHEL-120705] - irqchip/msi-lib: Fix fwnode refcount in msi_lib_irq_domain_select() (Myron Stowe) [RHEL-120705] - irqchip/irq-msi-lib: Fix build with PCI disabled (Myron Stowe) [RHEL-120705] - PCI/MSI: Prevent recursive locking in pci_msix_write_tph_tag() (Myron Stowe) [RHEL-120705] - PCI/MSI: Size device MSI domain with the maximum number of vectors (Myron Stowe) [RHEL-120705] - irqchip: Drop MSI_CHIP_FLAG_SET_ACK from unsuspecting MSI drivers (Myron Stowe) [RHEL-120705] - PCI/MSI: Handle the NOMASK flag correctly for all PCI/MSI backends (Myron Stowe) [RHEL-120705] - irqchip/msi-lib: Add IRQ_DOMAIN_FLAG_FWNODE_PARENT handling (Myron Stowe) [RHEL-120705] - PCI/MSI: Remove the conditional parent [un]mask logic (Myron Stowe) [RHEL-120705] - irqchip/msi-lib: Honor the MSI_FLAG_PCI_MSI_MASK_PARENT flag (Myron Stowe) [RHEL-120705] - PCI/MSI: Check MSI_FLAG_PCI_MSI_MASK_PARENT in cond_[startup|shutdown]_parent() (Myron Stowe) [RHEL-120705] - PCI/MSI: Add startup/shutdown for per device domains (Myron Stowe) [RHEL-120705] - genirq: Add irq_chip_(startup/shutdown)_parent() (Myron Stowe) [RHEL-120705] - genirq: Remove GENERIC_IRQ_LEGACY (Myron Stowe) [RHEL-120705] - irqdomain: Add device pointer to irq_domain_info and msi_domain_info (Myron Stowe) [RHEL-120705] - irqdomain: Consolidate coding style (Myron Stowe) [RHEL-120705] - irqdomain: Fix kernel-doc and add it to Documentation (Myron Stowe) [RHEL-120705] - Documentation: irqdomain: Update it (Myron Stowe) [RHEL-120705] - Documentation: irq-domain.rst: Simple improvements (Myron Stowe) [RHEL-120705] - Documentation: irq/concepts: Minor improvements (Myron Stowe) [RHEL-120705] - Documentation: irq/concepts: Add commas and reflow (Myron Stowe) [RHEL-120705] - irqdomain: Improve kernel-docs of functions (Myron Stowe) [RHEL-120705] - irqdomain: Make struct irq_domain_info variables const (Myron Stowe) [RHEL-120705] - irqdomain: Use irq_domain_instantiate()'s return value as initializers (Myron Stowe) [RHEL-120705] - irqdomain: Drop irq_linear_revmap() (Myron Stowe) [RHEL-120705] - pinctrl: keembay: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - irqchip/armada-370-xp: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - gpu: ipu-v3: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - gpio: idt3243x: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - sh: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - powerpc: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - irqdomain: Drop irq_domain_add_*() functions (Myron Stowe) [RHEL-120705] - powerpc: Switch irq_domain_add_nomap() to use fwnode (Myron Stowe) [RHEL-120705] - thermal: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - soc: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - sh: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - powerpc: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - pinctrl: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - PCI: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - nios2: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - net: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - misc: hi6421-spmi-pmic: Switch to irq_domain_create_simple() (Myron Stowe) [RHEL-120705] - MIPS: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - mfd: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - memory: omap-gpmc: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - mailbox: qcom-ipcc: Switch to irq_domain_create_tree() (Myron Stowe) [RHEL-120705] - irqchip: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - iio: Switch to irq_domain_create_simple() (Myron Stowe) [RHEL-120705] - i2c: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - gpu: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - gpio: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - EDAC/altera: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - bus: moxtet: Switch to irq_domain_create_simple() (Myron Stowe) [RHEL-120705] - ARM: Switch to irq_domain_create_*() (Myron Stowe) [RHEL-120705] - ARC: Switch to irq_domain_create_linear() (Myron Stowe) [RHEL-120705] - irqdomain: Make irq_domain_create_hierarchy() an inline (Myron Stowe) [RHEL-120705] - irqdomain: Drop of_node_to_fwnode() (Myron Stowe) [RHEL-120705] - x86/io_apic: Switch to of_fwnode_handle() (Myron Stowe) [RHEL-120705] - powerpc: Switch to of_fwnode_handle() (Myron Stowe) [RHEL-120705] - irqchip: Switch to of_fwnode_handle() (Myron Stowe) [RHEL-120705] - PCI/MSI: Use bool for MSI enable state tracking (Myron Stowe) [RHEL-120705] - PCI: tegra: Convert to MSI parent infrastructure (Myron Stowe) [RHEL-120705] - PCI: xgene: Convert to MSI parent infrastructure (Myron Stowe) [RHEL-120705] - PCI: apple: Convert to MSI parent infrastructure (Myron Stowe) [RHEL-120705] - irqchip/msi-lib: Honour the MSI_FLAG_NO_AFFINITY flag (Myron Stowe) [RHEL-120705] - irqchip/mvebu: Convert to msi_create_parent_irq_domain() helper (Myron Stowe) [RHEL-120705] - irqchip/gic: Convert to msi_create_parent_irq_domain() helper (Myron Stowe) [RHEL-120705] - genirq/msi: Add helper for creating MSI-parent irq domains (Myron Stowe) [RHEL-120705] - irqchip: Make irq-msi-lib.h globally available (Myron Stowe) [RHEL-120705] - irqchip/gic-v3-its: Use allocation size from the prepare call (Myron Stowe) [RHEL-120705] - genirq/msi: Engage the .msi_teardown() callback on domain removal (Myron Stowe) [RHEL-120705] - genirq/msi: Move prepare() call to per-device allocation (Myron Stowe) [RHEL-120705] - irqchip/gic-v3-its: Implement .msi_teardown() callback (Myron Stowe) [RHEL-120705] - genirq/msi: Add .msi_teardown() callback as the reverse of .msi_prepare() (Myron Stowe) [RHEL-120705] - irqchip/gic-v3-its: Add support for device tree msi-map and msi-mask (Myron Stowe) [RHEL-120705] - dt-bindings: PCI: pci-ep: Add support for iommu-map and msi-map (Myron Stowe) [RHEL-120705] - irqchip/gic-v3-its: Set IRQ_DOMAIN_FLAG_MSI_IMMUTABLE for ITS (Myron Stowe) [RHEL-120705] - irqdomain: Add IRQ_DOMAIN_FLAG_MSI_IMMUTABLE and irq_domain_is_msi_immutable() (Myron Stowe) [RHEL-120705] - platform-msi: Add msi_remove_device_irq_domain() in platform_device_msi_free_irqs_all() (Myron Stowe) [RHEL-120705] - genirq/msi: Rename msi_[un]lock_descs() (Myron Stowe) [RHEL-120705] - scsi: ufs: qcom: Remove the MSI descriptor abuse (Myron Stowe) [RHEL-120705] - PCI/TPH: Replace the broken MSI-X control word update (Myron Stowe) [RHEL-120705] - PCI/MSI: Provide a sane mechanism for TPH (Myron Stowe) [RHEL-120705] - PCI: hv: Switch MSI descriptor locking to guard() (Myron Stowe) [RHEL-120705] - PCI/MSI: Switch msix_capability_init() to guard(msi_desc_lock) (Myron Stowe) [RHEL-120705] - PCI/MSI: Switch msi_capability_init() to guard(msi_desc_lock) (Myron Stowe) [RHEL-120705] - PCI/MSI: Use __free() for affinity masks (Myron Stowe) [RHEL-120705] - PCI/MSI: Set pci_dev:: Msi_enabled late (Myron Stowe) [RHEL-120705] - PCI/MSI: Use guard(msi_desc_lock) where applicable (Myron Stowe) [RHEL-120705] - NTB/msi: Switch MSI descriptor locking to lock guard() (Myron Stowe) [RHEL-120705] - soc: ti: ti_sci_inta_msi: Switch MSI descriptor locking to guard() (Myron Stowe) [RHEL-120705] - genirq/msi: Use lock guards for MSI descriptor locking (Myron Stowe) [RHEL-120705] - cleanup: Provide retain_and_null_ptr() (Myron Stowe) [RHEL-120705] - irqdomain: Support three-cell scheme interrupts (Myron Stowe) [RHEL-120705] - genirq/migration: Use irqd_get_parent_data() in irq_force_complete_move() (Myron Stowe) [RHEL-120705] - irqdomain: Stop using 'host' for domain (Myron Stowe) [RHEL-120705] - irqdomain: Rename irq_get_default_host() to irq_get_default_domain() (Myron Stowe) [RHEL-120705] - irqdomain: Rename irq_set_default_host() to irq_set_default_domain() (Myron Stowe) [RHEL-120705] - PCI/MSI: Convert pci_msi_ignore_mask to per MSI domain flag (Myron Stowe) [RHEL-120705] - genirq: Make a few functions static (Myron Stowe) [RHEL-120705] - irqdomain: Remove extern from function declarations (Myron Stowe) [RHEL-120705] - irqchip/davinci-cp-intc: Remove public header (Myron Stowe) [RHEL-120705] - irqdomain: i2c: Switch to irq_find_mapping() (Myron Stowe) [RHEL-120705] - genirq: Introduce irq_can_move_in_process_context() (Myron Stowe) [RHEL-120705] - genirq: Introduce common irq_force_complete_move() implementation (Myron Stowe) [RHEL-120705] - irqchip/riscv-imsic: Move to common MSI library (Myron Stowe) [RHEL-120705] - irqchip/irq-msi-lib: Optionally set default irq_eoi()/irq_ack() (Myron Stowe) [RHEL-120705] - irqchip/riscv-imsic: Set irq_set_affinity() for IMSIC base (Myron Stowe) [RHEL-120705] - net: clear sk->sk_ino in sk_set_socket(sk, NULL) (Paolo Abeni) [RHEL-115597] - net: lockless sock_i_ino() (Paolo Abeni) [RHEL-115597] - net_sched: gen_estimator: fix est_timer() vs CONFIG_PREEMPT_RT=y (Paolo Abeni) [RHEL-115597] - netpoll: prevent hanging NAPI when netcons gets enabled (Paolo Abeni) [RHEL-115597] - net: netmem: fix skb_ensure_writable with unreadable skbs (Paolo Abeni) [RHEL-115597] - net: Fix TOCTOU issue in sk_is_readable() (Paolo Abeni) [RHEL-115597] - Fix sock_exceed_buf_limit not being triggered in __sk_mem_raise_allocated (Paolo Abeni) [RHEL-115597] - netdev: avoid CFI problems with sock priv helpers (Paolo Abeni) [RHEL-115597] - net: don't dump Tx and uninitialized NAPIs (Paolo Abeni) [RHEL-115597] - Documentation: Fix description format for powerpc RTAS ioctls (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Include linux/types.h in papr-platform-dump.h (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Add a char driver for physical-attestation RTAS (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Add papr-platform-dump character driver for dump retrieval (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Add ibm,get-dynamic-sensor-state RTAS call support (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Add ibm,set-dynamic-indicator RTAS call support (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Add papr-indices char driver for ibm,get-indices (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Define papr_indices_io_block for papr-indices ioctls (Mamatha Inamdar) [RHEL-101977] - powerpc/pseries: Define common functions for RTAS sequence calls (Mamatha Inamdar) [RHEL-101977] - ice: fix NULL access of tx->in_use in ice_ll_ts_intr (Petr Oros) [RHEL-113042] - ice: fix NULL access of tx->in_use in ice_ptp_ts_irq (Petr Oros) [RHEL-113042] - redhat/configs: Enable CONFIG_CRASH_DM_CRYPT on RHEL (Coiby Xu) [RHEL-29040] - s390: kexec: initialize kexec_buf struct (Coiby Xu) [RHEL-29040] - arm64: kexec: initialize kexec_buf struct in load_other_segments() (Coiby Xu) [RHEL-29040] - crashdump: add CONFIG_KEYS dependency (Coiby Xu) [RHEL-29040] - crash_dump, nvme: select CONFIGFS_FS as built-in (Coiby Xu) [RHEL-29040] - x86/crash: make the page that stores the dm crypt keys inaccessible (Coiby Xu) [RHEL-29040] - x86/crash: pass dm crypt keys to kdump kernel (Coiby Xu) [RHEL-29040] - crash_dump: retrieve dm crypt keys in kdump kernel (Coiby Xu) [RHEL-29040] - crash_dump: reuse saved dm crypt keys for CPU/memory hot-plugging (Coiby Xu) [RHEL-29040] - crash_dump: store dm crypt keys in kdump reserved memory (Coiby Xu) [RHEL-29040] - crash_dump: make dm crypt keys persist for the kdump kernel (Coiby Xu) [RHEL-29040] - kexec_file: allow to place kexec_buf randomly (Coiby Xu) [RHEL-29040] - vrf: Drop existing dst reference in vrf_ip6_input_dst (Antoine Tenart) [RHEL-115588] - redhat/kernel.spec: make python3-perf glob more specific (Jan Stancek) [RHEL-119658] - net/packet: fix a race in packet_set_ring() and packet_notifier() (Davide Caratti) [RHEL-115601] - af_packet: fix soft lockup issue caused by tpacket_snd() (Davide Caratti) [RHEL-115601] - af_packet: fix the SO_SNDTIMEO constraint not effective on tpacked_snd() (Davide Caratti) [RHEL-115601] - net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime (Davide Caratti) [RHEL-115601] - net: loopback: Avoid sending IP packets without an Ethernet header (Davide Caratti) [RHEL-115601] - xfrm: xfrm_alloc_spi shouldn't use 0 as SPI (Sabrina Dubroca) [RHEL-115581] - xfrm: Duplicate SPI Handling (Sabrina Dubroca) [RHEL-115581] - xfrm: Skip redundant statistics update for crypto offload (Sabrina Dubroca) [RHEL-115581] - xfrm: use kfree_sensitive() for SA secret zeroization (Sabrina Dubroca) [RHEL-115581] - espintcp: remove encap socket caching to avoid reference leak (Sabrina Dubroca) [RHEL-115581] - espintcp: fix skb leaks (Sabrina Dubroca) [RHEL-115581] - xfrm: Use nested-BH locking for nat_keepalive_sk_ipv[46] (Sabrina Dubroca) [RHEL-115581] - tracing: Silence warning when chunk allocation fails in trace_pid_write (Jerome Marchand) [RHEL-115358] {CVE-2025-39914} - trace/fgraph: Fix error handling (Jerome Marchand) [RHEL-115358] - ftrace: Also allocate and copy hash for reading of filter files (Jerome Marchand) [RHEL-115358] {CVE-2025-39689} - ftrace: Fix potential warning in trace_printk_seq during ftrace_dump (Jerome Marchand) [RHEL-115358] {CVE-2025-39813} - tracing: Fix tracing_marker may trigger page fault during preempt_disable (Jerome Marchand) [RHEL-115358] - trace/fgraph: Fix the warning caused by missing unregister notifier (Jerome Marchand) [RHEL-115358] {CVE-2025-39829} - tracing: fprobe-event: Sanitize wildcard for fprobe event name (Jerome Marchand) [RHEL-115358] - tracing: Limit access to parser->buffer when trace_get_user failed (Jerome Marchand) [RHEL-115358] {CVE-2025-39683} - tracing: Remove unneeded goto out logic (Jerome Marchand) [RHEL-115358] - tracing: Add down_write(trace_event_sem) when adding trace event (Jerome Marchand) [RHEL-115358] {CVE-2025-38539} - tracing/osnoise: Fix crash in timerlat_dump_stack() (Jerome Marchand) [RHEL-115358] {CVE-2025-38493} - tracing/probes: Avoid using params uninitialized in parse_btf_arg() (Jerome Marchand) [RHEL-115358] - ring-buffer: Remove ring_buffer_read_prepare_sync() (Jerome Marchand) [RHEL-115358] - kernel: trace: preemptirq_delay_test: use offstack cpu mask (Jerome Marchand) [RHEL-115358] - tracefs: Add d_delete to remove negative dentries (Jerome Marchand) [RHEL-115358] - ring-buffer: Fix buffer locking in ring_buffer_subbuf_order_set() (Jerome Marchand) [RHEL-115358] {CVE-2025-38101} - ftrace: Fix UAF when lookup kallsym after ftrace disabled (Jerome Marchand) [RHEL-115358] {CVE-2025-38346} - ring-buffer: Do not trigger WARN_ON() due to a commit_overrun (Jerome Marchand) [RHEL-115358] {CVE-2025-38267} - ring-buffer: Move cpus_read_lock() outside of buffer->mutex (Jerome Marchand) [RHEL-115358] - tracing: Fix compilation warning on arm32 (Jerome Marchand) [RHEL-115358] - ring-buffer: Fix persistent buffer when commit page is the reader page (Jerome Marchand) [RHEL-115358] - ftrace: Fix preemption accounting for stacktrace filter command (Jerome Marchand) [RHEL-115358] - ftrace: Fix preemption accounting for stacktrace trigger command (Jerome Marchand) [RHEL-115358] - tracing: probes: Fix a possible race in trace_probe_log APIs (Jerome Marchand) [RHEL-115358] - tracing: samples: Initialize trace_array_printk() with the correct function (Jerome Marchand) [RHEL-115358] - tracing: Fix error handling in event_trigger_parse() (Jerome Marchand) [RHEL-115358] - tracing: Rename event_trigger_alloc() to trigger_data_alloc() (Jerome Marchand) [RHEL-115358] - tracing: Do not take trace_event_sem in print_event_fields() (Jerome Marchand) [RHEL-115358] - tracing: Fix oob write in trace_seq_to_buffer() (Jerome Marchand) [RHEL-115358] {CVE-2025-37923} - tracing: Fix filter string testing (Jerome Marchand) [RHEL-115358] - ftrace: fix incorrect hash size in register_ftrace_direct() (Jerome Marchand) [RHEL-115358] - ftrace: Properly merge notrace hashes (Jerome Marchand) [RHEL-115358] - tracing: Do not add length to print format in synthetic events (Jerome Marchand) [RHEL-115358] - tracing: Move histogram trigger variables from stack to per CPU structure (Jerome Marchand) [RHEL-115358] - tracing: Constify struct event_trigger_ops (Jerome Marchand) [RHEL-115358] - ring-buffer: Use flush_kernel_vmap_range() over flush_dcache_folio() (Jerome Marchand) [RHEL-115358] - ftrace: Add cond_resched() to ftrace_graph_set_hash() (Jerome Marchand) [RHEL-115358] {CVE-2025-37940} - tracing: Verify event formats that have "%%*p.." (Jerome Marchand) [RHEL-115358] {CVE-2025-37938} - tracing: Add __print_dynamic_array() helper (Jerome Marchand) [RHEL-115358] - tracing: probe-events: Add comments about entry data storing code (Jerome Marchand) [RHEL-115358] - tracing: Fix synth event printk format for str fields (Jerome Marchand) [RHEL-115358] - tracing: Do not use PERF enums when perf is not defined (Jerome Marchand) [RHEL-115358] - tracing: fix return value in __ftrace_event_enable_disable for TRACE_REG_UNREGISTER (Jerome Marchand) [RHEL-115358] - tracing/osnoise: Fix possible recursive locking for cpus_read_lock() (Jerome Marchand) [RHEL-115358] - tracing: Fix use-after-free in print_graph_function_flags during tracer switching (Jerome Marchand) [RHEL-115358] {CVE-2025-22035} - tracing: Ensure module defining synth event cannot be unloaded while tracing (Jerome Marchand) [RHEL-115358] - tracing: Correct the refcount if the hist/hist_debug file fails to open (Jerome Marchand) [RHEL-115358] - ring-buffer: Fix bytes_dropped calculation issue (Jerome Marchand) [RHEL-115358] - tracing/hist: Support POLLPRI event for poll on histogram (Jerome Marchand) [RHEL-115358] - tracing/hist: Add poll(POLLIN) support on hist file (Jerome Marchand) [RHEL-115358] - tracing: Switch trace_events_hist.c code over to use guard() (Jerome Marchand) [RHEL-115358] - redhat: use the same cert as UKI's to sign addons (Li Tian) [RHEL-124088] - blk-mq: fix blk_mq_tags double free while nr_requests grown (Ming Lei) [RHEL-118047] - smp: Fix up and expand the smp_call_function_many() kerneldoc (Waiman Long) [RHEL-121178] - smp: Fix spelling in on_each_cpu_cond_mask()'s doc-comment (Waiman Long) [RHEL-121178] - smp: Document preemption and stop_machine() mutual exclusion (Waiman Long) [RHEL-121178] - smp: Wait only if work was enqueued (Waiman Long) [RHEL-121178] - smp: Defer check for local execution in smp_call_function_many_cond() (Waiman Long) [RHEL-121178] - smp: Use cpumask_any_but() in smp_call_function_many_cond() (Waiman Long) [RHEL-121178] - smp: Improve locality in smp_call_function_any() (Waiman Long) [RHEL-121178] - smp/scf: Evaluate local cond_func() before IPI side-effects (Waiman Long) [RHEL-121178] - selftests: fib_nexthops: Add test cases for FDB status change (Guillaume Nault) [RHEL-115577] - selftests: fib_nexthops: Fix creation of non-FDB nexthops (Guillaume Nault) [RHEL-115577] - nexthop: Forbid FDB status change while nexthop is in a group (Guillaume Nault) [RHEL-115577] - ipv4: Fix NULL vs error pointer check in inet_blackhole_dev_init() (Guillaume Nault) [RHEL-115577] - inet: ping: check sock_net() in ping_get_port() and ping_lookup() (Guillaume Nault) [RHEL-115577] - ipv4: Switch inet_addr_hash() to less predictable hash. (Guillaume Nault) [RHEL-115577] - vxlan: Fix NPD in {arp,neigh}_reduce() when using nexthop objects (Guillaume Nault) [RHEL-115591] - vxlan: Fix NPD when refreshing an FDB entry with a nexthop object (Guillaume Nault) [RHEL-115591] - vxlan: vnifilter: Fix unlocked deletion of default FDB entry (Guillaume Nault) [RHEL-115591] - vxlan: Add RCU read-side critical sections in the Tx path (Guillaume Nault) [RHEL-115591] - i2c: tegra: Use internal reset when reset property is not available (Charles Mirabile) [RHEL-113178] - i2c: tegra: Fix reset error handling with ACPI (Charles Mirabile) [RHEL-113178] - selftests: bonding: add fail_over_mac testing (CKI Backport Bot) [RHEL-115579] - bonding: set random address only when slaves already exist (CKI Backport Bot) [RHEL-115579] - bonding: don't force LACPDU tx to ~333 ms boundaries (CKI Backport Bot) [RHEL-115579] - sched: restore the behavior of put_task_struct() for non-rt (Luis Claudio R. Goncalves) [RHEL-73310] - sched: Do not call __put_task_struct() on rt if pi_blocked_on is set (Luis Claudio R. Goncalves) [RHEL-73310] - nbd: restrict sockets to TCP and UDP (Ming Lei) [RHEL-121713] - loop: fix backing file reference leak on validation error (Ming Lei) [RHEL-118049] - brd: use page reference to protect page lifetime (Ming Lei) [RHEL-116171] - sched_ext: idle: Handle migration-disabled tasks in BPF code (Phil Auld) [RHEL-111810] - sched_ext, sched/core: Fix build failure when !FAIR_GROUP_SCHED && EXT_GROUP_SCHED (Phil Auld) [RHEL-111810] - Revert "sched_ext: Skip per-CPU tasks in scx_bpf_reenqueue_local()" (Phil Auld) [RHEL-111810] - selftests/sched_ext: Remove duplicate sched.h header (Phil Auld) [RHEL-111810] - sched/ext: Fix invalid task state transitions on class switch (Phil Auld) [RHEL-111810] {CVE-2025-39780} - sched_ext: idle: Handle migration-disabled tasks in idle selection (Phil Auld) [RHEL-111810] - sched_ext: Fix scx_bpf_reenqueue_local() reference (Phil Auld) [RHEL-111810] - sched/ext: Prevent update_locked_rq() calls with NULL rq (Phil Auld) [RHEL-111810] {CVE-2025-38522} - sched_ext: Drop kfuncs marked for removal in 6.15 (Phil Auld) [RHEL-111810] - sched_ext, rcu: Eject BPF scheduler on RCU CPU stall panic (Phil Auld) [RHEL-111810] - kernel/sched/ext.c: fix typo "occured" -> "occurred" in comments (Phil Auld) [RHEL-111810] - sched_ext, sched/core: Factor out struct scx_task_group (Phil Auld) [RHEL-111810] - sched_ext, sched/core: Don't call scx_group_set_weight() prematurely from sched_create_group() (Phil Auld) [RHEL-111810] - sched_ext: Make scx_group_set_weight() always update tg->scx.weight (Phil Auld) [RHEL-111810] - sched_ext: Return NULL in llc_span (Phil Auld) [RHEL-111810] - sched_ext: Always use SMP versions in kernel/sched/ext_idle.h (Phil Auld) [RHEL-111810] - sched_ext: Always use SMP versions in kernel/sched/ext_idle.c (Phil Auld) [RHEL-111810] - sched_ext: Always use SMP versions in kernel/sched/ext.h (Phil Auld) [RHEL-111810] - sched_ext: Always use SMP versions in kernel/sched/ext.c (Phil Auld) [RHEL-111810] - sched_ext: Make scx_locked_rq() inline (Phil Auld) [RHEL-111810] - sched_ext: Make scx_rq_bypassing() inline (Phil Auld) [RHEL-111810] - sched_ext: idle: Make local functions static in ext_idle.c (Phil Auld) [RHEL-111810] - sched_ext: idle: Remove unnecessary ifdef in scx_bpf_cpu_node() (Phil Auld) [RHEL-111810] - sched_ext: idle: Skip cross-node search with !CONFIG_NUMA (Phil Auld) [RHEL-111810] - sched_ext: idle: Properly handle invalid prev_cpu during idle selection (Phil Auld) [RHEL-111810] - sched_ext: Call ops.update_idle() after updating builtin idle bits (Phil Auld) [RHEL-111810] - selftests/sched_ext: Update test enq_select_cpu_fails (Phil Auld) [RHEL-111810] - sched_ext: idle: Consolidate default idle CPU selection kfuncs (Phil Auld) [RHEL-111810] - selftests/sched_ext: Add test for scx_bpf_select_cpu_and() via test_run (Phil Auld) [RHEL-111810] - sched_ext: idle: Allow scx_bpf_select_cpu_and() from unlocked context (Phil Auld) [RHEL-111810] - sched_ext: idle: Validate locking correctness in scx_bpf_select_cpu_and() (Phil Auld) [RHEL-111810] - sched_ext: Make scx_kf_allowed_if_unlocked() available outside ext.c (Phil Auld) [RHEL-111810] - sched_ext: Explain the temporary situation around scx_root dereferences (Phil Auld) [RHEL-111810] - sched_ext: Add @sch to SCX_CALL_OP*() (Phil Auld) [RHEL-111810] - sched_ext: Cleanup [__]scx_exit/error*() (Phil Auld) [RHEL-111810] - sched_ext: Add @sch to SCX_CALL_OP*() (Phil Auld) [RHEL-111810] - sched_ext: Clean up scx_root usages (Phil Auld) [RHEL-111810] - sched_ext: Avoid NULL scx_root deref in __scx_exit() (Phil Auld) [RHEL-111810] - sched_ext: Add RCU protection to scx_root in DSQ iterator (Phil Auld) [RHEL-111810] - sched_ext: Clean up SCX_EXIT_NONE handling in scx_disable_workfn() (Phil Auld) [RHEL-111810] - sched_ext: Move disable machinery into scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Move event_stats_cpu into scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Factor out scx_read_events() (Phil Auld) [RHEL-111810] - sched_ext: Relocate scx_event_stats definition (Phil Auld) [RHEL-111810] - sched_ext: Move global_dsqs into scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Move dsq_hash into scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Factor out scx_alloc_and_add_sched() (Phil Auld) [RHEL-111810] - sched_ext: Inline create_dsq() into scx_bpf_create_dsq() (Phil Auld) [RHEL-111810] - sched_ext: Use dynamic allocation for scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Avoid NULL scx_root deref through SCX_HAS_OP() (Phil Auld) [RHEL-111810] - sched_ext: Introduce scx_sched (Phil Auld) [RHEL-111810] - sched_ext: Fix rq lock state in hotplug ops (Phil Auld) [RHEL-111810] - sched_ext: Remove duplicate BTF_ID_FLAGS definitions (Phil Auld) [RHEL-111810] - sched_ext: Clarify CPU context for running/stopping callbacks (Phil Auld) [RHEL-111810] - sched_ext: Fix missing rq lock in scx_bpf_cpuperf_set() (Phil Auld) [RHEL-111810] - sched_ext: Track currently locked rq (Phil Auld) [RHEL-111810] - sched_ext: add helper for refill task with default slice (Phil Auld) [RHEL-111810] - sched_ext: change the variable name for slice refill event (Phil Auld) [RHEL-111810] - sched_ext: Improve cross-compilation support in Makefile (Phil Auld) [RHEL-111810] - sched_ext: Make scx_has_op a bitmap (Phil Auld) [RHEL-111810] - sched_ext: Remove scx_ops_allow_queued_wakeup static_key (Phil Auld) [RHEL-111810] - sched_ext: Remove scx_ops_cpu_preempt static_key (Phil Auld) [RHEL-111810] - sched_ext: Remove scx_ops_enq_* static_keys (Phil Auld) [RHEL-111810] - sched_ext: Indentation updates (Phil Auld) [RHEL-111810] - sched_ext: Mark SCX_OPS_HAS_CGROUP_WEIGHT for deprecation (Phil Auld) [RHEL-111810] - sched_ext: Remove cpu.weight / cpu.idle unimplemented warnings (Phil Auld) [RHEL-111810] - sched_ext: Use kvzalloc for large exit_dump allocation (Phil Auld) [RHEL-111810] - selftests/sched_ext: Add test for scx_bpf_select_cpu_and() (Phil Auld) [RHEL-111810] - sched_ext: idle: Introduce scx_bpf_select_cpu_and() (Phil Auld) [RHEL-111810] - sched_ext: idle: Accept an arbitrary cpumask in scx_select_cpu_dfl() (Phil Auld) [RHEL-111810] - sched_ext: idle: Explicitly pass allowed cpumask to scx_select_cpu_dfl() (Phil Auld) [RHEL-111810] - sched_ext: idle: Extend topology optimizations to all tasks (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from SCX_OPS_TASK_ITER_BATCH (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from scx_ops_{init|exit|enable|disable}[_task]() and friends (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from scx_ops_exit(), scx_ops_error() and friends (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from scx_ops_bypass(), scx_ops_breather() and friends (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from scx_ops_helper, scx_ops_enable_mutex and __scx_ops_enabled (Phil Auld) [RHEL-111810] - sched_ext: Drop "ops" from scx_ops_enable_state and friends (Phil Auld) [RHEL-111810] - tools/sched_ext: Sync with scx repo (Phil Auld) [RHEL-111810] - sched_ext: initialize built-in idle state before ops.init() (Phil Auld) [RHEL-111810] - sched_ext: create_dsq: Return -EEXIST on duplicate request (Phil Auld) [RHEL-111810] - sched_ext: Remove a meaningless conditional goto in scx_select_cpu_dfl() (Phil Auld) [RHEL-111810] - sched_ext: idle: Fix return code of scx_select_cpu_dfl() (Phil Auld) [RHEL-111810] - sched/debug: Remove CONFIG_SCHED_DEBUG from self-test config files (Phil Auld) [RHEL-111810] - sched_ext: idle: Refactor scx_select_cpu_dfl() (Phil Auld) [RHEL-111810] - sched_ext: idle: Honor idle flags in the built-in idle selection policy (Phil Auld) [RHEL-111810] - sched_ext: Skip per-CPU tasks in scx_bpf_reenqueue_local() (Phil Auld) [RHEL-111810] - sched_ext: Add trace point to track sched_ext core events (Phil Auld) [RHEL-111810] - sched_ext: Change the event type from u64 to s64 (Phil Auld) [RHEL-111810] - sched_ext: Validate prev_cpu in scx_bpf_select_cpu_dfl() (Phil Auld) [RHEL-111810] {CVE-2025-21965} - tools/sched_ext: Provide a compatible helper for scx_bpf_events() (Phil Auld) [RHEL-111810] - selftests/sched_ext: Add NUMA-aware scheduler test (Phil Auld) [RHEL-111810] - tools/sched_ext: Provide consistent access to scx flags (Phil Auld) [RHEL-111810] - sched_ext: idle: Fix scx_bpf_pick_any_cpu_node() behavior (Phil Auld) [RHEL-111810] - nodemask: numa: reorganize inclusion path (Phil Auld) [RHEL-111810] - sched_ext: idle: Introduce scx_bpf_nr_node_ids() (Phil Auld) [RHEL-111810] - sched_ext: idle: Introduce node-aware idle cpu kfunc helpers (Phil Auld) [RHEL-111810] - sched_ext: idle: Per-node idle cpumasks (Phil Auld) [RHEL-111810] - sched_ext: idle: Introduce SCX_OPS_BUILTIN_IDLE_PER_NODE (Phil Auld) [RHEL-111810] - sched_ext: idle: Make idle static keys private (Phil Auld) [RHEL-111810] - sched/topology: Introduce for_each_node_numadist() iterator (Phil Auld) [RHEL-111810] - mm/numa: Introduce nearest_node_nodemask() (Phil Auld) [RHEL-111810] - nodemask: add nodes_copy() (Phil Auld) [RHEL-111810] - tools/sched_ext: Sync with scx repo (Phil Auld) [RHEL-111810] - sched_ext: Provides a sysfs 'events' to expose core event counters (Phil Auld) [RHEL-111810] - sched_ext: Implement SCX_OPS_ALLOW_QUEUED_WAKEUP (Phil Auld) [RHEL-111810] - tools/sched_ext: Update enum_defs.autogen.h (Phil Auld) [RHEL-111810] - sched_ext: Take NUMA node into account when allocating per-CPU cpumasks (Phil Auld) [RHEL-111810] - tools/sched_ext: Compatible testing of SCX_ENQ_CPU_SELECTED (Phil Auld) [RHEL-111810] - sched_ext: Add SCX_EV_ENQ_SKIP_MIGRATION_DISABLED (Phil Auld) [RHEL-111810] - sched_ext: Count SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE in the right spot (Phil Auld) [RHEL-111810] - tool/sched_ext: Event counter dumping updates (Phil Auld) [RHEL-111810] - sched_ext: Print an event, SCX_EV_ENQ_SLICE_DFL, in scx_qmap/central (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_ENQ_SLICE_DFL (Phil Auld) [RHEL-111810] - sched_ext: Print core event count in scx_qmap scheduler (Phil Auld) [RHEL-111810] - sched_ext: Print core event count in scx_central scheduler (Phil Auld) [RHEL-111810] - sched_ext: Add scx_bpf_events() and scx_read_event() for BPF schedulers (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_BYPASS_DURATION (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_BYPASS_DISPATCH (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_BYPASS_ACTIVATE (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_ENQ_SKIP_EXITING (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_DISPATCH_KEEP_LAST (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_DISPATCH_LOCAL_DSQ_OFFLINE (Phil Auld) [RHEL-111810] - sched_ext: Add an event, SCX_EV_SELECT_CPU_FALLBACK (Phil Auld) [RHEL-111810] - sched_ext: Implement event counter infrastructure (Phil Auld) [RHEL-111810] - sched_ext: Move built-in idle CPU selection policy to a separate file (Phil Auld) [RHEL-111810] - uki-virt: add systemd-repart module (Emanuele Giuseppe Esposito) [RHEL-107274] - io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths (Jeff Moyer) [RHEL-116130] - io_uring/kbuf: fix signedness in this_len calculation (Jeff Moyer) [RHEL-116130] - cgroup/psi: Set of->priv to NULL upon file release (CKI Backport Bot) [RHEL-119145] {CVE-2025-39881} - kernfs: Fix UAF in polling when open file is released (CKI Backport Bot) [RHEL-119145] {CVE-2025-39881} - macsec: read MACSEC_SA_ATTR_PN with nla_get_uint (CKI Backport Bot) [RHEL-115574] - macsec: MACsec SCI assignment for ES = 0 (CKI Backport Bot) [RHEL-115574] - scsi: lpfc: Copyright updates for 14.4.0.10 patches (Paul Ely) [RHEL-103751] - scsi: lpfc: Update lpfc version to 14.4.0.10 (Paul Ely) [RHEL-103751] - scsi: lpfc: Modify end-of-life adapters' model descriptions (Paul Ely) [RHEL-103751] - scsi: lpfc: Revise CQ_CREATE_SET mailbox bitfield definitions (Paul Ely) [RHEL-103751] - scsi: lpfc: Move clearing of HBA_SETUP flag to before lpfc_sli4_queue_unset (Paul Ely) [RHEL-103751] - scsi: lpfc: Ensure HBA_SETUP flag is used only for SLI4 in dev_loss_tmo_callbk (Paul Ely) [RHEL-103751] - scsi: lpfc: Relocate clearing initial phba flags from link up to link down hdlr (Paul Ely) [RHEL-103751] - scsi: lpfc: Simplify error handling for failed lpfc_get_sli4_parameters cmd (Paul Ely) [RHEL-103751] - scsi: lpfc: Early return out of FDMI cmpl for locally rejected statuses (Paul Ely) [RHEL-103751] - scsi: lpfc: Skip RSCN processing when FC_UNLOADING flag is set (Paul Ely) [RHEL-103751] - scsi: lpfc: Check for hdwq null ptr when cleaning up lpfc_vport structure (Paul Ely) [RHEL-103751] - scsi: lpfc: Update debugfs trace ring initialization messages (Paul Ely) [RHEL-103751] - scsi: lpfc: Revise logging format for failed CT MIB requests (Paul Ely) [RHEL-103751] - sched/deadline: Don't count nr_running for dl_server proxy tasks (Phil Auld) [RHEL-110301] - sched/deadline: Fix RT task potential starvation when expiry time passed (Phil Auld) [RHEL-110301] - sched/deadline: Always stop dl-server before changing parameters (Phil Auld) [RHEL-110301] - sched/deadline: Fix dl_server_stopped() (Phil Auld) [RHEL-110301] - sched/psi: Fix psi_seq initialization (Phil Auld) [RHEL-110301] - sched/topology: Remove sched_domain_topology_level::flags (Phil Auld) [RHEL-110301] - Revert "sched/numa: add statistics of numa balance task" (Phil Auld) [RHEL-110301] - sched/fair: Bump sd->max_newidle_lb_cost when newidle balance fails (Phil Auld) [RHEL-110301] - sched/psi: Optimize psi_group_change() cpu_clock() usage (Phil Auld) [RHEL-110301] - sched/core: Reorganize cgroup bandwidth control interface file writes (Phil Auld) [RHEL-110301] - sched/core: Reorganize cgroup bandwidth control interface file reads (Phil Auld) [RHEL-110301] - sched/core: Relocate tg_get_cfs_*() and cpu_cfs_*_read_*() (Phil Auld) [RHEL-110301] - sched/fair: Move max_cfs_quota_period decl and default_cfs_period() def from fair.c to sched.h (Phil Auld) [RHEL-110301] - sched/eevdf: Correct the comment in place_entity (Phil Auld) [RHEL-110301] - sched/numa: fix task swap by skipping kernel threads (Phil Auld) [RHEL-110301] - sched/numa: add statistics of numa balance task (Phil Auld) [RHEL-110301] - sched,livepatch: Untangle cond_resched() and live-patching (Phil Auld) [RHEL-110301] - sched/numa: add tracepoint that tracks the skipping of numa balancing due to cpuset memory pinning (Phil Auld) [RHEL-110301] - sched/numa: skip VMA scanning on memory pinned to one NUMA node via cpuset.mems (Phil Auld) [RHEL-110301] - sched/core: Tweak wait_task_inactive() to force dequeue sched_delayed tasks (Phil Auld) [RHEL-110301] - sched/topology: Refinement to topology_span_sane speedup (Phil Auld) [RHEL-110301] - sched: Fix trace_sched_switch(.prev_state) (Phil Auld) [RHEL-110301] - sched/topology: improve topology_span_sane speed (Phil Auld) [RHEL-110301] - sched/uclamp: Optimize sched_uclamp_used static key enabling (Phil Auld) [RHEL-110301] - sched/uclamp: Use the uclamp_is_used() helper instead of open-coding it (Phil Auld) [RHEL-110301] - sched/core: Remove duplicate included header file stats.h (Phil Auld) [RHEL-110301] - sched: Add unlikey branch hints to several system calls (Phil Auld) [RHEL-110301] - sched/eevdf: Force propagating min_slice of cfs_rq when {en,de}queue tasks (Phil Auld) [RHEL-110301] - sched/fair: Refactor can_migrate_task() to elimate looping (Phil Auld) [RHEL-110301] - mm/debug_vm_pgtable: clear page table entries at destroy_args() (Herton R. Krzesinski) [RHEL-52253] - Revert "aacraid: Remove depreciated device and vendor PCI id's" (Scott Weaver) [RHEL-106859] - rh_messages.h: add missing aacraid device (Scott Weaver) [RHEL-106859] - i2c: tiny-usb: disable zero-length read messages (Desnes Nunes) [RHEL-116007] - i2c: Use str_read_write() helper (Desnes Nunes) [RHEL-116007] - memstick: core: Zero initialize id_reg in h_memstick_read_dev_id() (Desnes Nunes) [RHEL-116007] - usb: hub: Don't try to recover devices lost during warm reset. (Desnes Nunes) [RHEL-116007] - USB: serial: option: add Telit Cinterion FE910C04 (ECM) composition (Desnes Nunes) [RHEL-116007] - USB: serial: ftdi_sio: add support for NDI EMGUIDE GEMINI (Desnes Nunes) [RHEL-116007] - xhci: dbc: Flush queued requests before stopping dbc (Desnes Nunes) [RHEL-116007] - xhci: dbctty: disable ECHO flag by default (Desnes Nunes) [RHEL-116007] - xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS (Desnes Nunes) [RHEL-116007] - usb: xhci: quirk for data loss in ISOC transfers (Desnes Nunes) [RHEL-116007] - usb: typec: displayport: Fix potential deadlock (Desnes Nunes) [RHEL-116007] {CVE-2025-38404} - usb: typec: altmodes/displayport: do not index invalid pin_assignments (Desnes Nunes) [RHEL-116007] {CVE-2025-38391} - usb: typec: tcpm: apply vbus before data bringup in tcpm_src_attach (Desnes Nunes) [RHEL-116007] - USB: serial: option: add Foxconn T99W640 (Desnes Nunes) [RHEL-116007] - thunderbolt: Fix bit masking in tb_dp_port_set_hops() (Desnes Nunes) [RHEL-116007] - thunderbolt: Fix wake on connect at runtime (Desnes Nunes) [RHEL-116007] - Revert "usb: xhci: Implement xhci_handshake_check_state() helper" (Desnes Nunes) [RHEL-116007] - usb: xhci: Skip xhci_reset in xhci_resume if xhci is being removed (Desnes Nunes) [RHEL-116007] - usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume (Desnes Nunes) [RHEL-116007] {CVE-2025-38376} - usb: acpi: fix device link removal (Desnes Nunes) [RHEL-116007] - Logitech C-270 even more broken (Desnes Nunes) [RHEL-116007] - phy: use per-PHY lockdep keys (Desnes Nunes) [RHEL-116007] - phy: tegra: xusb: Fix unbalanced regulator disable in UTMI PHY mode (Desnes Nunes) [RHEL-116007] {CVE-2025-38535} - phy: tegra: xusb: Disable periodic tracking on Tegra234 (Desnes Nunes) [RHEL-116007] - phy: tegra: xusb: Decouple CYA_TRK_CODE_UPDATE_ON_IDLE from trk_hw_mode (Desnes Nunes) [RHEL-116007] - usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n (Desnes Nunes) [RHEL-116007] - usb: typec: tipd: fix typo in TPS_STATUS_HIGH_VOLAGE_WARNING macro (Desnes Nunes) [RHEL-116007] - USB: typec: fix const issue in typec_match() (Desnes Nunes) [RHEL-116007] - USB: gadget: udc: fix const issue in gadget_match_driver() (Desnes Nunes) [RHEL-116007] - USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB (Desnes Nunes) [RHEL-116007] - USB: serial: bus: fix const issue in usb_serial_device_match() (Desnes Nunes) [RHEL-116007] - usb: misc: onboard_usb_dev: Fix usb5744 initialization sequence (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: ti,usb8041: Add binding for TI USB8044 hub controller (Desnes Nunes) [RHEL-116007] - usb: misc: onboard_usb_dev: Add support for TI TUSB8044 hub (Desnes Nunes) [RHEL-116007] - usb: core: config: Use USB API functions rather than constants (Desnes Nunes) [RHEL-116007] - usb: Flush altsetting 0 endpoints before reinitializating them after reset. (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: Add Parade PS8833 Type-C retimer variant (Desnes Nunes) [RHEL-116007] - usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device (Desnes Nunes) [RHEL-116007] - usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: Use configured PD revision for negotiation (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work (Desnes Nunes) [RHEL-116007] {CVE-2025-38268} - xhci: Add missing parameter description to xhci_get_endpoint_index() (Desnes Nunes) [RHEL-116007] - usb: xhci: fix host not responding after suspend and resume (Desnes Nunes) [RHEL-116007] - usb: xhci: rename 'irq_control' to 'imod' (Desnes Nunes) [RHEL-116007] - usb: xhci: rename 'irq_pending' to 'iman' (Desnes Nunes) [RHEL-116007] - usb: xhci: cleanup IMOD register comments (Desnes Nunes) [RHEL-116007] - usb: xhci: rework Event Ring Segment Table Address mask (Desnes Nunes) [RHEL-116007] - usb: xhci: rework Event Ring Segment Table Size mask (Desnes Nunes) [RHEL-116007] - usb: xhci: remove '0' write to write-1-to-clear register (Desnes Nunes) [RHEL-116007] - usb: xhci: guarantee that IMAN register is flushed (Desnes Nunes) [RHEL-116007] - usb: xhci: improve Interrupt Management register macros (Desnes Nunes) [RHEL-116007] - usb: xhci: set requested IMODI to the closest supported value (Desnes Nunes) [RHEL-116007] - usb: xhci: cleanup xhci_mem_init() (Desnes Nunes) [RHEL-116007] - usb: xhci: add individual allocation checks in xhci_mem_init() (Desnes Nunes) [RHEL-116007] - usb: xhci: move initialization of the primary interrupter (Desnes Nunes) [RHEL-116007] - usb: xhci: remove error handling from xhci_add_interrupter() (Desnes Nunes) [RHEL-116007] - usb: xhci: move enabling of USB 3 device notifications (Desnes Nunes) [RHEL-116007] - usb: xhci: move doorbell array pointer assignment (Desnes Nunes) [RHEL-116007] - usb: xhci: move DCBAA pointer write (Desnes Nunes) [RHEL-116007] - usb: xhci: refactor xhci_set_cmd_ring_deq() (Desnes Nunes) [RHEL-116007] - usb: xhci: move command ring pointer write (Desnes Nunes) [RHEL-116007] - usb: xhci: move device slot enabling register write (Desnes Nunes) [RHEL-116007] - usb: xhci: relocate pre-allocation initialization (Desnes Nunes) [RHEL-116007] - usb: xhci: Add debugfs support for xHCI port bandwidth (Desnes Nunes) [RHEL-116007] - usb: xhci: Don't log transfer ring segment list on errors (Desnes Nunes) [RHEL-116007] - phy: tegra: p2u: Broaden architecture dependency (Desnes Nunes) [RHEL-116007] - phy: fsl-imx8mq-usb: add i.MX95 tuning support (Desnes Nunes) [RHEL-116007] - phy: fsl-imx8mq-usb: fix phy_tx_vboost_level_from_property() (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: imx8mq-usb: add imx95 tuning support (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: imx8mq-usb: fix fsl,phy-tx-vboost-level-microvolt property (Desnes Nunes) [RHEL-116007] - phy: freescale: imx8m-pcie: Simplify with dev_err_probe() (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: rockchip: Convert RK3399 Type-C PHY to schema (Desnes Nunes) [RHEL-116007] - ucsi_ccg: Disable async suspend in ucsi_ccg_probe() (Desnes Nunes) [RHEL-116007] - thunderbolt: Do not double dequeue a configuration request (Desnes Nunes) [RHEL-116007] {CVE-2025-38174} - USB: serial: ti_usb_3410_5052: drop bogus read urb check (Desnes Nunes) [RHEL-116007] - usb: misc: onboard_usb_dev: Add Parade PS5511 hub support (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: realtek,rts5411: Adapt usb-hub.yaml (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: Add binding for PS5511 hub controller (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: Introduce usb-hub.yaml (Desnes Nunes) [RHEL-116007] - misc: rtsx: Remove deadcode (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: usb-switch: Allow data-lanes property in port (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: generic-ehci: Add VIA/WonderMedia compatible (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: usb-device: relax compatible pattern to a contains (Desnes Nunes) [RHEL-116007] - usb: typec: ucsi: fix Clang -Wsign-conversion warning (Desnes Nunes) [RHEL-116007] - usb: acpi: Prevent null pointer dereference in usb_acpi_add_usb4_devlink() (Desnes Nunes) [RHEL-116007] {CVE-2025-38134} - USB: host: omap: Do not enable by default during compile testing (Desnes Nunes) [RHEL-116007] - usb: typec: mux: fsa4480: add regulator support (Desnes Nunes) [RHEL-116007] - HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse() (Desnes Nunes) [RHEL-116007] {CVE-2025-38103} - Documentation/admin-guide: Document Thunderbolt/USB4 tunneling events (Desnes Nunes) [RHEL-116007] - thunderbolt: Notify userspace about firmware CM tunneling events (Desnes Nunes) [RHEL-116007] - thunderbolt: Notify userspace about software CM tunneling events (Desnes Nunes) [RHEL-116007] - thunderbolt: Introduce domain event message handler (Desnes Nunes) [RHEL-116007] - usb: typec: Connect Type-C port with associated USB4 port (Desnes Nunes) [RHEL-116007] - thunderbolt: Add Thunderbolt/USB4 <-> USB3 match function (Desnes Nunes) [RHEL-116007] - thunderbolt: Expose usb4_port_index() to other modules (Desnes Nunes) [RHEL-116007] - thunderbolt: Fix a logic error in wake on connect (Desnes Nunes) [RHEL-116007] - misc: rtsx: Enhance the signal handling processes in SVID/SSID 1028:0CE1 platform (Desnes Nunes) [RHEL-116007] - usb: misc: onboard_dev: Add Realtek RTL8188ETV WiFi (0bda:0179) (Desnes Nunes) [RHEL-116007] - Added usb_string function to a namespace (Desnes Nunes) [RHEL-116007] - USB: core: Correct API usb_(enable|disable)_autosuspend() prototypes (Desnes Nunes) [RHEL-116007] - usb: Remove orphaned UDC drivers (Desnes Nunes) [RHEL-116007] - USB: phy: Use str_enable_disable-like helpers (Desnes Nunes) [RHEL-116007] - usb: common: usb-conn-gpio: use a unique name for usb connector device (Desnes Nunes) [RHEL-116007] - usb: hub: Fail fast in USB3 link power management enable path (Desnes Nunes) [RHEL-116007] - usb: hub: reorder USB3 link power management enable requests (Desnes Nunes) [RHEL-116007] - usb: hub: Don't disable LPM completely if device initiated LPM fails (Desnes Nunes) [RHEL-116007] - usb: hub: verify device is configured in usb_device_may_initiate_lpm() (Desnes Nunes) [RHEL-116007] - usb: hub: Block less in USB3 link power management LPM disable path (Desnes Nunes) [RHEL-116007] - usb: Add checks for snprintf() calls in usb_alloc_dev() (Desnes Nunes) [RHEL-116007] - usb: chipidea: imx: add HSIO Block Control wakeup setting (Desnes Nunes) [RHEL-116007] - usb: chipidea: imx: add wakeup interrupt handling (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: usbmisc-imx: add support for i.MX95 platform (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: chipidea: Add i.MX95 compatible string 'fsl,imx95-usb' (Desnes Nunes) [RHEL-116007] - usb: cdc-wdm: avoid setting WDM_READ for ZLP-s (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: smsc,usb3503: Correct indentation and style in DTS example (Desnes Nunes) [RHEL-116007] - usb: cdns3: Remove the invalid comment (Desnes Nunes) [RHEL-116007] - usb: typec: displayport: Receive DP Status Update NAK request exit dp altmode (Desnes Nunes) [RHEL-116007] - usb: typec: tipd: Fix wakeup source leaks on device unbind (Desnes Nunes) [RHEL-116007] - PM: wakeup: implement devm_device_init_wakeup() helper (Desnes Nunes) [RHEL-116007] - usb: typec: tcpci: add regulator support (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: allow switching to mode accessory to mux properly (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: allow sink (ufp) to toggle into accessory mode debug (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: allow to use sink in accessory mode (Desnes Nunes) [RHEL-116007] - usb: typec: mux: do not return on EOPNOTSUPP in {mux, switch}_set (Desnes Nunes) [RHEL-116007] - usb: typec: ucsi: Add the UCSI commands in debugfs (Desnes Nunes) [RHEL-116007] - thunderbolt: Use wake on connect and disconnect over suspend (Desnes Nunes) [RHEL-116007] - redhat/configs: Adding CONFIG_USB_XHCI_SIDEBAND (Desnes Nunes) [RHEL-116007] - usb: host: xhci: Notify xHCI sideband on transfer ring free (Desnes Nunes) [RHEL-116007] - usb: host: xhci-plat: Set XHCI max interrupters if property is present (Desnes Nunes) [RHEL-116007] - usb: host: xhci-mem: Allow for interrupter clients to choose specific index (Desnes Nunes) [RHEL-116007] - usb: host: xhci-mem: Cleanup pending secondary event ring events (Desnes Nunes) [RHEL-116007] - xhci: sideband: add initial api to register a secondary interrupter entity (Desnes Nunes) [RHEL-116007] - usb: typec: tcpm: Use fwnode_get_child_node_count() (Desnes Nunes) [RHEL-116007] - device property: Split fwnode_get_child_node_count() (Desnes Nunes) [RHEL-116007] - usb: dwc2: gadget: Fix enter to hibernation for UTMI+ PHY (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: Don't leave BCR asserted (Desnes Nunes) [RHEL-116007] - usb: dwc3: gadget: Fix TRB reclaim logic for short transfers and ZLPs (Desnes Nunes) [RHEL-116007] - usb: dwc3: Abort suspend on soft disconnect failure (Desnes Nunes) [RHEL-116007] - usb: dwc2: gadget: Use USB API functions rather than constants (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: Use bulk clock API and devres (Desnes Nunes) [RHEL-116007] - redhat/configs: Adding CONFIG_PHY_SNPS_EUSB2 (Desnes Nunes) [RHEL-116007] - phy: move phy-qcom-snps-eusb2 out of its vendor sub-directory (Desnes Nunes) [RHEL-116007] - redhat/configs: Adding CONFIG_PHY_NXP_PTN3222 (Desnes Nunes) [RHEL-116007] - phy: add NXP PTN3222 eUSB2 to USB2 redriver (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: add NXP PTN3222 eUSB2 to USB2 redriver (Desnes Nunes) [RHEL-116007] - phy: qcom-qusb2: reuse the IPQ6018 settings for IPQ5424 (Desnes Nunes) [RHEL-116007] - Revert "phy: qcom-qusb2: add QUSB2 support for IPQ5424" (Desnes Nunes) [RHEL-116007] - phy: qcom: qmp-pcie: drop bogus x1e80100 qref supply (Desnes Nunes) [RHEL-116007] - phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug (Desnes Nunes) [RHEL-116007] {CVE-2025-38275} - usb: dwc3: qcom: Fix error handling in probe (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: use modern PM macros (Desnes Nunes) [RHEL-116007] - usb: dwc2: also exit clock_gating when stopping udc while suspended (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: Transition to flattened model (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: Don't rely on drvdata during probe (Desnes Nunes) [RHEL-116007] - usb: dwc3: core: Don't touch resets and clocks (Desnes Nunes) [RHEL-116007] - usb: dwc3: core: Expose core driver as library (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: Introduce qcom,snps-dwc3 (Desnes Nunes) [RHEL-116007] - usb: dwc3: qcom: Snapshot driver for backwards compatibilty (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: dwc3: Allow connector in USB controller node (Desnes Nunes) [RHEL-116007] - dt-bindings: usb: qcom,dwc3: Add SM8750 compatible (Desnes Nunes) [RHEL-116007] - phy: qcom: qmp-pcie: Fix PHY initialization when powered down by firmware (Desnes Nunes) [RHEL-116007] - phy: qcom: qmp-pcie: Add PHY register retention support (Desnes Nunes) [RHEL-116007] - usb: dwc3: core: Avoid redundant system suspend/resume callbacks (Desnes Nunes) [RHEL-116007] - usb: dwc3: Specify maximum number of XHCI interrupters (Desnes Nunes) [RHEL-116007] - phy: qcom: pcie: Determine has_nocsr_reset dynamically (Desnes Nunes) [RHEL-116007] - phy: qcom: qmp-pcie: Add X1P42100 Gen4x4 PHY (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: qcom,qmp-pcie: Drop reset number constraints (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: qcom,qmp-pcie: Add X1P42100 PCIe Gen4x4 PHY (Desnes Nunes) [RHEL-116007] - phy: qcom: qmp: Add phy register and clk setting for x1e80100 PCIe3 (Desnes Nunes) [RHEL-116007] - dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Document the X1E80100 QMP PCIe PHY Gen4 x8 (Desnes Nunes) [RHEL-116007] - redhat/configs: enable CONFIG_AMD_HFI for x86 on RHEL (Steve Best) [RHEL-107081] - platform/x86/amd: hfi: Fix pcct_tbl leak in amd_hfi_metadata_parser() (Steve Best) [RHEL-107081] - platform/x86/amd: hfi: Add debugfs support (Steve Best) [RHEL-107081] - platform/x86/amd: hfi: Set ITMT priority from ranking data (Steve Best) [RHEL-107081] - platform/x86: hfi: Add power management callback (Steve Best) [RHEL-107081] - platform/x86: hfi: Add online and offline callback support (Steve Best) [RHEL-107081] - x86/msr-index: Add AMD workload classification MSRs (Steve Best) [RHEL-107081] - platform/x86: hfi: Init per-cpu scores for each class (Steve Best) [RHEL-107081] - platform/x86: hfi: Parse CPU core ranking data from shared memory (Steve Best) [RHEL-107081] - platform/x86: hfi: Introduce AMD Hardware Feedback Interface Driver (Steve Best) [RHEL-107081] - l2tp: do not use sock_hold() in pppol2tp_session_get_sock() (Guillaume Nault) [RHEL-115595] - hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models (Steve Best) [RHEL-104301] - redhat/configs: automotive disable ARCH_TEGRA_241_SOC (Eric Chanudet) [RHEL-71896] - scsi: lpfc: Fix buffer free/clear order in deferred receive path (CKI Backport Bot) [RHEL-119124] {CVE-2025-39841} - ixgbe: fix ixgbe_orom_civd_info struct layout (CKI Backport Bot) [RHEL-119073] - blk-mq: fix null-ptr-deref in blk_mq_free_tags() from error path (Ming Lei) [RHEL-120078] - blk-mq: Document tags_srcu member in blk_mq_tag_set structure (Ming Lei) [RHEL-120078] - blk-mq: Replace tags->lock with SRCU for tag iterators (Ming Lei) [RHEL-120078] - blk-mq: Defer freeing flush queue to SRCU callback (Ming Lei) [RHEL-120078] - blk-mq: Defer freeing of tags page_list to SRCU callback (Ming Lei) [RHEL-120078] - blk-mq: Pass tag_set to blk_mq_free_rq_map/tags (Ming Lei) [RHEL-120078] - blk-mq: Move flush queue allocation into blk_mq_init_hctx() (Ming Lei) [RHEL-120078] - ucount: fix atomic_long_inc_below() argument type (Joel Savitz) [RHEL-112480] - timens: Add struct seq_file forward declaration (Joel Savitz) [RHEL-112480] - thermal: intel: int340x: Allow temperature override (Steve Best) [RHEL-118754] - thermal: intel: int340x: Add throttling control interface to PTC (Steve Best) [RHEL-118754] - thermal: int340x: processor_thermal: Platform temperature control documentation (Steve Best) [RHEL-118754] - thermal: intel: int340x: Add platform temperature control interface (Steve Best) [RHEL-118754] - NFSv4/flexfiles: Fix layout merge mirror check. (Benjamin Coddington) [RHEL-118737] - netfilter: nft_set_bitmap: fix lockdep splat due to missing annotation (Florian Westphal) [RHEL-115582] - netfilter: br_netfilter: do not check confirmed bit in br_nf_local_in() after confirm (Florian Westphal) [RHEL-115582] - netfilter: nf_reject: don't leak dst refcount for loopback packets (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: reject duplicate device on updates (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: Introduce functions freeing nft_hook objects (Florian Westphal) [RHEL-115582] - ipvs: Fix estimator kthreads preferred affinity (Florian Westphal) [RHEL-115582] - netfilter: nft_socket: remove WARN_ON_ONCE with huge level value (Florian Westphal) [RHEL-115582] - netfilter: conntrack: clean up returns in nf_conntrack_log_invalid_sysctl() (Florian Westphal) [RHEL-115582] - netfilter: ctnetlink: remove refcounting in expectation dumpers (Florian Westphal) [RHEL-115582] - netfilter: ctnetlink: fix refcount leak on table dump (Florian Westphal) [RHEL-115582] - bpf: Check netfilter ctx accesses are aligned (Florian Westphal) [RHEL-115582] - netfilter: xt_nfacct: don't assume acct name is null-terminated (Florian Westphal) [RHEL-115582] - netfilter: conntrack: Remove unused net in nf_conntrack_double_lock() (Florian Westphal) [RHEL-115582] - netfilter: load nf_log_syslog on enabling nf_conntrack_log_invalid (Florian Westphal) [RHEL-115582] - netfilter: conntrack: table full detailed log (Florian Westphal) [RHEL-115582] - bpf: Disable migration in nf_hook_run_bpf(). (Florian Westphal) [RHEL-115582] - netfilter: flowtable: account for Ethernet header in nf_flow_pppoe_proto() (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: adjust lockdep assertions handling (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: export set count and backend name to userspace (Florian Westphal) [RHEL-115582] - netfilter: conntrack: Bound nf_conntrack sysctl writes (Florian Westphal) [RHEL-115582] - netfilter: flowtable: add CLOSING state (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: fix set size with rbtree backend (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: remove the genmask parameter (Florian Westphal) [RHEL-115582] - ipvs: Fix clamp() of ip_vs_conn_tab on small memory systems (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: avoid false-positive lockdep splats with basechain hook (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: avoid false-positive lockdep splats in set walker (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: avoid false-positive lockdep splats with flowtables (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: avoid false-positive lockdep splats with sets (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: avoid false-positive lockdep splat on rule deletion (Florian Westphal) [RHEL-115582] - netfilter: nf_tables: Fix percpu address space issues in nf_tables_api.c (Florian Westphal) [RHEL-115582] - redhat/configs: automotive: make modular/disable NFS support (Dorinda Bassey) [RHEL-87387] - bpf: Tidy verifier bug message (Viktor Malik) [RHEL-78203] - selftests/bpf: Test invalid narrower ctx load (Viktor Malik) [RHEL-78203] - bpf: Reject narrower access to pointer ctx fields (Viktor Malik) [RHEL-78203] - libbpf: Fix handling of BPF arena relocations (Viktor Malik) [RHEL-78203] - btf: Fix virt_to_phys() on arm64 when mmapping BTF (Viktor Malik) [RHEL-78203] - selftests/bpf: Stress test attaching a BPF prog to another BPF prog (Viktor Malik) [RHEL-78203] - s390/bpf: Fix bpf_arch_text_poke() with new_addr == NULL again (Viktor Malik) [RHEL-78203] - selftests/bpf: Add negative test cases for snprintf (Viktor Malik) [RHEL-78203] - bpf: Reject %%p%% format string in bprintf-like helpers (Viktor Malik) [RHEL-78203] - selftests/bpf: adapt one more case in test_lru_map to the new target_free (Viktor Malik) [RHEL-78203] - libbpf: Fix possible use-after-free for externs (Viktor Malik) [RHEL-78203] - libbpf: Fix null pointer dereference in btf_dump__free on allocation failure (Viktor Malik) [RHEL-78203] - bpf: Adjust free target to avoid global starvation of LRU map (Viktor Malik) [RHEL-78203] - bpf: Mark dentry->d_inode as trusted_or_null (Viktor Malik) [RHEL-78203] - net, bpf: Fix RCU usage in task_cls_state() for BPF programs (Viktor Malik) [RHEL-78203] - tools/resolve_btfids: Fix build when cross compiling kernel with clang. (Viktor Malik) [RHEL-78203] - libbpf: Handle unsupported mmap-based /sys/kernel/btf/vmlinux correctly (Viktor Malik) [RHEL-78203] - bpf, arm64: Remove unused-but-set function and variable. (Viktor Malik) [RHEL-78203] - selftests/bpf: Add tests with stack ptr register in conditional jmp (Viktor Malik) [RHEL-78203] - bpf: Do not include stack ptr register in precision backtracking bookkeeping (Viktor Malik) [RHEL-78203] - selftests/bpf: enable many-args tests for arm64 (Viktor Malik) [RHEL-78203] - bpf, arm64: Support up to 12 function arguments (Viktor Malik) [RHEL-78203] - bpf: Check rcu_read_lock_trace_held() in bpf_map_lookup_percpu_elem() (Viktor Malik) [RHEL-78203] - bpf: Avoid __bpf_prog_ret0_warn when jit fails (Viktor Malik) [RHEL-78203] - bpftool: Add support for custom BTF path in prog load/loadall (Viktor Malik) [RHEL-78203] - selftests/bpf: Add unit tests with __bpf_trap() kfunc (Viktor Malik) [RHEL-78203] - bpf: Warn with __bpf_trap() kfunc maybe due to uninitialized variable (Viktor Malik) [RHEL-78203] - bpf: Remove special_kfunc_set from verifier (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test for open coded dmabuf_iter (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test for dmabuf_iter (Viktor Malik) [RHEL-78203] - bpf: Add open coded dmabuf iterator (Viktor Malik) [RHEL-78203] - bpf: Add dmabuf iterator (Viktor Malik) [RHEL-78203] - dma-buf: Rename debugfs symbols (Viktor Malik) [RHEL-78203] - bpf: Fix error return value in bpf_copy_from_user_dynptr (Viktor Malik) [RHEL-78203] - libbpf: Use mmap to parse vmlinux BTF from sysfs (Viktor Malik) [RHEL-78203] - selftests: bpf: Add a test for mmapable vmlinux BTF (Viktor Malik) [RHEL-78203] - btf: Allow mmap of vmlinux btf (Viktor Malik) [RHEL-78203] - mm: rename try_alloc_pages() to alloc_pages_nolock() (Viktor Malik) [RHEL-78203] - selftests/bpf: Add SKIP_LLVM makefile variable (Viktor Malik) [RHEL-78203] - s390/bpf: Use kernel's expoline thunks (Viktor Malik) [RHEL-78203] - s390/bpf: Add macros for calling external functions (Viktor Malik) [RHEL-78203] - s390: always declare expoline thunks (Viktor Malik) [RHEL-78203] - selftests/bpf: Test multi-split BTF (Viktor Malik) [RHEL-78203] - libbpf/btf: Fix string handling to support multi-split BTF (Viktor Malik) [RHEL-78203] - selftests/bpf: Remove unnecessary link dependencies (Viktor Malik) [RHEL-78203] - bpf: WARN_ONCE on verifier bugs (Viktor Malik) [RHEL-78203] - s390/bpf: Remove the orig_call NULL check (Viktor Malik) [RHEL-78203] - bpf: Pass the same orig_call value to trampoline functions (Viktor Malik) [RHEL-78203] - s390/bpf: Store backchain even for leaf progs (Viktor Malik) [RHEL-78203] - libbpf: Check bpf_map_skeleton link for NULL (Viktor Malik) [RHEL-78203] - bpf: Add support for __prog argument suffix to pass in prog->aux (Viktor Malik) [RHEL-78203] - bpf: Fix WARN() in get_bpf_raw_tp_regs (Viktor Malik) [RHEL-78203] - docs: bpf: Fix bullet point formatting warning (Viktor Malik) [RHEL-78203] - selftests/bpf: introduce tests for dynptr copy kfuncs (Viktor Malik) [RHEL-78203] - bpf: Implement dynptr copy kfuncs (Viktor Malik) [RHEL-78203] - helpers: make few bpf helpers public (Viktor Malik) [RHEL-78203] - libbpf: Use proper errno value in nlattr (Viktor Malik) [RHEL-78203] - selftests/bpf: Allow skipping docs compilation (Viktor Malik) [RHEL-78203] - selftests/bpf: test_verifier verbose log overflows (Viktor Malik) [RHEL-78203] - selftests/bpf: test_verifier verbose causes erroneous failures (Viktor Malik) [RHEL-78203] - bpf, docs: document open-coded BPF iterators (Viktor Malik) [RHEL-78203] - bpftool: Display ref_ctr_offset for uprobe link info (Viktor Malik) [RHEL-78203] - selftests/bpf: Add link info test for ref_ctr_offset retrieval (Viktor Malik) [RHEL-78203] - bpf: Add support to retrieve ref_ctr_offset for uprobe perf link (Viktor Malik) [RHEL-78203] - scripts/bpf_doc.py: implement json output format (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix caps for __xlated/jited_unpriv (Viktor Malik) [RHEL-78203] - bpf: Allow some trace helpers for all prog types (Viktor Malik) [RHEL-78203] - selftests/bpf: Verify zero-extension behavior in load-acquire tests (Viktor Malik) [RHEL-78203] - selftests/bpf: Use CAN_USE_LOAD_ACQ_STORE_REL when appropriate (Viktor Malik) [RHEL-78203] - bpf/verifier: Handle BPF_LOAD_ACQ instructions in insn_def_regno() (Viktor Malik) [RHEL-78203] - bpftool: Fix cgroup command to only show cgroup bpf programs (Viktor Malik) [RHEL-78203] - bpftool: Fix regression of "bpftool cgroup tree" EINVAL on older kernels (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test for bpf_list_{front,back} (Viktor Malik) [RHEL-78203] - bpf: Add bpf_list_{front,back} kfunc (Viktor Malik) [RHEL-78203] - bpf: Simplify reg0 marking for the list kfuncs that return a bpf_list_node pointer (Viktor Malik) [RHEL-78203] - selftests/bpf: Add tests for bpf_rbtree_{root,left,right} (Viktor Malik) [RHEL-78203] - bpf: Allow refcounted bpf_rb_node used in bpf_rbtree_{remove,left,right} (Viktor Malik) [RHEL-78203] - bpf: Add bpf_rbtree_{root,left,right} kfunc (Viktor Malik) [RHEL-78203] - bpf: Simplify reg0 marking for the rbtree kfuncs that return a bpf_rb_node pointer (Viktor Malik) [RHEL-78203] - bpf: Check KF_bpf_rbtree_add_impl for the "case KF_ARG_PTR_TO_RB_NODE" (Viktor Malik) [RHEL-78203] - libbpf: Improve BTF dedup handling of "identical" BTF types (Viktor Malik) [RHEL-78203] - bpf: Replace offsetof() with struct_size() (Viktor Malik) [RHEL-78203] - bpf: Fix uninitialized values in BPF_{CORE,PROBE}_READ (Viktor Malik) [RHEL-78203] - selftests/bpf: Add btf dedup test covering module BTF dedup (Viktor Malik) [RHEL-78203] - bpf: Replace offsetof() with struct_size() (Viktor Malik) [RHEL-78203] - libbpf: Use proper errno value in linker (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix kmem_cache iterator draining (Viktor Malik) [RHEL-78203] - libbpf: Add identical pointer detection to btf_dedup_is_equiv() (Viktor Malik) [RHEL-78203] - Use thread-safe function pointer in libbpf_print (Viktor Malik) [RHEL-78203] - libbpf: Remove sample_period init in perf_buffer (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix endianness issue in __qspinlock declaration (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix arena_spin_lock on systems with less than 16 CPUs (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix arena_spin_lock.c build dependency (Viktor Malik) [RHEL-78203] - bpf, docs: Fix non-standard line break (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test to access const void pointer argument in tracing program (Viktor Malik) [RHEL-78203] - bpf: Allow access to const void pointer arguments in tracing programs (Viktor Malik) [RHEL-78203] - bpf: Streamline allowed helpers between tracing and base sets (Viktor Malik) [RHEL-78203] - bpf: Use proper type to calculate bpf_raw_tp_null_args.mask index (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test for attaching kprobe with long event names (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test for attaching uprobe with long event names (Viktor Malik) [RHEL-78203] - libbpf: Fix event name too long error (Viktor Malik) [RHEL-78203] - selftests/bpf: Close the file descriptor to avoid resource leaks (Viktor Malik) [RHEL-78203] - selftests/bpf: Add 5-byte NOP uprobe trigger benchmark (Viktor Malik) [RHEL-78203] - uprobes/x86: Add support to emulate NOP instructions (Viktor Malik) [RHEL-78203] - bpf: Prepare to reuse get_ctx_arg_idx (Viktor Malik) [RHEL-78203] - libbpf: Verify section type in btf_find_elf_sections (Viktor Malik) [RHEL-78203] - libbpf: Fix buffer overflow in bpf_object__init_prog (Viktor Malik) [RHEL-78203] - kbuild, bpf: Enable --btf_features=attributes (Viktor Malik) [RHEL-78203] - selftests/bpf: Add test case for atomic update of fd htab (Viktor Malik) [RHEL-78203] - bpf: Don't allocate per-cpu extra_elems for fd htab (Viktor Malik) [RHEL-78203] - bpf: Add is_fd_htab() helper (Viktor Malik) [RHEL-78203] - bpf: Support atomic update for htab of maps (Viktor Malik) [RHEL-78203] - bpf: Rename __htab_percpu_map_update_elem to htab_map_update_elem_in_place (Viktor Malik) [RHEL-78203] - bpf: Factor out htab_elem_value helper() (Viktor Malik) [RHEL-78203] - selftests/bpf: Fix bpf_nf selftest failure (Viktor Malik) [RHEL-78203] - bpf: Check link_create.flags parameter for multi_uprobe (Viktor Malik) [RHEL-78203] - bpf: Check link_create.flags parameter for multi_kprobe (Viktor Malik) [RHEL-78203] - selftests/bpf: Add BTF.ext line/func info getter tests (Viktor Malik) [RHEL-78203] - libbpf: Add getters for BTF.ext func and line info (Viktor Malik) [RHEL-78203] - selftests/bpf: Convert comma to semicolon (Viktor Malik) [RHEL-78203] - libbpf: Add likely/unlikely macros and use them in selftests (Viktor Malik) [RHEL-78203] - bpf: Fix a comment describing bpf_attr (Viktor Malik) [RHEL-78203] - broadcom: fix support for PTP_EXTTS_REQUEST2 ioctl (Petr Oros) [RHEL-115042] - broadcom: fix support for PTP_PEROUT_DUTY_CYCLE (Petr Oros) [RHEL-115042] - net: ptp: introduce .supported_perout_flags to ptp_clock_info (CKI Backport Bot) [RHEL-115042] - net: ptp: introduce .supported_extts_flags to ptp_clock_info (CKI Backport Bot) [RHEL-115042] - ptp: ocp: reject unsupported periodic output flags (Petr Oros) [RHEL-115042] - net: lan743x: reject unsupported external timestamp requests (Petr Oros) [RHEL-115042] - renesas: reject PTP_STRICT_FLAGS as unsupported (CKI Backport Bot) [RHEL-115042] - selftests/bpf: Skip timer cases when bpf_timer is not supported (Gregory Bell) [RHEL-117860] - bpf: Reject bpf_timer for PREEMPT_RT (Gregory Bell) [RHEL-117860] - ALSA: hda: Use pci_is_display() (Anusha Srivatsa) [RHEL-120364] - iommu/vt-d: Use pci_is_display() (Anusha Srivatsa) [RHEL-120364] - vga_switcheroo: Use pci_is_display() (Anusha Srivatsa) [RHEL-120364] - vfio/pci: Use pci_is_display() (Anusha Srivatsa) [RHEL-120364] - PCI: Add pci_is_display() to check if device is a display controller (Anusha Srivatsa) [RHEL-120364] - mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock (Waiman Long) [RHEL-105500] - mm/kmemleak: avoid soft lockup in __kmemleak_do_cleanup() (Waiman Long) [RHEL-105500] - cgroup/cpuset: Remove the unnecessary css_get/put() in cpuset_partition_write() (Waiman Long) [RHEL-110805] - cgroup/cpuset: Fix a partition error with CPU hotplug (Waiman Long) [RHEL-110805] - cgroup/cpuset: Use static_branch_enable_cpuslocked() on cpusets_insane_config_key (Waiman Long) [RHEL-110805] - cgroup/cpuset: drop useless cpumask_empty() in compute_effective_exclusive_cpumask() (Waiman Long) [RHEL-110805] - cgroup/cpuset: Fix obsolete comment in cpuset_css_offline() (Waiman Long) [RHEL-110805] - cgroup/cpuset: Always use cpu_active_mask (Waiman Long) [RHEL-110805] - cgroup/cpuset: Extend kthread_is_per_cpu() check to all PF_NO_SETAFFINITY tasks (Waiman Long) [RHEL-110805] - redhat/configs: automotive: enable RTC_DRV_S32G (Jared Kangas) [RHEL-115734] - arm64: defconfig: add S32G RTC module support (Jared Kangas) [RHEL-115734] - MAINTAINERS: add NXP S32G RTC driver (Jared Kangas) [RHEL-115734] - rtc: s32g: add NXP S32G2/S32G3 SoC support (Jared Kangas) [RHEL-115734] - dt-bindings: rtc: add schema for NXP S32G2/S32G3 SoCs (Jared Kangas) [RHEL-115734] - s390/qeth: Make hw_trap sysfs attribute idempotent (Mete Durlu) [RHEL-99996] - s390/net: Remove NETIUCV device driver (Mete Durlu) [RHEL-99996] - nfsd: discard nfsd_file_get_local() (Scott Mayhew) [RHEL-115854] - NFSv4: handle ERR_GRACE on delegation recalls (Scott Mayhew) [RHEL-115854] - nfsd: nfserr_jukebox in nlm_fopen should lead to a retry (Scott Mayhew) [RHEL-115854] - nfsd: unregister with rpcbind when deleting a transport (Scott Mayhew) [RHEL-115854] - nfsd: decouple the xprtsec policy check from check_nfsd_access() (Scott Mayhew) [RHEL-115854] - Revert "SUNRPC: Don't allow waiting for exiting tasks" (Scott Mayhew) [RHEL-115854] - NFS: Fix the marking of the folio as up to date (Scott Mayhew) [RHEL-115854] - NFS: nfs_invalidate_folio() must observe the offset and size arguments (Scott Mayhew) [RHEL-115854] - NFSv4.2: Serialise O_DIRECT i/o and copy range (Scott Mayhew) [RHEL-115854] - NFSv4.2: Serialise O_DIRECT i/o and clone range (Scott Mayhew) [RHEL-115854] - NFSv4.2: Serialise O_DIRECT i/o and fallocate() (Scott Mayhew) [RHEL-115854] - NFS: Serialise O_DIRECT i/o and truncate() (Scott Mayhew) [RHEL-115854] - nfs/localio: avoid bouncing LOCALIO if nfs_client_is_local() (Scott Mayhew) [RHEL-115854] - nfs/localio: restore creds before releasing pageio data (Scott Mayhew) [RHEL-115854] - NFSv4: Clear the NFS_CAP_XATTR flag if not supported by the server (Scott Mayhew) [RHEL-115854] - NFSv4: Clear NFS_CAP_OPEN_XOR and NFS_CAP_DELEGTIME if not supported (Scott Mayhew) [RHEL-115854] - NFSv4: Clear the NFS_CAP_FS_LOCATIONS flag if it is not set (Scott Mayhew) [RHEL-115854] - NFSv4: Don't clear capabilities that won't be reset (Scott Mayhew) [RHEL-115854] - NFS/localio: nfs_uuid_put() fix the wake up after unlinking the file (Scott Mayhew) [RHEL-115854] - NFS/localio: nfs_uuid_put() fix races with nfs_open/close_local_fh() (Scott Mayhew) [RHEL-115854] - NFS/localio: nfs_close_local_fh() fix check for file closed (Scott Mayhew) [RHEL-115854] - nfsd: avoid ref leak in nfsd_open_local_fh() (Scott Mayhew) [RHEL-115854] - nfsd: don't set the ctime on delegated atime updates (Scott Mayhew) [RHEL-115854] - NFSv4: Remove duplicate lookups, capability probes and fsinfo calls (Scott Mayhew) [RHEL-115854] - NFS: Fix the setting of capabilities when automounting a new filesystem (Scott Mayhew) [RHEL-115854] - nfs/localio: use read_seqbegin() rather than read_seqbegin_or_lock() (Scott Mayhew) [RHEL-115854] - NFS: Fixup allocation flags for nfsiod's __GFP_NORETRY (Scott Mayhew) [RHEL-115854] - SUNRPC: Silence warnings about parameters not being described (Scott Mayhew) [RHEL-115854] - NFS: Clean up pnfs_put_layout_hdr()/pnfs_destroy_layout_final() (Scott Mayhew) [RHEL-115854] - NFS: Fix wakeup of __nfs_lookup_revalidate() in unblock_revalidate() (Scott Mayhew) [RHEL-115854] - NFS: use a hash table for delegation lookup (Scott Mayhew) [RHEL-115854] - NFS: track active delegations per-server (Scott Mayhew) [RHEL-115854] - NFS: move the delegation_watermark module parameter (Scott Mayhew) [RHEL-115854] - NFS: cleanup nfs_inode_reclaim_delegation (Scott Mayhew) [RHEL-115854] - NFS: cleanup error handling in nfs4_server_common_setup (Scott Mayhew) [RHEL-115854] - NFS: drop __exit from nfs_exit_keyring (Scott Mayhew) [RHEL-115854] - NFS: pass struct nfs_client_initdata to nfs4_set_client (Scott Mayhew) [RHEL-115854] - pNFS: Fix disk addr range check in block/scsi layout (Scott Mayhew) [RHEL-115854] - pNFS: Fix stripe mapping in block/scsi layout (Scott Mayhew) [RHEL-115854] - pNFS: Handle RPC size limit for layoutcommits (Scott Mayhew) [RHEL-115854] - pNFS: Add prepare commit trace to block/scsi layout (Scott Mayhew) [RHEL-115854] - pNFS: Fix extent encoding in block/scsi layout (Scott Mayhew) [RHEL-115854] - pNFS: Fix uninited ptr deref in block/scsi layout (Scott Mayhew) [RHEL-115854] - NFS: Remove unused function nfs_umount (Scott Mayhew) [RHEL-115854] - SUNRPC: Remove unused xdr functions (Scott Mayhew) [RHEL-115854] - nfs: create a kernel keyring (Scott Mayhew) [RHEL-115854] - NFS: support the kernel keyring for TLS (Scott Mayhew) [RHEL-115854] - NFS: Allow folio migration for the case of mode == MIGRATE_SYNC (Scott Mayhew) [RHEL-115854] - nfs: new tracepoint in match_stateid operation (Scott Mayhew) [RHEL-115854] - nfs: new tracepoint in nfs_delegation_need_return (Scott Mayhew) [RHEL-115854] - nfs: add a tracepoint to nfs_inode_detach_delegation_locked (Scott Mayhew) [RHEL-115854] - nfs: add cache_validity to the nfs_inode_event tracepoints (Scott Mayhew) [RHEL-115854] - NFS: remove unused pnfs_ld_data field from struct nfs_server (Scott Mayhew) [RHEL-115854] - NFS: remove unused time_delta field from struct nfs_server (Scott Mayhew) [RHEL-115854] - NFS: remove unused wpages field from struct nfs_server (Scott Mayhew) [RHEL-115854] - pnfs: add pnfs_ds_connect trace point (Scott Mayhew) [RHEL-115854] - nfs: use lock_two_nondirectories() (Scott Mayhew) [RHEL-115854] - NFS: Return the file btime in the statx results when appropriate (Scott Mayhew) [RHEL-115854] - nfs: Add timecreate to nfs inode (Scott Mayhew) [RHEL-115854] - Expand the type of nfs_fattr->valid (Scott Mayhew) [RHEL-115854] - nfsd: Drop dprintk in blocklayout xdr functions (Scott Mayhew) [RHEL-115854] - sunrpc: make svc_tcp_sendmsg() take a signed sentp pointer (Scott Mayhew) [RHEL-115854] - sunrpc: rearrange struct svc_rqst for fewer cachelines (Scott Mayhew) [RHEL-115854] - sunrpc: return better error in svcauth_gss_accept() on alloc failure (Scott Mayhew) [RHEL-115854] - sunrpc: reset rq_accept_statp when starting a new RPC (Scott Mayhew) [RHEL-115854] - sunrpc: remove SVC_SYSERR (Scott Mayhew) [RHEL-115854] - sunrpc: fix handling of unknown auth status codes (Scott Mayhew) [RHEL-115854] - NFSD: Simplify struct knfsd_fh (Scott Mayhew) [RHEL-115854] - NFSD: Access a knfsd_fh's fsid by pointer (Scott Mayhew) [RHEL-115854] - Revert "NFSD: Force all NFSv4.2 COPY requests to be synchronous" (Scott Mayhew) [RHEL-115854] - NFSD: Avoid multiple -Wflex-array-member-not-at-end warnings (Scott Mayhew) [RHEL-115854] - NFSD: Use vfs_iocb_iter_write() (Scott Mayhew) [RHEL-115854] - NFSD: Use vfs_iocb_iter_read() (Scott Mayhew) [RHEL-115854] - NFSD: Clean up kdoc for nfsd_open_local_fh() (Scott Mayhew) [RHEL-115854] - NFSD: Clean up kdoc for nfsd_file_put_local() (Scott Mayhew) [RHEL-115854] - NFSD: Remove definition for trace_nfsd_ctl_maxconn (Scott Mayhew) [RHEL-115854] - NFSD: Remove definition for trace_nfsd_file_gc_recent (Scott Mayhew) [RHEL-115854] - NFSD: Remove definitions for unused trace_nfsd_file_lru trace points (Scott Mayhew) [RHEL-115854] - NFSD: Remove definition for trace_nfsd_file_unhash_and_queue (Scott Mayhew) [RHEL-115854] - nfsd: Use correct error code when decoding extents (Scott Mayhew) [RHEL-115854] - NFSD: Remove the cap on number of operations per NFSv4 COMPOUND (Scott Mayhew) [RHEL-115854] - NFSD: Make nfsd_genl_rqstp::rq_ops array best-effort (Scott Mayhew) [RHEL-115854] - NFSD: Rename a function parameter (Scott Mayhew) [RHEL-115854] - NFSD: detect mismatch of file handle and delegation stateid in OPEN op (Scott Mayhew) [RHEL-115854] - nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm() (Scott Mayhew) [RHEL-115854] - nfsd: Change the type of ek_fsidtype from int to u8 and use kstrtou8 (Scott Mayhew) [RHEL-115854] - sunrpc: new tracepoints around svc thread wakeups (Scott Mayhew) [RHEL-115854] - sunrpc: unexport csum_partial_copy_to_xdr (Scott Mayhew) [RHEL-115854] - sunrpc: simplify xdr_partial_copy_from_skb (Scott Mayhew) [RHEL-115854] - sunrpc: simplify xdr_init_encode_pages (Scott Mayhew) [RHEL-115854] - NFSD: release read access of nfs4_file when a write delegation is returned (Scott Mayhew) [RHEL-115854] - NFSD: Offer write delegation for OPEN with OPEN4_SHARE_ACCESS_WRITE (Scott Mayhew) [RHEL-115854] - nfs_localio: change nfsd_file_put_local() to take a pointer to __rcu pointer (Scott Mayhew) [RHEL-115854] - nfs_localio: protect race between nfs_uuid_put() and nfs_close_local_fh() (Scott Mayhew) [RHEL-115854] - nfs_localio: duplicate nfs_close_local_fh() (Scott Mayhew) [RHEL-115854] - nfs_localio: simplify interface to nfsd for getting nfsd_file (Scott Mayhew) [RHEL-115854] - nfs_localio: always hold nfsd net ref with nfsd_file ref (Scott Mayhew) [RHEL-115854] - nfs_localio: use cmpxchg() to install new nfs_file_localio (Scott Mayhew) [RHEL-115854] - sunrpc/svc: use store_release_wake_up() (Scott Mayhew) [RHEL-115854] - nfsd: use new wake_up_var interfaces. (Scott Mayhew) [RHEL-115854] - vfio: Dump migration features under debugfs (Alex Williamson) [RHEL-118213] - vfio/type1: optimize vfio_unpin_pages_remote() (Alex Williamson) [RHEL-118213] - vfio/type1: introduce a new member has_rsvd for struct vfio_dma (Alex Williamson) [RHEL-118213] - vfio/type1: batch vfio_find_vpfn() in function vfio_unpin_pages_remote() (Alex Williamson) [RHEL-118213] - vfio/type1: optimize vfio_pin_pages_remote() (Alex Williamson) [RHEL-118213] - mm: introduce num_pages_contiguous() (Alex Williamson) [RHEL-118213] - vfio/nvgrace-gpu: Add GB300 SKU to the devid table (Alex Williamson) [RHEL-118213] - vfio/pci: Fix INTx handling on legacy non-PCI 2.3 devices (Alex Williamson) [RHEL-118213] - vfio/pds: replace bitmap_free with vfree (Alex Williamson) [RHEL-118213] - vfio: return -ENOTTY for unsupported device feature (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: Fix reference leak in hisi_acc_vfio_debug_init (Alex Williamson) [RHEL-118213] - vfio/platform: Mark reset drivers for removal (Alex Williamson) [RHEL-118213] - vfio/amba: Mark for removal (Alex Williamson) [RHEL-118213] - MAINTAINERS: Add myself as VFIO-platform reviewer (Alex Williamson) [RHEL-118213] - MAINTAINERS: Add myself as VFIO-platform reviewer (Alex Williamson) [RHEL-118213] - docs: proc.rst: Fix VFIO Device title formatting (Alex Williamson) [RHEL-118213] - vfio: selftests: Fix .gitignore for already tracked files (Alex Williamson) [RHEL-118213] - MAINTAINERS: Update Shameer Kolothum's email address (Alex Williamson) [RHEL-118213] - vfio: selftests: Add a script to help with running VFIO selftests (Alex Williamson) [RHEL-118213] - vfio: selftests: Make iommufd the default iommu_mode (Alex Williamson) [RHEL-118213] - vfio: selftests: Add iommufd mode (Alex Williamson) [RHEL-118213] - vfio: selftests: Add iommufd_compat_type1{,v2} modes (Alex Williamson) [RHEL-118213] - vfio: selftests: Add vfio_type1v2_mode (Alex Williamson) [RHEL-118213] - vfio: selftests: Replicate tests across all iommu_modes (Alex Williamson) [RHEL-118213] - vfio: selftests: Encapsulate IOMMU mode (Alex Williamson) [RHEL-118213] - vfio: selftests: Move helper to get cdev path to libvfio (Alex Williamson) [RHEL-118213] - vfio: selftests: Add driver for Intel DSA (Alex Williamson) [RHEL-118213] - dmaengine: idxd: Allow registers.h to be included from tools/ (Alex Williamson) [RHEL-118213] - tools headers: Import iosubmit_cmds512() (Alex Williamson) [RHEL-118213] - vfio: selftests: Add driver for Intel CBDMA (Alex Williamson) [RHEL-118213] - dmaengine: ioat: Move system_has_dca_enabled() to dma.h (Alex Williamson) [RHEL-118213] - tools headers: Add symlink to linux/pci_ids.h (Alex Williamson) [RHEL-118213] - tools headers: Import x86 MMIO helper overrides (Alex Williamson) [RHEL-118213] - tools headers: Import asm-generic MMIO helpers (Alex Williamson) [RHEL-118213] - tools headers: Add stub definition for __iomem (Alex Williamson) [RHEL-118213] - vfio: sefltests: Add vfio_pci_driver_test (Alex Williamson) [RHEL-118213] - vfio: selftests: Add driver framework (Alex Williamson) [RHEL-118213] - vfio: selftests: Add a helper for matching vendor+device IDs (Alex Williamson) [RHEL-118213] - vfio: selftests: Enable asserting MSI eventfds not firing (Alex Williamson) [RHEL-118213] - vfio: selftests: Keep track of DMA regions mapped into the device (Alex Williamson) [RHEL-118213] - vfio: selftests: Validate 2M/1G HugeTLB are mapped as 2M/1G in IOMMU (Alex Williamson) [RHEL-118213] - vfio: selftests: Add DMA mapping tests for 2M and 1G HugeTLB (Alex Williamson) [RHEL-118213] - vfio: selftests: Add test to reset vfio device. (Alex Williamson) [RHEL-118213] - vfio: selftests: Move vfio dma mapping test to their own file (Alex Williamson) [RHEL-118213] - vfio: selftests: Test basic VFIO and IOMMUFD integration (Alex Williamson) [RHEL-118213] - vfio: selftests: Introduce vfio_pci_device_test (Alex Williamson) [RHEL-118213] - vfio: selftests: Add a helper library for VFIO selftests (Alex Williamson) [RHEL-118213] - selftests: Create tools/testing/selftests/vfio (Alex Williamson) [RHEL-118213] - vfio/nvgrace-gpu: fix grammatical error (Alex Williamson) [RHEL-118213] - vfio/pci: drop redundant conversion to bool (Alex Williamson) [RHEL-118213] - vfio/fsl-mc: Mark for removal (Alex Williamson) [RHEL-118213] - vfio/pci: print vfio-device syspath to fdinfo (Alex Williamson) [RHEL-118213] - vfio/type1: conditional rescheduling while pinning (Alex Williamson) [RHEL-118213] - vfio/qat: add support for intel QAT 6xxx virtual functions (Alex Williamson) [RHEL-118213] - vfio/qat: Remove myself from VFIO QAT PCI driver maintainers (Alex Williamson) [RHEL-118213] - vfio/pci: Do vf_token checks for VFIO_DEVICE_BIND_IOMMUFD (Alex Williamson) [RHEL-118213] - vfio/mlx5: fix possible overflow in tracking max message size (Alex Williamson) [RHEL-118213] - vfio/pci: Separate SR-IOV VF dev_set (Alex Williamson) [RHEL-118213] - vfio/pds: Fix missing detach_ioas op (Alex Williamson) [RHEL-118213] {CVE-2025-38625} - vfio: Prevent open_count decrement to negative (Alex Williamson) [RHEL-118213] - vfio: Fix unbalanced vfio_df_close call in no-iommu mode (Alex Williamson) [RHEL-118213] - irqbypass: Require producers to pass in Linux IRQ number during registration (Alex Williamson) [RHEL-118213] - irqbypass: Use xarray to track producers and consumers (Alex Williamson) [RHEL-118213] - irqbypass: Use guard(mutex) in lieu of manual lock+unlock (Alex Williamson) [RHEL-118213] - irqbypass: Use paired consumer/producer to disconnect during unregister (Alex Williamson) [RHEL-118213] - irqbypass: Explicitly track producer and consumer bindings (Alex Williamson) [RHEL-118213] - irqbypass: Take ownership of producer/consumer token tracking (Alex Williamson) [RHEL-118213] - irqbypass: Drop superfluous might_sleep() annotations (Alex Williamson) [RHEL-118213] - irqbypass: Drop pointless and misleading THIS_MODULE get/put (Alex Williamson) [RHEL-118213] - vfio/type1: Fix error unwind in migration dirty bitmap allocation (Alex Williamson) [RHEL-118213] - vfio/mlx5: Enable the DMA link API (Alex Williamson) [RHEL-118213] - vfio/mlx5: Rewrite create mkey flow to allow better code reuse (Alex Williamson) [RHEL-118213] - vfio/mlx5: Explicitly use number of pages instead of allocated length (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: update function return values. (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: bugfix live migration function without VF device driver (Alex Williamson) [RHEL-118213] {CVE-2025-38283} - hisi_acc_vfio_pci: bugfix the problem of uninstalling driver (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: bugfix cache write-back issue (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: add eq and aeq interruption restore (Alex Williamson) [RHEL-118213] - hisi_acc_vfio_pci: fix XQE dma address error (Alex Williamson) [RHEL-118213] {CVE-2025-38158} - vfio/type1: Remove Fine Grained Superpages detection (Alex Williamson) [RHEL-118213] - vfio/pci: Virtualize zero INTx PIN if no pdev->irq (Alex Williamson) [RHEL-118213] - net: drop UFO packets in udp_rcv_segment() (Paolo Abeni) [RHEL-115602] - vsock/virtio: Validate length in packet header before skb_put() (CKI Backport Bot) [RHEL-114302] {CVE-2025-39718} - redhat: rpminspect: update emptyrpm list for kernel variants (Alexandra Hájková) - ipvs: Rename del_timer in comment in ip_vs_conn_expire_now() (Waiman Long) [RHEL-114125] - scsi: scsi_transport_fc: Rename del_timer() in comment (Waiman Long) [RHEL-114125] - ocfs2: o2net_idle_timer: Rename del_timer_sync in comment (Waiman Long) [RHEL-114125] - bna: bnad_dim_timeout: Rename del_timer_sync in comment (Waiman Long) [RHEL-114125] - treewide, timers: Rename from_timer() to timer_container_of() (Waiman Long) [RHEL-114125] - treewide, timers: Rename destroy_timer_on_stack() as timer_destroy_on_stack() (Waiman Long) [RHEL-114125] - treewide, timers: Rename try_to_del_timer_sync() as timer_delete_sync_try() (Waiman Long) [RHEL-114125] - timers: Rename init_timers() as timers_init() (Waiman Long) [RHEL-114125] - timers: Rename NEXT_TIMER_MAX_DELTA as TIMER_NEXT_MAX_DELTA (Waiman Long) [RHEL-114125] - timers: Rename __init_timer_on_stack() as __timer_init_on_stack() (Waiman Long) [RHEL-114125] - timers: Rename __init_timer() as __timer_init() (Waiman Long) [RHEL-114125] - timers: Rename init_timer_on_stack_key() as timer_init_key_on_stack() (Waiman Long) [RHEL-114125] - timers: Rename init_timer_key() as timer_init_key() (Waiman Long) [RHEL-114125] - treewide: Switch/rename to timer_delete[_sync]() (Waiman Long) [RHEL-114125] - timers: Move *sleep*() and timeout functions into a separate file (Waiman Long) [RHEL-114125] - pwm: gpio: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - wifi: rt2x00: Switch to use hrtimer_update_function() (Waiman Long) [RHEL-114125] - io_uring: Use helper function hrtimer_update_function() (Waiman Long) [RHEL-114125] - serial: xilinx_uartps: Use helper function hrtimer_update_function() (Waiman Long) [RHEL-114125] - RDMA: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - virtio: mem: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - drm/msm: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - stm class: heartbeat: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - i2c: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - iio: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - leds: trigger: pattern: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - mailbox: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - media: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - misc: vcpu_stall_detector: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - mmc: dw_mmc: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - ntb: ntb_pingpong: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - drivers: perf: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - power: reset: ltc2952-poweroff: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - power: supply: ab8500_chargalg: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - powercap: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - pps: generators: pps_gen_parport: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - rtc: class: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - scsi: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - serial: xilinx_uartps: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - serial: sh-sci: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - serial: imx: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - serial: 8250: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - usb: musb: cppi41: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - usb: fotg210-hcd: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - USB: chipidea: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - xfrm: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - octeontx2-pf: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - igc: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - wifi: rt2x00: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - wifi: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net/cdc_ncm: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: wwan: iosm: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: fec: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: stmmac: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: qualcomm: rmnet: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: mvpp2: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: ieee802154: at86rf230: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: sparx5: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: ethernet: hisilicon: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: ethernet: ec_bhf: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: ethernet: cortina: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net: ethernet: ti: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - can: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - can: mcp251xfd: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - can: m_can: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - tcp: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - mac802154: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - net/sched: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - netdev: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - hwrng: timeriomem: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - null_blk: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - PM / devfreq: rockchip-dfi: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - blk_iocost: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - block, bfq: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - tracing/osnoise: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - watchdog: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - ubifs: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - bpf: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - timerfd: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - perf: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - fork: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - lib: test_objpool: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - mm/slab: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - s390/ap_bus: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - perf/x86: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - powerpc/watchdog: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - ARM: 8611/1: l2x0: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - ARM: imx: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - riscv: kvm: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - LoongArch: KVM: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - KVM: x86: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - KVM: s390: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - KVM: PPC: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - KVM: MIPS: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - ALSA: Switch to use hrtimer_setup() (Waiman Long) [RHEL-114125] - signal: Provide ignored_posix_timers list (Waiman Long) [RHEL-114125] - mm: memory-tiering: fix PGPROMOTE_CANDIDATE counting (Rafael Aquini) [RHEL-102533] - NFS: Fix filehandle bounds checking in nfs_fh_to_dentry() (CKI Backport Bot) [RHEL-113615] {CVE-2025-39730} - lib/smp_processor_id: Make migration check unconditional of SMP (Phil Auld) [RHEL-112445] - x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled (Phil Auld) [RHEL-112445] - x86/smpboot: moves x86_topology to static initialize and truncate (Phil Auld) [RHEL-112445] - x86/smpboot: remove redundant CONFIG_SCHED_SMT (Phil Auld) [RHEL-112445] - smpboot: introduce SDTL_INIT() helper to tidy sched topology setup (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of double_rq_clock_clear_update() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of add_nr_running() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of ENQUEUE_MIGRATED (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of WF_ and SD_ flag sanity checks (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of task_on_cpu() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of rq_pin_lock() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of is_migration_disabled() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of cpu_of() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of the stop-CPU scheduling class (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of the idle scheduling class (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of sched_update_asym_prefer_cpu() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of the scheduler syscalls (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of schedstats (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of scheduler debugging data (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of the deadline scheduling class (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of the RT scheduling class (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of idle_thread_set_boot_cpu() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of sched_exec() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of wake_up_new_task() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of __task_needs_rq_lock() (Phil Auld) [RHEL-112445] - sched/smp: Use the SMP version of try_to_wake_up() (Phil Auld) [RHEL-112445] - sched/smp: Always define rq->hrtick_csd (Phil Auld) [RHEL-112445] - sched/smp: Always define is_percpu_thread() and scheduler_ipi() (Phil Auld) [RHEL-112445] - sched/smp: Make SMP unconditional (Phil Auld) [RHEL-112445] - sched/fair: Fixup wake_up_sync() vs DELAYED_DEQUEUE (Phil Auld) [RHEL-112445] - sched/smp: Always define sched_domains_mutex_lock()/unlock(), def_root_domain and sched_domains_mutex (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/topology.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/syscalls.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/stats.[ch] (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/sched.h (Phil Auld) [RHEL-112445] - sched: Add annotations to RT_GROUP_SCHED fields (Phil Auld) [RHEL-112445] - sched: Add RT_GROUP WARN checks for non-root task_groups (Phil Auld) [RHEL-112445] - sched: Do not construct nor expose RT_GROUP_SCHED structures if disabled (Phil Auld) [RHEL-112445] - sched: Bypass bandwitdh checks with runtime disabled RT_GROUP_SCHED (Phil Auld) [RHEL-112445] - sched: Skip non-root task_groups with disabled RT_GROUP_SCHED (Phil Auld) [RHEL-112445] - sched: Add commadline option for RT_GROUP_SCHED toggling (Phil Auld) [RHEL-112445] - sched: Always initialize rt_rq's task_group (Phil Auld) [RHEL-112445] - sched: Remove unneeed macro wrap (Phil Auld) [RHEL-112445] - sched/fair: Allow decaying util_est when util_avg > CPU capa (Phil Auld) [RHEL-112445] - sched: Convert CONFIG_RT_GROUP_SCHED macros to code conditions (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/rt.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/psi.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/pelt.[ch] (Phil Auld) [RHEL-112445] - sched: Make clangd usable (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/loadavg.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/idle.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/fair.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/debug.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/deadline.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/cputime.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/cpupri.h (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/cpufreq_schedutil.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/core.c (Phil Auld) [RHEL-112445] - sched/uclamp: Align uclamp and util_est and call before freq update (Phil Auld) [RHEL-112445] - sched/util_est: Simplify condition for util_est_{en,de}queue() (Phil Auld) [RHEL-112445] - sched: Switch to use hrtimer_setup() (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/clock.c (Phil Auld) [RHEL-112445] - sched: Clean up and standardize #if/#else/#endif markers in sched/autogroup.[ch] (Phil Auld) [RHEL-112445] - redhat: Remove configs for CONFIG_SCHED_DEBUG (Phil Auld) [RHEL-112445] - sched/debug: Remove CONFIG_SCHED_DEBUG (Phil Auld) [RHEL-112445] - sched/debug, Documentation: Remove (most) CONFIG_SCHED_DEBUG references from documentation (Phil Auld) [RHEL-112445] - sched/debug: Make CONFIG_SCHED_DEBUG functionality unconditional (Phil Auld) [RHEL-112445] - sched/debug: Make 'const_debug' tunables unconditional __read_mostly (Phil Auld) [RHEL-112445] - sched: Reduce the default slice to avoid tasks getting an extra tick (Phil Auld) [RHEL-112445] - sched/debug: Change SCHED_WARN_ON() to WARN_ON_ONCE() (Phil Auld) [RHEL-112445] - rtla/actions: Fix condition for buffer reallocation (Tomas Glozar) [RHEL-89807] - rtla: Fix buffer overflow in actions_parse (Tomas Glozar) [RHEL-89807] - rtla/tests: Test timerlat -P option using actions (Tomas Glozar) [RHEL-100124] - rtla/tests: Add grep checks for base test cases (Tomas Glozar) [RHEL-100124] - Documentation/rtla: Add actions feature (Tomas Glozar) [RHEL-89807] - rtla/tests: Limit duration to maximum of 10s (Tomas Glozar) [RHEL-89807] - rtla/tests: Add tests for actions (Tomas Glozar) [RHEL-89807] - rtla/tests: Check rtla output with grep (Tomas Glozar) [RHEL-89807] - rtla/timerlat: Add action on end feature (Tomas Glozar) [RHEL-89807] - rtla/timerlat: Add continue action (Tomas Glozar) [RHEL-89807] - rtla/timerlat_bpf: Allow resuming tracing (Tomas Glozar) [RHEL-89807] - rtla/timerlat: Add action on threshold feature (Tomas Glozar) [RHEL-89807] - rtla/timerlat: Introduce enum timerlat_tracing_mode (Tomas Glozar) [RHEL-89807] - Documentation/rtla: Describe exit status (Tomas Glozar) [RHEL-89807] - rtla: Set distinctive exit value for failed tests (Tomas Glozar) [RHEL-89807] - rtla: Fix segfault in save_trace_to_file call (Tomas Glozar) [RHEL-89807] - rtla: Refactor save_trace_to_file (Tomas Glozar) [RHEL-89807] - redhat: Temporary stop adding 'kernel' component to SBAT (Vitaly Kuznetsov) [RHEL-71543] - redhat: Switch to implicit enablement of CONFIG_EFI_SBAT_FILE (Vitaly Kuznetsov) [RHEL-71543] - redhat: Add SBAT information to Linux kernel (Vitaly Kuznetsov) [RHEL-71543] - x86/efi: Implement support for embedding SBAT data for x86 (Vitaly Kuznetsov) [RHEL-71543] - efi: Fix .data section size calculations when .sbat is present (Vitaly Kuznetsov) [RHEL-71543] - efi: Drop preprocessor directives from zboot.lds (Vitaly Kuznetsov) [RHEL-71543] - efi: zboot specific mechanism for embedding SBAT section (Vitaly Kuznetsov) [RHEL-71543] - platform/x86/intel: power-domains: Fix error code in tpmi_init() (Steve Best) [RHEL-119043] - platform/x86/intel: power-domains: Add interface to get Linux die ID (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: Check write blocked for ELC (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: avoid non-literal format string (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: Fail module load when plat_info is NULL (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: Add attributes to show die_id (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: Add attributes to show agent types (Steve Best) [RHEL-119043] - platform/x86/intel-uncore-freq: Fix missing uncore sysfs during CPU hotplug (Steve Best) [RHEL-119043] - redhat: revert to using redhatsecureboot504 for RHEL UKI (Vitaly Kuznetsov) [RHEL-122226] - firmware: arm_scmi: bump SMC max_msg_size (Eric Chanudet) - redhat/configs: automotive: disable VFIO_PLATFORM (Eric Chanudet) [RHEL-79906] - of: reserved_mem: increase MAX_RESERVED_REGIONS to 128 (Eric Chanudet) [RHEL-117870] - redhat/configs: automotive: switch ufs-qcom to module (Eric Chanudet) [RHEL-119220] - redhat/configs: automotive: switch geni-se and serial-qcom-geni to modules (Eric Chanudet) [RHEL-119220] - redhat/configs: automotive: switch pinctrl_msm and pinctrl_sa8775p to modules (Eric Chanudet) [RHEL-119219] - firmware: qcom: scm: preserve assign_mem() error return value (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: request the waitqueue irq *after* initializing SCM (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: initialize tzmem before marking SCM as available (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: take struct device as argument in SHM bridge enable (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: remove unused arguments from SHM bridge routines (Eric Chanudet) [RHEL-117514] - docs: firmware: qcom_scm: Fix kernel-doc warning (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM for HP EliteBook Ultra G1q (Eric Chanudet) [RHEL-117514] - firmware: qcom: tzmem: disable sm7150 platform (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on Asus Zenbook A14 (Eric Chanudet) [RHEL-117514] - firmware: qcom: uefisecapp: fix efivars registration race (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Fix error code in probe() (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: add calls for wrapped key support (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: smc: Narrow 'mempool' variable scope (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: smc: Handle missing SCM device (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Cleanup global '__scm' on probe failures (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Fix missing read barrier in qcom_scm_get_tzmem_pool() (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Fix missing read barrier in qcom_scm_is_available() (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on Huawei Matebook E Go (sc8280xp) (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM for Windows Dev Kit 2023 (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM for HP Omnibook X14 (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on the asus vivobook s15 (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on X1P42100 CRD (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Introduce CP_SMMU_APERTURE_ID (Eric Chanudet) [RHEL-117514] - firmware: qcom: uefisecapp: Allow X1E Devkit devices (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345 (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on Microsoft Surface Pro 9 5G (Eric Chanudet) [RHEL-117514] - firmware: qcom: scm: Allow QSEECOM on Lenovo Yoga Slim 7x (Eric Chanudet) [RHEL-117514] ### # The following Emacs magic makes C-c C-e use UTC dates. # Local Variables: # rpm-change-log-uses-utc: t # End: ###