c054234374
* Tue Mar 12 2024 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.9.0-0.rc0.855684c7d938.2] - redhat: remove "END OF CHANGELOG" marker from kernel.changelog (Herton R. Krzesinski) - gitlab-ci: enable all variants for rawhide/eln builder image gating (Michael Hofmann) - Fedora: enable Microchip and their useful drivers (Peter Robinson) - spec: suppress "set +x" output (Jan Stancek) - redhat/configs: Disable CONFIG_RDMA_SIW (Kamal Heib) - redhat/configs: Disable CONFIG_RDMA_RXE (Kamal Heib) - redhat/configs: Disable CONFIG_MLX4 (Kamal Heib) - redhat/configs: Disable CONFIG_INFINIBAND_HFI1 and CONFIG_INFINIBAND_RDMAVT (Kamal Heib) - Consolidate 6.8 configs to common (Justin M. Forbes) - Remove rt-automated and master-rt-devel logic (Don Zickus) - Add support for CI octopus merging (Don Zickus) - redhat/configs: Disable CONFIG_INFINIBAND_VMWARE_PVRDMA (Kamal Heib) - gitlab-ci: fix merge tree URL for gating pipelines (Michael Hofmann) - Revert "net: bump CONFIG_MAX_SKB_FRAGS to 45" (Marcelo Ricardo Leitner) - uki: use systemd-pcrphase dracut module (Gerd Hoffmann) - Add libperf-debuginfo subpackage (Justin M. Forbes) - redhat/kernel.spec.template: Add log_msg macro (Prarit Bhargava) - redhat/configs: Disable CONFIG_INFINIBAND_USNIC (Kamal Heib) - Enable CONFIG_BMI323_I2C=m for Fedora x86_64 builds (Hans de Goede) - gitlab-ci: drop test_makefile job (Scott Weaver) - Enable merge-rt pipeline (Don Zickus) - kernel.spec: include the GDB plugin in kernel-debuginfo (Ondrej Mosnacek) - Turn on DRM_NOUVEAU_GSP_DEFAULT for Fedora (Justin M. Forbes) - Set late new config HDC3020 for Fedora (Justin M. Forbes) - redhat/self-test: Update CROSS_DISABLED_PACKAGES (Prarit Bhargava) - redhat: Do not build libperf with cross builds (Prarit Bhargava) - redhat/configs: enable CONFIG_PINCTRL_INTEL_PLATFORM for RHEL (David Arcari) - redhat/configs: enable CONFIG_PINCTRL_METEORPOINT for RHEL (David Arcari) - redhat/configs: intel pinctrl config cleanup (David Arcari) - redhat/configs: For aarch64/RT, default kstack randomization off (Jeremy Linton) - redhat/Makefile: remove an unused target (Ondrej Mosnacek) - redhat/Makefile: fix setup-source and document its caveat (Ondrej Mosnacek) - redhat/Makefile: fix race condition when making the KABI tarball (Ondrej Mosnacek) - redhat/Makefile: refactor KABI tarball creation (Ondrej Mosnacek) - Turn XFS_SUPPORT_V4 back on for Fedora (Justin M. Forbes) - Add xe to drm module filters (Justin M. Forbes) - Turn off the DRM_XE_KUNIT_TEST for Fedora (Justin M. Forbes) - Flip secureboot signature order (Justin M. Forbes) - all: clean up some removed configs (Peter Robinson) - redhat: add nvidia oot signing key (Dave Airlie) - gitlab-ci: support CI for zfcpdump kernel on ELN (Michael Hofmann) - Fedora configs for 6.8 (Justin M. Forbes) - Turn off CONFIG_INTEL_VSC for Fedora (Justin M. Forbes) - redhat/configs: rhel wireless requests (Jose Ignacio Tornos Martinez) - spec: Set EXTRA_CXXFLAGS for perf demangle-cxx.o (Josh Stone) [2233269] - Flip values for FSCACHE and NETFS_SUPPORT to avoid mismatch (Justin M. Forbes) - Turn on SECURITY_DMESG_RESTRICT (Justin M. Forbes) - redhat: forward-port genlog.py updates from c9s (Jan Stancek) - arch/x86: mark x86_64-v1 and x86_64-v2 processors as deprecated (Prarit Bhargava) - fedora: Enable more Renesas RZ platform drivers (Peter Robinson) - fedora: a few aarch64 drivers and cleanups (Peter Robinson) - fedora: cavium nitrox cnn55xx (Peter Robinson) - Fix dist-get-buildreqs breakage around perl(ExtUtils::Embed) (Don Zickus) - gitlab-ci: merge ark-latest fixes when running ELN pipelines (Michael Hofmann) - gitlab-ci: use all arches for container image gating (Michael Hofmann) - Add new os-build targets: rt-devel and automotive-devel (Don Zickus) - Remove defines forcing tools on, they override cmdline (Justin M. Forbes) - Remove separate license tag for libperf (Justin M. Forbes) - Don't use upstream bpftool version for Fedora package (Justin M. Forbes) - Don't ship libperf.a in libperf-devel (Justin M. Forbes) - add libperf packages and enable perf, libperf, tools and bpftool packages (Thorsten Leemhuis) - Add scaffolding to build the kernel-headers package for Fedora (Justin M. Forbes) - redhat/spec: use distro CFLAGS when building bootstrap bpftool (Artem Savkov) - spec: use just-built bpftool for vmlinux.h generation (Yauheni Kaliuta) [2120968] - gitlab-ci: enable native tools for Rawhide CI (Michael Hofmann) - Revert "Merge branch 'fix-kabi-build-race' into 'os-build'" (Justin M. Forbes) - redhat: configs: fedora: Enable sii902x bridge chip driver (Erico Nunes) - Enable CONFIG_TCP_CONG_ILLINOIS for RHEL (Davide Caratti) - redhat/Makefile: fix setup-source and document its caveat (Ondrej Mosnacek) - redhat/Makefile: fix race condition when making the KABI tarball (Ondrej Mosnacek) - redhat/Makefile: refactor KABI tarball creation (Ondrej Mosnacek) - redhat/configs: Remove HOTPLUG_CPU0 configs (Prarit Bhargava) - gitlab-ci: merge ark-latest before building in MR pipelines (Michael Hofmann) - CI: include aarch64 in CKI container image gating (Tales Aparecida) - redhat: spec: Fix update_scripts run for CentOS builds (Neal Gompa) - New configs in drivers/crypto (Fedora Kernel Team) - net: bump CONFIG_MAX_SKB_FRAGS to 45 (Marcelo Ricardo Leitner) - Enable CONFIG_MARVELL_88Q2XXX_PHY (Izabela Bakollari) - Remove CONFIG_NET_EMATCH_STACK file for RHEL (Justin M. Forbes) - CONFIG_NETFS_SUPPORT should be m after the merge (Justin M. Forbes) - Turn FSCACHE and NETFS from m to y in pending (Justin M. Forbes) - Turn on CONFIG_TCP_AO for Fedora (Justin M. Forbes) - Turn on IAA_CRYPTO_STATS for Fedora (Justin M. Forbes) - fedora: new drivers and cleanups (Peter Robinson) - Turn on Renesas RZ for Fedora IOT rhbz2257913 (Justin M. Forbes) - redhat: filter-modules.sh.rhel: add dell-smm-hwmon (Scott Weaver) - Add CONFIG_INTEL_MEI_GSC_PROXY=m for DRM 9.4 stable backport (Mika Penttilä) - Set configs for ZRAM_TRACK_ENTRY_ACTIME (Justin M. Forbes) - Add python3-pyyaml to buildreqs for kernel-docs (Justin M. Forbes) - Add nb7vpq904m to singlemods for ppc64le (Thorsten Leemhuis) - include drm bridge helpers in kernel-core package (Thorsten Leemhuis) - Add dell-smm-hwmon to singlemods (Thorsten Leemhuis) - Add drm_gem_shmem_test to mod-internal.list (Thorsten Leemhuis) - redhat: kABI: add missing RH_KABI_SIZE_ALIGN_CHECKS Kconfig option (Sabrina Dubroca) - redhat: rh_kabi: introduce RH_KABI_EXCLUDE_WITH_SIZE (Sabrina Dubroca) - redhat: rh_kabi: move semicolon inside __RH_KABI_CHECK_SIZE (Sabrina Dubroca) - Fix up ZRAM_TRACK_ENTRY_ACTIME in pending (Justin M. Forbes) - random: replace import_single_range() with import_ubuf() (Justin M. Forbes) - Flip CONFIG_INTEL_PMC_CORE to m for Fedora (Justin M. Forbes) - Add CONFIG_ZRAM_TRACK_ENTRY_ACTIME=y to avoid a mismatch (Justin M. Forbes) - common: cleanup MX3_IPU (Peter Robinson) - all: The Octeon MDIO driver is aarch64/mips (Peter Robinson) - common: rtc: remove bq4802 config (Peter Robinson) - common: de-dupe MARVELL_GTI_WDT (Peter Robinson) - all: Remove CAN_BXCAN (Peter Robinson) - common: cleanup SND_SOC_ROCKCHIP (Peter Robinson) - common: move RHEL DP83867_PHY to common (Peter Robinson) - common: Make ASYMMETRIC_KEY_TYPE enable explicit (Peter Robinson) - common: Disable aarch64 ARCH_MA35 universally (Peter Robinson) - common: arm64: enable Tegra234 pinctrl driver (Peter Robinson) - rhel: arm64: Enable qoriq thermal driver (Peter Robinson) - common: aarch64: Cleanup some i.MX8 config options (Peter Robinson) - all: EEPROM_LEGACY has been removed (Peter Robinson) - all: rmeove AppleTalk hardware configs (Peter Robinson) - all: cleanup: remove references to SLOB (Peter Robinson) - all: cleanup: Drop unnessary BRCMSTB configs (Peter Robinson) - all: net: remove retired network schedulers (Peter Robinson) - all: cleanup removed CONFIG_IMA_TRUSTED_KEYRING (Peter Robinson) - BuildRequires: lld for build with selftests for x86 (Jan Stancek) - spec: add keyutils to selftest-internal subpackage requirements (Artem Savkov) [2166911] - redhat/spec: exclude liburandom_read.so from requires (Artem Savkov) [2120968] - rtla: sync summary text with upstream and update Requires (Jan Stancek) - uki-virt: add systemd-sysext dracut module (Gerd Hoffmann) - uki-virt: add virtiofs dracut module (Gerd Hoffmann) - common: disable the FB device creation (Peter Robinson) - s390x: There's no FB on Z-series (Peter Robinson) - fedora: aarch64: enable SM_VIDEOCC_8350 (Peter Robinson) - fedora: arm64: enable ethernet on newer TI industrial (Peter Robinson) - fedora: arm64: Disable VIDEO_IMX_MEDIA (Peter Robinson) - fedora: use common config for Siemens Simatic IPC (Peter Robinson) - fedora: arm: enable Rockchip SPI flash (Peter Robinson) - fedora: arm64: enable DRM_TI_SN65DSI83 (Peter Robinson) - kernel.spec: remove kernel-smp reference from scripts (Jan Stancek) - redhat: do not compress the full kernel changelog in the src.rpm (Herton R. Krzesinski) - Auto consolidate configs for the 6.7 cycle (Justin M. Forbes) - Enable sound for a line of Huawei laptops (TomZanna) - fedora: a few cleanups and driver enablements (Peter Robinson) - fedora: arm64: cleanup Allwinner Pinctrl drivers (Peter Robinson) - fedora: aarch64: Enable some DW drivers (Peter Robinson) - redhat: ship all the changelog from source git into kernel-doc (Herton R. Krzesinski) - redhat: create an empty changelog file when changing its name (Herton R. Krzesinski) - redhat/self-test: Remove --all from git query (Prarit Bhargava) - Disable accel drivers for Fedora x86 (Kate Hsuan) - redhat: scripts: An automation script for disabling unused driver for x86 (Kate Hsuan) - Fix up Fedora LJCA configs and filters (Justin M. Forbes) - Fedora configs for 6.7 (Justin M. Forbes) - Some Fedora config updates for MLX5 (Justin M. Forbes) - Turn on DRM_ACCEL drivers for Fedora (Justin M. Forbes) - redhat: enable the kfence test (Nico Pache) - redhat/configs: Enable UCLAMP_TASK for PipeWire and WirePlumber (Neal Gompa) - Turn on CONFIG_SECURITY_DMESG_RESTRICT for Fedora (Justin M. Forbes) - Turn off shellcheck for the fedora-stable-release script (Justin M. Forbes) - Add some initial Fedora stable branch script to redhat/scripts/fedora/ (Justin M. Forbes) - redhat: disable iptables-legacy compatibility layer (Florian Westphal) - redhat: disable dccp conntrack support (Florian Westphal) - configs: enable netfilter_netlink_hook in fedora too (Florian Westphal) - ext4: Mark mounting fs-verity filesystems as tech-preview (Alexander Larsson) - erofs: Add tech preview markers at mount (Alexander Larsson) - Enable fs-verity (Alexander Larsson) - Enable erofs (Alexander Larsson) - aarch64: enable uki (Gerd Hoffmann) - redhat: enable CONFIG_SND_SOC_INTEL_SOF_DA7219_MACH as a module for x86 (Patrick Talbert) - Turn CONFIG_MFD_CS42L43_SDW on for RHEL (Justin M. Forbes) - Enable cryptographic acceleration config flags for PowerPC (Mamatha Inamdar) - Also make vmlinuz-virt.efi world readable (Zbigniew Jędrzejewski-Szmek) - Drop custom mode for System.map file (Zbigniew Jędrzejewski-Szmek) - Add drm_exec_test to mod-internal.list for depmod to succeed (Mika Penttilä) - RHEL 9.4 DRM backport (upto v6.6 kernel), sync Kconfigs (Mika Penttilä) - Turn on USB_DWC3 for Fedora (rhbz 2250955) (Justin M. Forbes) - redhat/configs: Move IOMMUFD to common (Alex Williamson) - redhat: Really remove cpupower files (Prarit Bhargava) - redhat: remove update_scripts.sh (Prarit Bhargava) - Fix s390 zfcpfdump bpf build failures for cgroups (Don Zickus) - Flip CONFIG_NVME_AUTH to m in pending (Justin M. Forbes) - Turn CONFIG_SND_SOC_INTEL_AVS_MACH_RT5514 on for Fedora x86 (Jason Montleon) - kernel/rh_messages.c: Mark functions as possibly unused (Prarit Bhargava) - Add snd-hda-cirrus-scodec-test to mod-internal.list (Scott Weaver) - Turn off BPF_SYSCALL in pending for zfcpdump (Justin M. Forbes) - Add mean_and_variance_test to mod-internal.list (Justin M. Forbes) - Add cfg80211-tests and mac80211-tests to mod-internal.list (Justin M. Forbes) - Turn on CONFIG_MFD_CS42L43_SDW for RHEL in pending (Justin M. Forbes) - Turn on bcachefs for Fedora (Justin M. Forbes) - redhat: configs: fedora: Enable QSEECOM and friends (Andrew Halaney) - Add clk-fractional-divider_test to mod-internal.list (Thorsten Leemhuis) - Add gso_test to mod-internal.list (Thorsten Leemhuis) - Add property-entry-test to mod-internal.list (Thorsten Leemhuis) - Fedora 6.7 configs part 1 (Justin M. Forbes) - [Scheduled job] Catch config mismatches early during upstream merge (Don Zickus) - redhat/self-test: Update data for KABI xz change (Prarit Bhargava) - redhat/scripts: Switch KABI tarballs to xz (Prarit Bhargava) - redhat/kernel.spec.template: Switch KABI compression to xz (Prarit Bhargava) - redhat: self-test: Use a more complete SRPM file suffix (Andrew Halaney) - redhat: makefile: remove stray rpmbuild --without (Eric Chanudet) - Consolidate configs into common for 6.6 (Justin M. Forbes) - Updated Fedora configs (Justin M. Forbes) - Turn on UFSHCD for Fedora x86 (Justin M. Forbes) - redhat: configs: generic: x86: Disable CONFIG_VIDEO_OV01A10 for x86 platform (Hans de Goede) - redhat: remove pending-rhel CONFIG_XFS_ASSERT_FATAL file (Patrick Talbert) - New configs in fs/xfs (Fedora Kernel Team) - crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) - random: Add hook to override device reads and getrandom(2) (Herbert Xu) - redhat/configs: share CONFIG_ARM64_ERRATUM_2966298 between rhel and fedora (Mark Salter) - configs: Remove S390 IOMMU config options that no longer exist (Jerry Snitselaar) - redhat: docs: clarify where bugs and issues are created (Scott Weaver) - redhat/scripts/rh-dist-git.sh does not take any arguments: fix error message (Denys Vlasenko) - Add target_branch for gen_config_patches.sh (Don Zickus) - redhat: disable kunit by default (Nico Pache) - redhat/configs: enable the AMD_PMF driver for RHEL (David Arcari) - Make CONFIG_ADDRESS_MASKING consistent between fedora and rhel (Chris von Recklinghausen) - CI: add ark-latest baseline job to tag cki-gating for successful pipelines (Michael Hofmann) - CI: provide child pipelines for CKI container image gating (Michael Hofmann) - CI: allow to run as child pipeline (Michael Hofmann) - CI: provide descriptive pipeline name for scheduled pipelines (Michael Hofmann) - CI: use job templates for variant variables (Michael Hofmann) - redhat/kernel.spec.template: simplify __modsign_install_post (Jan Stancek) - Fedora filter updates after configs (Justin M. Forbes) - Fedora configs for 6.6 (Justin M. Forbes) - redhat/configs: Freescale Layerscape SoC family (Steve Best) - Add clang MR/baseline pipelines (Michael Hofmann) - CI: Remove unused kpet_tree_family (Nikolai Kondrashov) - Add clang config framework (Don Zickus) - Apply partial snippet configs to all configs (Don Zickus) - Remove unpackaged kgcov config files (Don Zickus) - redhat/configs: enable missing Kconfig options for Qualcomm RideSX4 (Brian Masney) - enable CONFIG_ADDRESS_MASKING for x86_64 (Chris von Recklinghausen) - common: aarch64: enable NXP Flex SPI (Peter Robinson) - fedora: Switch TI_SCI_CLK and TI_SCI_PM_DOMAINS symbols to built-in (Javier Martinez Canillas) - kernel.spec: adjust build option comment (Michael Hofmann) - kernel.spec: allow to enable arm64_16k variant (Michael Hofmann) - gitlab-ci: enable build-only pipelines for Rawhide/16k/aarch64 (Michael Hofmann) - kernel.spec.template: Fix --without bpftool (Prarit Bhargava) - redhat/configs: NXP BBNSM Power Key Driver (Steve Best) - redhat/self-test: Update data for cross compile fields (Prarit Bhargava) - redhat/Makefile.cross: Add message for disabled subpackages (Prarit Bhargava) - redhat/Makefile.cross: Update cross targets with disabled subpackages (Prarit Bhargava) - Remove XFS_ASSERT_FATAL from pending-fedora (Justin M. Forbes) - Change default pending for XFS_ONLINE_SCRUB_STATSas it now selects XFS_DEBUG (Justin M. Forbes) - gitlab-ci: use --with debug/base to select kernel variants (Michael Hofmann) - kernel.spec: add rpmbuild --without base option (Michael Hofmann) - redhat: spec: Fix typo for kernel_variant_preun for 16k-debug flavor (Neal Gompa) - Turn off appletalk for fedora (Justin M. Forbes) - New configs in drivers/media (Fedora Kernel Team) - redhat/docs: Add a mention of bugzilla for bugs (Prarit Bhargava) - Fix the fixup of Fedora release (Don Zickus) - Fix Fedora release scheduled job (Don Zickus) - Move squashfs to kernel-modules-core (Justin M. Forbes) - redhat: Explicitly disable CONFIG_COPS (Vitaly Kuznetsov) - redhat: Add dist-check-licenses target (Vitaly Kuznetsov) - redhat: Introduce "Verify SPDX-License-Identifier tags" selftest (Vitaly Kuznetsov) - redhat: Use kspdx-tool output for the License: field (Vitaly Kuznetsov) - Rename pipeline repo branch and DW tree names (Michael Hofmann) - Adjust comments that refer to ARK in a Rawhide context (Michael Hofmann) - Rename variable names starting with ark- to rawhide- (Michael Hofmann) - Rename trigger-ark to trigger-rawhide (Michael Hofmann) - Fix up config mismatches for Fedora (Justin M. Forbes) - redhat/configs: Texas Instruments Inc. K3 multicore SoC architecture (Steve Best) - Flip CONFIG_VIDEO_V4L2_SUBDEV_API in pending RHEL due to mismatch (Justin M. Forbes) - CONFIG_HW_RANDOM_HISI: move to common and set to m (Scott Weaver) - Turn off CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for Fedora s390x (Justin M. Forbes) - Disable tests for ELN realtime pipelines (Michael Hofmann) - New configs in mm/Kconfig (Fedora Kernel Team) - Flip CONFIG_SND_SOC_CS35L56_SDW to m and clean up (Justin M. Forbes) - Add drm_exec_test to mod-internal.list (Thorsten Leemhuis) - Add new pending entry for CONFIG_SND_SOC_CS35L56_SDW to fix mismatch (Justin M. Forbes) - Fix tarball creation logic (Don Zickus) - redhat: bump libcpupower soname to match upstream (Patrick Talbert) - Turn on MEMFD_CREATE in pending as it is selected by CONFIG_TMPFS (Justin M. Forbes) - redhat: drop unneeded build-time dependency gcc-plugin-devel (Coiby Xu) - all: x86: move wayward x86 specific config home (Peter Robinson) - all: de-dupe non standard config options (Peter Robinson) - all: x86: clean up microcode loading options (Peter Robinson) - common: remove unnessary CONFIG_SND_MESON_AXG* (Peter Robinson) - redhat: Fix UKI install with systemd >= 254 (Vitaly Kuznetsov) - redhat: Use named parameters for kernel_variant_posttrans()/kernel_variant_preun() (Vitaly Kuznetsov) - redhat/kernel.spec.template: update compression variables to support zstd (Brian Masney) - Consolidate configs to common for 6.5 (Justin M. Forbes) - Remove unused config entry for Fedora (Justin M. Forbes) - redhat/self-test: Remove rpmlint test (Prarit Bhargava) - Remove the armv7 config directory from Fedora again (Justin M. Forbes) - Enable CONFIG_EXPERT for both RHEL and Fedora (Justin M. Forbes) - redhat/configs: Enable CONFIG_DEVICE_PRIVATE on aarch64 (David Hildenbrand) [2231407] - redhat/configs: disable CONFIG_ROCKCHIP_ERRATUM_3588001 for RHEL (Mark Salter) - redhat: shellcheck fixes (Prarit Bhargava) - redhat/configs: enable tegra114 SPI (Mark Salter) - all: properly cleanup firewire once and for all (Peter Robinson) - Fix up filters for Fedora (Justin M. Forbes) - New configs in arch/x86 (Fedora Kernel Team) - Add an armv7 directory back for the Fedora configs (Justin M. Forbes) - Fedora 6.5 config updates (Justin M. Forbes) - Turn off DMABUF_SYSFS_STATS (Justin M. Forbes) - CI: rawhide_release: switch to using script to push (Don Zickus) - redhat/self-test: Update self-test data (Prarit Bhargava) - redhat/scripts/cross-compile: Update download_cross.sh (Prarit Bhargava) - redhat/Makefile.cross: Remove ARCH selection code (Prarit Bhargava) - redhat/Makefile.cross: Update script (Prarit Bhargava) - Fix interruptible non MR jobs (Michael Hofmann) - all: run evaluate_configs to de-dupe merged aarch64 (Peter Robinson) - all: arm: merge the arm and arm/aarch64 (Peter Robinson) - fedora: remove ARMv7 AKA armhfp configurations (Peter Robinson) - fedora: remove ARMv7 AKA armhfp support (Peter Robinson) - redhat/configs: enable CONFIG_VIRTIO_MEM on aarch64 (David Hildenbrand) [2044155] - redhat/configs: enable CONFIG_MEMORY_HOTREMOVE aarch64 (David Hildenbrand) [2062054] - redhat: Add arm64-16k kernel flavor scaffold for 16K page-size'd AArch64 (Neal Gompa) - fedora: enable i3c on aarch64 (Peter Robinson) - redhat/configs: Remove `CONFIG_HZ_1000 is not set` for aarch64 (Enric Balletbo i Serra) - redhat/configs: turn on the framework for SPI NOR for ARM (Steve Best) - configs: add new ChromeOS UART driver (Mark Langsdorf) - configs: add new ChromeOS Human Presence Sensor (Mark Langsdorf) - redhat/configs: Enable CONFIG_NVIDIA_WMI_EC_BACKLIGHT for both Fedora and RHEL (Kate Hsuan) - redhat/configs: Texas Instruments INA3221 driver (Steve Best) - arm: i.MX: Some minor NXP i.MX cleanups (Peter Robinson) - Description: Set config for Tegra234 pinctrl driver (Joel Slebodnick) - Update RPM Scriptlet for kernel-install Changes (Jonathan Steffan) - [CI] add exit 0 to the end of CI scripts (Don Zickus) - redhat: configs: Disable CONFIG_CRYPTO_STATS since performance issue for storage (Kate Hsuan) [2227793] - Remove obsolete variable from gitlab-ci.yml (Ondrej Kinst) - redhat/configs: Move GVT-g to Fedora only (Alex Williamson) - [CI] Make sure we are on correct branch before running script (Don Zickus) - CI: ark-update-configs: sync push command and output (Don Zickus) - CI: ark-update-configs: misc changes (Don Zickus) - CI: sync ark-create-release push commands with output (Don Zickus) - CI: ark-create-release: Add a robust check if nothing changed (Don Zickus) - CI: Remove legacy tag check cruft (Don Zickus) - CI: Introduce simple environment script (Don Zickus) - redhat/configs: Disable FIREWIRE for RHEL (Prarit Bhargava) - redhat/scripts/rh-dist-git.sh: print list of uploaded files (Denys Vlasenko) - redhat/scripts/expand_srpm.sh: add missing function, robustify (Denys Vlasenko) - redhat: Enable HSR and PRP (Felix Maurer) - redhat/scripts/rh-dist-git.sh: fix outdated message and comment (Denys Vlasenko) - redhat/configs: Disable CONFIG_I8K (Prarit Bhargava) - Make sure posttrans script doesn't fail if restorecon is not installed (Daan De Meyer) - Update filters for new config items (Justin M. Forbes) - More Fedora 6.5 configs (Justin M. Forbes) - redhat/configs: disable pre-UVC cameras for RHEL on aarch64 (Dean Nelson) - redhat/configs: enable CONFIG_MEDIA_SUPPORT for RHEL on aarch64 (Dean Nelson) - move ownership of /lib/modules/<ver>/ to kernel-core (Thorsten Leemhuis) - Let kernel-modules-core own the files depmod generates. (Thorsten Leemhuis) - redhat: configs: Enable CONFIG_TYPEC_STUSB160X for rhel on aarch64 (Desnes Nunes) - Add filters for ptp_dfl_tod on Fedora (Justin M. Forbes) - Fedora 6.5 configs part 1 (Justin M. Forbes) - fedora: enable CONFIG_ZYNQMP_IPI_MBOX as a builtin in pending-fedora (Patrick Talbert) - fedora: arm: some minor updates (Peter Robinson) - fedora: bluetooth: enable AOSP extensions (Peter Robinson) - fedora: wifi: tweak ZYDAS WiFI config options (Peter Robinson) - scsi: sd: Add "probe_type" module parameter to allow synchronous probing (Ewan D. Milne) [2140017] - redhat/configs: allow IMA to use MOK keys (Coiby Xu) - Simplify documentation jobs (Michael Hofmann) - Auto-cancel pipelines only on MRs (Michael Hofmann) - CI: Call script directly (Don Zickus) - CI: Remove stale TAG and Makefile cruft (Don Zickus) - CI: Move os-build tracking to common area (Don Zickus) - redhat: use the eln builder for daily jobs (Patrick Talbert) - redhat: set CONFIG_XILINX_WINDOW_WATCHDOG as disabled in pending (Patrick Talbert) - Add baseline ARK/ELN pipelines (Michael Hofmann) - Simplify job rules (Michael Hofmann) - Build ELN srpm for bot changes (Michael Hofmann) - Run RH selftests for ELN (Michael Hofmann) - Simplify job templates (Michael Hofmann) - Extract rules to allow orthogonal configuration (Michael Hofmann) - Require ELN pipelines if started automatically (Michael Hofmann) - Add ARK debug pipeline (Michael Hofmann) - Extract common parts of child pipeline job (Michael Hofmann) - Move ARK pipeline variables into job template (Michael Hofmann) - Simplify ARK pipeline rules (Michael Hofmann) - Change pathfix.py to %%py3_shebang_fix (Justin M. Forbes) - Turn on NET_VENDOR_QUALCOMM for Fedora to enable rmnet (Justin M. Forbes) - redhat: add intel-m10-bmc-hwmon to filter-modules singlemods list (Patrick Talbert) - fedira: enable pending-fedora CONFIG_CPUFREQ_DT_PLATDEV as a module (Patrick Talbert) - redhat: fix the 'eln BUILD_TARGET' self-test (Patrick Talbert) - redhat: update the self-test-data (Patrick Talbert) - redhat: remove trailing space in dist-dump-variables output (Patrick Talbert) - Allow ELN pipelines failures (Michael Hofmann) - Enable cs-like CI (Michael Hofmann) - Allow to auto-cancel redundant pipelines (Michael Hofmann) - Remove obsolete unused trigger variable (Michael Hofmann) - Fix linter warnings in .gitlab-ci.yml (Michael Hofmann) - config: wifi: debug options for ath11k, brcm80211 and iwlwifi (Íñigo Huguet) - redhat: allow dbgonly cross builds (Jan Stancek) - redhat/configs: Clean up x86-64 call depth tracking configs (Waiman Long) - redhat: move SND configs from pending-rhel to rhel (Patrick Talbert) - Fix up armv7 configs for Fedora (Justin M. Forbes) - redhat: Set pending-rhel x86 values for various SND configs (Patrick Talbert) - redhat: update self-test data (Patrick Talbert) - redhat: ignore SPECBPFTOOLVERSION/bpftoolversion in self-test create-data.sh (Patrick Talbert) - fedora/rhel: Move I2C_DESIGNWARE_PLATFORM, I2C_SLAVE, & GPIOLIB from pending (Patrick Talbert) - redhat/filter-modules.sh.rhel: add needed deps for intel_rapl_tpmi (Jan Stancek) - fedora: Enable CONFIG_SPI_SLAVE (Patrick Talbert) - fedora/rhel: enable I2C_DESIGNWARE_PLATFORM, I2C_SLAVE, and GPIOLIB (Patrick Talbert) - fedora: Enable CONFIG_SPI_SLAVE in fedora-pending (Patrick Talbert) - redhat: remove extra + (plus) from meta package Requires definitions (Patrick Talbert) - Add intel-m10-bmc-hwmon to singlemods (Thorsten Leemhuis) - Add hid-uclogic-test to mod-internal.list (Thorsten Leemhuis) - Add checksum_kunit.ko to mod-internal.list (Thorsten Leemhuis) - Add strcat_kunit to mod-internal.list (Thorsten Leemhuis) - Add input_test to mod-intenal.list (Thorsten Leemhuis) - Revert "Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64" (Justin M. Forbes) - Fix up rebase issue with CONFIG_ARCH_FORCE_MAX_ORDER (Justin M. Forbes) - redhat/kernel.spec.template: Disable 'extracting debug info' messages (Prarit Bhargava) - kernel/rh_messages.c: Another gcc12 warning on redundant NULL test (Florian Weimer) [2216678] - redhat: fix signing for realtime and arm64_64k non-debug variants (Jan Stancek) - redhat: treat with_up consistently (Jan Stancek) - redhat: make with_realtime opt-in (Jan Stancek) - redhat/configs: Disable qcom armv7 drippings in the aarch64 tree (Jeremy Linton) - kernel.spec: drop obsolete ldconfig (Jan Stancek) - Consolidate config items to common for 6.4 cycle (Justin M. Forbes) - Turn on CO?NFIg_RMNET for Fedora (Justin M. Forbes) - redhat/configs: enable CONFIG_MANA_INFINIBAND=m for ARK (Vitaly Kuznetsov) - redhat/config: common: Enable CONFIG_GPIO_SIM for software development (Kate Hsuan) - redhat: fix problem with RT kvm modules listed twice in rpm generation (Clark Williams) - redhat: turn off 64k kernel builds with rtonly (Clark Williams) - redhat: turn off zfcpdump for rtonly (Clark Williams) - redhat: don't allow with_rtonly to turn on unsupported arches (Clark Williams) - redhat: update self-test data for addition of RT and 64k-page variants (Clark Williams) - redhat: fix realtime and efiuki build conflict (Jan Stancek) - arm64-64k: Add new kernel variant to RHEL9/CS9 for 64K page-size'd ARM64 (Donald Dutile) [2153073] - redhat: TEMPORARY set configs to deal with PREEMPT_RT not available (Clark Williams) - redhat: TEMPORARY default realtime to off (Clark Williams) - redhat: moved ARM errata configs to arm dir (Clark Williams) - redhat: RT packaging changes (Clark Williams) - redhat: miscellaneous commits needed due to CONFIG_EXPERT (Clark Williams) - redhat: realtime config entries (Clark Williams) - common: remove deleted USB PCCARD drivers (Peter Robinson) - fedora: further cleanup of pccard/cardbus subsystem (Peter Robinson) - common: properly disable PCCARD subsystem (Peter Robinson) - redhat/configs: arm: enable SERIAL_TEGRA UART for RHEL (Mark Salter) - redhat/configs: enable CONFIG_X86_AMD_PSTATE_UT (David Arcari) - redhat/configs: Enable CONFIG_TCG_VTPM_PROXY for RHEL (Štěpán Horáček) - redhat: do not package *.mod.c generated files (Denys Vlasenko) - ALSA configuration changes for ARK/RHEL 9.3 (Jaroslav Kysela) - spec: remove resolve_btfids from kernel-devel (Viktor Malik) - Fix typo in filter-modules (Justin M. Forbes) - redhat/configs: Enable CONFIG_INIT_STACK_ALL_ZERO for RHEL (Josh Poimboeuf) - Remove CONFIG_ARCH_FORCE_MAX_ORDER for aarch64 (Justin M. Forbes) - Fix up config and filter for PTP_DFL_TOD (Justin M. Forbes) - redhat/configs: IMX8ULP pinctrl driver (Steve Best) - redhat/configs: increase CONFIG_FRAME_WARN for Fedora on aarch64 (Brian Masney) - redhat/configs: add two missing Kconfig options for the Thinkpad x13s (Brian Masney) - Fedora configs for 6.4 (Justin M. Forbes) - Change aarch64 CONFIG_ARCH_FORCE_MAX_ORDER to 10 for 4K pages (Justin M. Forbes) - kernel.spec: remove "RPM_VMLINUX_H=$DevelDir/vmlinux.h" code chunk in %%install (Denys Vlasenko) - redhat/configs: aarch64: Turn on Display for OnePlus 6 (Eric Curtin) - redhat/configs: NXP i.MX93 pinctrl, clk, analog to digital converters (Steve Best) - redhat/configs: Enable CONFIG_SC_GPUCC_8280XP for fedora (Andrew Halaney) - redhat/configs: Enable CONFIG_QCOM_IPCC for fedora (Andrew Halaney) - Add rv subpackage for kernel-tools (John Kacur) [2188441] - redhat/configs: NXP i.MX9 family (Steve Best) - redhat/genlog.py: add support to list/process zstream Jira tickets (Herton R. Krzesinski) - redhat: fix duplicate jira issues in the resolves line (Herton R. Krzesinski) - redhat: add support for Jira issues in changelog (Herton R. Krzesinski) - redhat/configs: turn on IMX8ULP CCM Clock Driver (Steve Best) - redhat: update filter-modules fsdrvs list to reference smb instead of cifs (Patrick Talbert) - Turn off some debug options found to impact performance (Justin M. Forbes) - wifi: rtw89: enable RTL8852BE card in RHEL (Íñigo Huguet) - redhat/configs: enable TEGRA186_GPC_DMA for RHEL (Mark Salter) - Move imx8m configs from fedora to common (Mark Salter) - redhat/configs: turn on lpuart serial port support Driver (Steve Best) [2208834] - Turn off DEBUG_VM for non debug Fedora kernels (Justin M. Forbes) - Enable CONFIG_BT on aarch64 (Charles Mirabile) - redhat/configs: turn on CONFIG_MARVELL_CN10K_TAD_PMU (Michal Schmidt) [2042240] - redhat/configs: Fix enabling MANA Infiniband (Kamal Heib) - Fix file listing for symvers in uki (Justin M. Forbes) - Fix up some Fedora config items (Justin M. Forbes) - enable efifb for Nvidia (Justin M. Forbes) - kernel.spec: package unstripped test_progs-no_alu32 (Felix Maurer) - Turn on NFT_CONNLIMIT for Fedora (Justin M. Forbes) - Include the information about builtin symbols into kernel-uki-virt package too (Vitaly Kuznetsov) - redhat/configs: Fix incorrect configs location and content (Vladis Dronov) - redhat/configs: turn on CONFIG_MARVELL_CN10K_DDR_PMU (Michal Schmidt) [2042241] - redhat: configs: generic: x86: Disable CONFIG_VIDEO_OV2740 for x86 platform (Kate Hsuan) - Enable IO_URING for RHEL (Justin M. Forbes) - Turn on IO_URING for RHEL in pending (Justin M. Forbes) - redhat: Remove editconfig (Prarit Bhargava) - redhat: configs: fix CONFIG_WERROR replace in build_configs (Jan Stancek) - redhat/configs: enable Maxim MAX77620 PMIC for RHEL (Mark Salter) - kernel.spec: skip kernel meta package when building without up (Jan Stancek) - redhat/configs: enable RDMA_RXE for RHEL (Kamal Heib) [2022578] - redhat/configs: update RPCSEC_GSS_KRB5 configs (Scott Mayhew) - redhat/Makefile: Support building linux-next (Thorsten Leemhuis) - redhat/Makefile: support building stable-rc versions (Thorsten Leemhuis) - redhat/Makefile: Add target to print DISTRELEASETAG (Thorsten Leemhuis) - Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64 (Justin M. Forbes) - Revert "Merge branch 'unstripped-no_alu32' into 'os-build'" (Patrick Talbert) - configs: Enable CONFIG_PAGE_POOL_STATS for common/generic (Patrick Talbert) - redhat/configs: enable CONFIG_DELL_WMI_PRIVACY for both RHEL and Fedora (David Arcari) - kernel.spec: package unstripped test_progs-no_alu32 (Felix Maurer) - bpf/selftests: fix bpf selftests install (Jerome Marchand) - kernel.spec: add bonding selftest (Hangbin Liu) - Change FORCE_MAX_ORDER for ppc64 to be 8 (Justin M. Forbes) - kernel.spec.template: Add global compression variables (Prarit Bhargava) - kernel.spec.template: Use xz for KABI (Prarit Bhargava) - kernel.spec.template: Remove gzip related aarch64 code (Prarit Bhargava) - Add apple_bl to filter-modules (Justin M. Forbes) - Add handshake-test to mod-intenal.list (Justin M. Forbes) - Add regmap-kunit to mod-internal.list (Justin M. Forbes) - configs: set CONFIG_PAGE_POOL_STATS (Patrick Talbert) - Add apple_bl to fedora module_filter (Justin M. Forbes) - Fix up some config mismatches in new Fedora config items (Justin M. Forbes) - redhat/configs: disable CONFIG_USB_NET_SR9700 for aarch64 (Jose Ignacio Tornos Martinez) - Fix up the RHEL configs for xtables and ipset (Justin M. Forbes) - ark: enable wifi on aarch64 (Íñigo Huguet) - fedora: wifi: hermes: disable 802.11b driver (Peter Robinson) - fedora: wifi: libertas: use the LIBERTAS_THINFIRM driver (Peter Robinson) - fedora: wifi: disable Zydas vendor (Peter Robinson) - redhat: fix python ValueError in error path of merge.py (Clark Williams) - fedora: arm: minor updates (Peter Robinson) - kernel.spec: Fix UKI naming to comply with BLS (Philipp Rudo) - redhat/kernel.spec.template: Suppress 'extracting debug info' noise in build log (Prarit Bhargava) - Fedora 6.3 configs part 2 (Justin M. Forbes) - redhat/configs: Enable CONFIG_X86_KERNEL_IBT for Fedora and ARK (Josh Poimboeuf) - kernel.spec: gcov: make gcov subpackages per variant (Jan Stancek) - kernel.spec: Gemini: add Epoch to perf and rtla subpackages (Jan Stancek) - kernel.spec: Gemini: fix header provides for upgrade path (Jan Stancek) - redhat: introduce Gemini versioning (Jan Stancek) - redhat: separate RPM version from uname version (Jan Stancek) - redhat: introduce GEMINI and RHEL_REBASE_NUM variable (Jan Stancek) - ipmi: ssif_bmc: Add SSIF BMC driver (Tony Camuso) - common: minor de-dupe of parallel port configs (Peter Robinson) - Fedora 6.3 configs part 1 (Justin M. Forbes) - redhat: configs: Enable CONFIG_MEMTEST to enable memory test (Kate Hsuan) - Update Fedora arm filters after config updates (Nicolas Chauvet) - redhat/kernel.spec.template: Fix kernel-tools-libs-devel dependency (Prarit Bhargava) - redhat: fix the check for the n option (Patrick Talbert) - common: de-dupe some options that are the same (Peter Robinson) - generic: remove deleted options (Peter Robinson) - redhat/configs: enable CONFIG_INTEL_TCC_COOLING for RHEL (David Arcari) - Update Fedora ppc filters after config updates (Justin M. Forbes) - Update Fedora aarch64 filters after config updates (Justin M. Forbes) - fedora: arm: Updates for 6.3 (Peter Robinson) - redhat: kunit: cleanup NITRO config and enable rescale test (Nico Pache) - kernel.spec: use %%{package_name} to fix kernel-devel-matched Requires (Jan Stancek) - kernel.spec: use %%{package_name} also for abi-stablelist subpackages (Jan Stancek) - kernel.spec: use %%{package_name} also for tools subpackages (Jan Stancek) - generic: common: Parport and paride/ata cleanups (Peter Robinson) - CONFIG_SND_SOC_CS42L83 is no longer common (Justin M. Forbes) - configs: arm: bring some configs in line with rhel configs in c9s (Mark Salter) - arm64/configs: Put some arm64 configs in the right place (Mark Salter) - cleanup removed R8188EU config (Peter Robinson) - Make RHJOBS container friendly (Don Zickus) - Remove scmversion from kernel.spec.template (Don Zickus) - redhat/configs: Enable CONFIG_SND_SOC_CS42L83 (Neal Gompa) - Use RHJOBS for create-tarball (Don Zickus) - Enable CONFIG_NET_SCH_FQ_PIE for Fedora (Justin M. Forbes) - Make Fedora debug configs more useful for debug (Justin M. Forbes) - redhat/configs: enable Octeon TX2 network drivers for RHEL (Michal Schmidt) [2040643] - redhat/kernel.spec.template: fix installonlypkg for meta package (Jan Stancek) - redhat: version two of Makefile.rhelver tweaks (Clark Williams) - redhat/configs: Disable CONFIG_GCC_PLUGINS (Prarit Bhargava) - redhat/kernel.spec.template: Fix typo for process_configs.sh call (Neal Gompa) - redhat/configs: CONFIG_CRYPTO_SM3_AVX_X86_64 is x86 only (Vladis Dronov) - redhat/configs: Enable CONFIG_PINCTRL_METEORLAKE in RHEL (Prarit Bhargava) - fedora: enable new image sensors (Peter Robinson) - redhat/self-test: Update self-test data (Prarit Bhargava) - redhat/kernel.spec.template: Fix hardcoded "kernel" (Prarit Bhargava) - redhat/configs/generate_all_configs.sh: Fix config naming (Prarit Bhargava) - redhat/kernel.spec.template: Pass SPECPACKAGE_NAME to generate_all_configs.sh (Prarit Bhargava) - kernel.spec.template: Use SPECPACKAGE_NAME (Prarit Bhargava) - redhat/Makefile: Copy spec file (Prarit Bhargava) - redhat: Change PACKAGE_NAME to SPECPACKAGE_NAME (Prarit Bhargava) - redhat/configs: Support the virtio_mmio.device parameter in Fedora (David Michael) - Revert "Merge branch 'systemd-boot-unsigned' into 'os-build'" (Patrick Talbert) - redhat/Makefile: fix default values for dist-brew's DISTRO and DIST (Íñigo Huguet) - Remove cc lines from automatic configs (Don Zickus) - Add rtla-hwnoise files (Justin M. Forbes) - redhat/kernel.spec.template: Mark it as a non-executable file (Neal Gompa) - fedora: arm: Enable DRM_PANEL_HIMAX_HX8394 (Javier Martinez Canillas) - redhat/configs: CONFIG_HP_ILO location fix (Vladis Dronov) - redhat: Fix build for kselftests mm (Nico Pache) - fix tools build after vm to mm rename (Justin M. Forbes) - redhat/spec: Update bpftool versioning scheme (Viktor Malik) - redhat/configs: CONFIG_CRYPTO_SM4_AESNI_AVX*_X86_64 is x86 only (Prarit Bhargava) - redhat: adapt to upstream Makefile change (Clark Williams) - redhat: modify efiuki specfile changes to use variants convention (Clark Williams) - Turn off DEBUG_INFO_COMPRESSED_ZLIB for Fedora (Justin M. Forbes) - redhat/kernel.spec.template: Fix RHEL systemd-boot-unsigned dependency (Prarit Bhargava) - Add hashtable_test to mod-internal.list (Justin M. Forbes) - Add more kunit tests to mod-internal.list for 6.3 (Justin M. Forbes) - Flip CONFIG_I2C_ALGOBIT to m (Justin M. Forbes) - Flip I2C_ALGOBIT to m to avoid mismatch (Justin M. Forbes) - kernel.spec: move modules.builtin to kernel-core (Jan Stancek) - Turn on IDLE_INJECT for x86 (Justin M. Forbes) - Flip CONFIG_IDLE_INJECT in pending (Justin M. Forbes) - redhat/configs: Enable CONFIG_V4L_TEST_DRIVERS related drivers (Enric Balletbo i Serra) - redhat/configs: Enable UCSI_CCG support (David Marlin) - Fix underline mark-up after text change (Justin M. Forbes) - Turn on CONFIG_XFS_RT for Fedora (Justin M. Forbes) - Consolidate common configs for 6.2 (Justin M. Forbes) - aarch64: enable zboot (Gerd Hoffmann) - redhat: remove duplicate pending-rhel config items (Patrick Talbert) - Disable frame pointers (Justin M. Forbes) - redhat/configs: update scripts and docs for ark -> rhel rename (Clark Williams) - redhat/configs: rename ark configs dir to rhel (Clark Williams) - Turn off CONFIG_DEBUG_INFO_COMPRESSED_ZLIB for ppc64le (Justin M. Forbes) - kernel.spec: package unstripped kselftests/bpf/test_progs (Jan Stancek) - kernel.spec: allow to package some binaries as unstripped (Jan Stancek) - redhat/configs: Make merge.py portable for older python (Desnes Nunes) - Fedora configs for 6.2 (Justin M. Forbes) - redhat: Repair ELN build broken by the recent UKI changes (Vitaly Kuznetsov) - redhat/configs: enable CONFIG_INET_DIAG_DESTROY (Andrea Claudi) - Enable TDX Guest driver (Vitaly Kuznetsov) - redhat/configs: Enable CONFIG_PCIE_PTM generically (Corinna Vinschen) - redhat: Add sub-RPM with a EFI unified kernel image for virtual machines (Vitaly Kuznetsov) - redhat/Makefile: Remove GIT deprecated message (Prarit Bhargava) - Revert "redhat: configs: Disable xtables and ipset" (Phil Sutter) - redhat/configs: Enable CONFIG_SENSORS_LM90 for RHEL (Mark Salter) - Fix up SQUASHFS decompression configs (Justin M. Forbes) - redhat/configs: enable CONFIG_OCTEON_EP as a module in ARK (Michal Schmidt) [2041990] - redhat: ignore rpminspect runpath report on urandom_read selftest binaries (Herton R. Krzesinski) - kernel.spec: add llvm-devel build requirement (Scott Weaver) - Update self-test data to not expect debugbuildsenabled 0 (Justin M. Forbes) - Turn off forced debug builds (Justin M. Forbes) - Turn on debug builds for aarch64 Fedora (Justin M. Forbes) - redhat/configs: modify merge.py to match old overrides input (Clark Williams) - redhat: fixup pylint complaints (Clark Williams) - redhat: remove merge.pl and references to it (Clark Williams) - redhat: update merge.py to handle merge.pl corner cases (Clark Williams) - Revert "redhat: fix elf got hardening for vm tools" (Don Zickus) - Update rebase notes for Fedora (Justin M. Forbes) - Update CONFIG_LOCKDEP_CHAINS_BITS to 19 (cmurf) - redhat/configs: Turn on CONFIG_SPI_TEGRA210_QUAD for RHEL (Mark Salter) - ark: aarch64: drop CONFIG_SMC911X (Peter Robinson) - all: cleanup and de-dupe CDROM_PKTCDVD options. (Peter Robinson) - all: remove CRYPTO_GF128MUL (Peter Robinson) - all: cleanup UEFI options (Peter Robinson) - common: arm64: Enable Ampere Altra SMpro Hardware Monitoring (Peter Robinson) - fedora: enable STACKPROTECTOR_STRONG (Peter Robinson) - fedora: enable STACKPROTECTOR on arm platforms (Peter Robinson) - redhat/self-test: Update data with ENABLE_WERROR (Prarit Bhargava) - redhat/Makefile.variables: Add ENABLE_WERROR (Prarit Bhargava) - makefile: Add -Werror support for RHEL (Prarit Bhargava) - redhat/Makefile.variables: Remove mention of Makefile.rhpkg (Prarit Bhargava) - redhat/Makefile.variables: Alphabetize variables (Prarit Bhargava) - gitlab-ci: use CI templates from production branch (Michael Hofmann) - redhat/kernel.spec.template: Fix internal "File listed twice" errors (Prarit Bhargava) - redhat: Remove stale .tmp_versions code and comments (Prarit Bhargava) - redhat/kernel.spec.template: Fix vmlinux_decompressor on !s390x (Prarit Bhargava) - redhat/kernel.spec.template: Remove unnecessary output from pathfix.py (Prarit Bhargava) - Modularize CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU (Mark Salter) - redhat/kernel.spec.template: Parallelize compression (Prarit Bhargava) - config: Enable Security Path (Ricardo Robaina) - redhat/self-test/data: Regenerate self-test data for make change (Prarit Bhargava) - Update module filters for nvmem_u-boot-env (Justin M. Forbes) - fedora: Updates for 6.2 merge (Peter Robinson) - fedora: Updates for 6.1 merge (Peter Robinson) - modules-core: use %%posttrans (Gerd Hoffmann) - split sub-rpm kernel-modules-core from kernel-core (Gerd Hoffmann) - Turn off CONFIG_MTK_T7XX for S390x (Justin M. Forbes) - CI: add variable for variant handling (Veronika Kabatova) - Fix up configs with SND_SOC_NAU8315 mismatch (Justin M. Forbes) - CI: Do a full build for non-bot runs (Veronika Kabatova) - Fix up configs with SND_SOC_NAU8315 mismatch (Justin M. Forbes) - kernel/rh_messages.c: gcc12 warning on redundant NULL test (Eric Chanudet) [2142658] - redhat/configs: Enable CRYPTO_CURVE25519 in ark (Prarit Bhargava) - general: arm: cleanup ASPEED options (Peter Robinson) - redhat/configs: ALSA - cleanups for the AMD Pink Sardine DMIC driver (Jaroslav Kysela) - redhat/docs: Add FAQ entry for booting between Fedora & ELN/RHEL kernels (Prarit Bhargava) - spec: add missing BuildRequires: python3-docutils for tools (Ondrej Mosnacek) - config: enable RCU_TRACE for debug kernels (Wander Lairson Costa) - Add siphash_kunit and strscpy_kunit to mod-internal.list (Justin M. Forbes) - Add drm_kunit_helpers to mod-internal.list (Justin M. Forbes) - Fix up configs for Fedora so we don't have a mismatch (Justin M. Forbes) - Turn on CONFIG_SQUASHFS_DECOMP_SINGLE in pending (Justin M. Forbes) - redhat/kernel.spec.template: Fix cpupower file error (Prarit Bhargava) - redhat/configs: aarhc64: clean up some erratum configs (Mark Salter) - More Fedora configs for 6.1 as deps were switched on (Justin M. Forbes) - redhat/configs: make SOC_TEGRA_CBB a module (Mark Salter) - redhat/configs: aarch64: reorganize tegra configs to common dir (Mark Salter) - Enforces buildroot if cross_arm (Nicolas Chauvet) - Handle automated case when config generation works correctly (Don Zickus) - Turn off CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 (Justin M. Forbes) - Turn off CONFIG_EFI_ZBOOT as it makes CKI choke (Justin M. Forbes) - Fedora config updates for 6.1 (Justin M. Forbes) - redhat: Remove cpupower files (Prarit Bhargava) - redhat/configs: update CXL-related options to match what RHEL will use (John W. Linville) - Clean up the config for the Tegra186 timer (Al Stone) - redhat/configs: move CONFIG_TEGRA186_GPC_DMA config (Mark Salter) - Check for kernel config git-push failures (Don Zickus) - redhat: genlog.sh failures should interrupt the recipe (Patrick Talbert) - Turn CONFIG_GNSS back on for Fedora (Justin M. Forbes) - redhat/configs: enable CONFIG_GNSS for RHEL (Michal Schmidt) - Turn off NVMEM_U_BOOT_ENV for fedora (Justin M. Forbes) - Consolidate matching fedora and ark entries to common (Justin M. Forbes) - Empty out redhat/configs/common (Justin M. Forbes) - Adjust path to compressed vmlinux kernel image for s390x (Justin M. Forbes) [2149273] - Fedora config updates for 6.1 (Justin M. Forbes) - redhat: genlog.sh should expect genlog.py in the current directory (Patrick Talbert) - redhat/configs: consolidate CONFIG_TEST_LIVEPATCH=m (Joe Lawrence) - redhat/configs: enable CONFIG_TEST_LIVEPATCH=m for s390x (Julia Denham) - Revert "Merge branch 'ark-make-help' into 'os-build'" (Scott Weaver) - Remove recommendation to use 'common' for config changes. (Don Zickus) - Update config to add i3c support for AArch64 (Mark Charlebois) - redhat: Move cross-compile scripts into their own directory (Prarit Bhargava) - redhat: Move yaml files into their own directory (Prarit Bhargava) - redhat: Move update_scripts.sh into redhat/scripts (Prarit Bhargava) - redhat: Move kernel-tools scripts into their own directory (Prarit Bhargava) - redhat: Move gen-* scripts into their own directory (Prarit Bhargava) - redhat: Move mod-* scripts into their own directory (Prarit Bhargava) - redhat/Makefile: Fix RHJOBS grep warning (Prarit Bhargava) - redhat: Force remove tmp file (Prarit Bhargava) - redhat/configs: ALSA - cleanups for the CentOS 9.2 update (Jaroslav Kysela) - CI: Use CKI container images from quay.io (Veronika Kabatova) - redhat: clean up the partial-kgcov-snip.config file (Patrick Talbert) - redhat: avoid picking up stray editor backups when processing configs (Clark Williams) - CI: Remove old configs (Veronika Kabatova) - redhat: override `make help` to include dist-help (Jonathan Toppins) - redhat: make RHTEST stricter (Jonathan Toppins) - redhat: Enable support for SN2201 system (Ivan Vecera) - redhat/docs/index.rst: Add FLAVOR information to generate configs for local builds (Enric Balletbo i Serra) - redhat: fix selftest git command so it picks the right commit (Patrick Talbert) - redhat/configs: enable HP_WATCHDOG for aarch64 (Mark Salter) - redhat: disable Kfence Kunit Test (Nico Pache) - configs: enable CONFIG_LRU_GEN_ENABLED everywhere (Patrick Talbert) - redhat: Enable WWAN feature and support for Intel, Qualcomm and Mediatek devices (Jose Ignacio Tornos Martinez) - Turn on dln2 support (RHBZ 2110372) (Justin M. Forbes) - Enable configs for imx8m PHYs (Al Stone) - configs/fedora: Build some SC7180 clock controllers as modules (Javier Martinez Canillas) - redhat/configs: Disable fbdev drivers and use simpledrm everywhere (Javier Martinez Canillas) [1986223] - redhat: fix the branch we pull from the documentation tree (Herton R. Krzesinski) - redhat/configs: change so watchdog is module versus builtin (Steve Best) - redhat/configs: move CONFIG_ACPI_VIDEO to common/generic (Mark Langsdorf) - enable imx8xm I2C configs properly (Al Stone) - configs/fedora: Enable a few more drivers needed by the HP X2 Chromebook (Javier Martinez Canillas) - enable the rtc-rv8803 driver on RHEL and Fedora (David Arcari) - redhat/Makefile: Remove BUILD_SCRATCH_TARGET (Prarit Bhargava) - configs: move CONFIG_INTEL_TDX_GUEST to common directory (Wander Lairson Costa) - redhat/Makefile: Use new BUILD_TARGET for RHEL dist[g]-brew target (Prarit Bhargava) - redhat: method.py: change the output loop to use 'values' method (Patrick Talbert) - redhat: use 'update' method in merge.py (Patrick Talbert) - redhat: Use a context manager in merge.py for opening the config file for reading (Patrick Talbert) - redhat: automatically strip newlines in merge.py (Clark Williams) - redhat: python replacement for merge.pl (Clark Williams) - redhat/docs: Update with DISTLOCALVERSION (Prarit Bhargava) - redhat/Makefile: Rename LOCALVERSION to DISTLOCALVERSION (Akihiko Odaki) - Adjust FIPS module name in RHEL (Vladis Dronov) - spec: prevent git apply from searching for the .git directory (Ondrej Mosnacek) - redhat: Remove parallel_xz.sh (Prarit Bhargava) - Turn on Multi-Gen LRU for Fedora (Justin M. Forbes) - Add kasan_test to mod-internal.list (Justin M. Forbes) - redhat/Makefile.variables: Fix typo with RHDISTGIT_TMP (Prarit Bhargava) - spec: fix path to `installing_core` stamp file for subpackages (Jonathan Lebon) - Remove unused ci scripts (Don Zickus) - Rename rename FORCE_MAX_ZONEORDER to ARCH_FORCE_MAX_ORDER in configs (Justin M. Forbes) - redhat: Add new fortify_kunit & is_signed_type_kunit to mod-internal.list (Patrick Talbert) - Rename rename FORCE_MAX_ZONEORDER to ARCH_FORCE_MAX_ORDER in pending (Justin M. Forbes) - Add acpi video to the filter_modules.sh for rhel (Justin M. Forbes) - Change acpi_bus_get_acpi_device to acpi_get_acpi_dev (Justin M. Forbes) - Turn on ACPI_VIDEO for arm (Justin M. Forbes) - Turn on CONFIG_PRIME_NUMBERS as a module (Justin M. Forbes) - Add new drm kunit tests to mod-internal.list (Justin M. Forbes) - redhat: fix elf got hardening for vm tools (Frantisek Hrbata) - kernel.spec.template: remove some temporary files early (Ondrej Mosnacek) - kernel.spec.template: avoid keeping two copies of vmlinux (Ondrej Mosnacek) - Add fortify_kunit to mod-internal.list (Justin M. Forbes) - Add module filters for Fedora as acpi video has new deps (Justin M. Forbes) - One more mismatch (Justin M. Forbes) - Fix up pending for mismatches (Justin M. Forbes) - Forgot too remove this from pending, it is set properly in ark (Justin M. Forbes) - redhat/Makefile: Add DIST to git tags for RHEL (Prarit Bhargava) - redhat/configs: Move CONFIG_ARM_SMMU_QCOM_DEBUG to common (Jerry Snitselaar) - Common config cleanup for 6.0 (Justin M. Forbes) - Allow selftests to fail without killing the build (Justin M. Forbes) - redhat: Remove redhat/Makefile.rhpkg (Prarit Bhargava) - redhat/Makefile: Move RHDISTGIT_CACHE and RHDISTGIT_TMP (Prarit Bhargava) - redhat/Makefile.rhpkg: Remove RHDISTGIT_USER (Prarit Bhargava) - redhat/Makefile: Move RHPKG_BIN to redhat/Makefile (Prarit Bhargava) - common: clean up Android option with removal of CONFIG_ANDROID (Peter Robinson) - redhat/configs: Remove x86_64 from priority files (Prarit Bhargava) - redhat/configs/pending-ark: Remove x86_64 directory (Prarit Bhargava) - redhat/configs/pending-fedora: Remove x86_64 directory (Prarit Bhargava) - redhat/configs/fedora: Remove x86_64 directory (Prarit Bhargava) - redhat/configs/common: Remove x86_64 directory (Prarit Bhargava) - redhat/configs/ark: Remove x86_64 directory (Prarit Bhargava) - redhat/configs/custom-overrides: Remove x86_64 directory (Prarit Bhargava) - configs: use common CONFIG_ARM64_SME for ark and fedora (Mark Salter) - redhat/configs: Add a warning message to priority.common (Prarit Bhargava) - redhat/configs: Enable INIT_STACK_ALL_ZERO for Fedora (Miko Larsson) - redhat: Set CONFIG_MAXLINEAR_GPHY to =m (Petr Oros) - redhat/configs enable CONFIG_INTEL_IFS (David Arcari) - redhat: Remove filter-i686.sh.rhel (Prarit Bhargava) - redhat/Makefile: Set PATCHLIST_URL to none for RHEL/cs9 (Prarit Bhargava) - redhat: remove GL_DISTGIT_USER, RHDISTGIT and unify dist-git cloning (Prarit Bhargava) - redhat/Makefile.variables: Add ADD_COMMITID_TO_VERSION (Prarit Bhargava) - kernel.spec: disable vmlinux.h generation for s390 zfcpdump config (Prarit Bhargava) - perf: Require libbpf 0.6.0 or newer (Prarit Bhargava) - kabi: add stablelist helpers (Prarit Bhargava) - Makefile: add kabi targets (Prarit Bhargava) - kabi: add support for symbol namespaces into check-kabi (Prarit Bhargava) - kabi: ignore new stablelist metadata in show-kabi (Prarit Bhargava) - redhat/Makefile: add dist-assert-tree-clean target (Prarit Bhargava) - redhat/kernel.spec.template: Specify vmlinux.h path when building samples/bpf (Prarit Bhargava) [2041365] - spec: Fix separate tools build (Prarit Bhargava) [2054579] - redhat/scripts: Update merge-subtrees.sh with new subtree location (Prarit Bhargava) - redhat/kernel.spec.template: enable dependencies generation (Prarit Bhargava) - redhat: build and include memfd to kernel-selftests-internal (Prarit Bhargava) [2027506] - redhat/kernel.spec.template: Link perf with --export-dynamic (Prarit Bhargava) - redhat: kernel.spec: selftests: abort on build failure (Prarit Bhargava) - redhat: configs: move CONFIG_SERIAL_MULTI_INSTANTIATE=m settings to common/x86 (Jaroslav Kysela) - configs: enable CONFIG_HP_ILO for aarch64 (Mark Salter) - all: cleanup dell config options (Peter Robinson) - redhat: Include more kunit tests (Nico Pache) - common: some minor cleanups/de-dupe (Peter Robinson) - common: enable INTEGRITY_MACHINE_KEYRING on all configuraitons (Peter Robinson) - Fedora 6.0 configs update (Justin M. Forbes) - redhat/self-test: Ignore .rhpkg.mk files (Prarit Bhargava) - redhat/configs: Enable CONFIG_PRINTK_INDEX on Fedora (Prarit Bhargava) - redhat/configs: Cleanup CONFIG_X86_KERNEL_IBT (Prarit Bhargava) - Fix up SND_CTL debug options (Justin M. Forbes) - redhat: create /boot symvers link if it doesn't exist (Jan Stancek) - redhat: remove duplicate kunit tests in mod-internal.list (Nico Pache) - configs/fedora: Make Fedora work with HNS3 network adapter (Zamir SUN) - redhat/configs/fedora/generic: Enable CONFIG_BLK_DEV_UBLK on Fedora (Richard W.M. Jones) [2122595] - fedora: disable IWLMEI (Peter Robinson) - redhat/configs: enable UINPUT on aarch64 (Benjamin Tissoires) - Fedora 6.0 configs part 1 (Justin M. Forbes) - redhat/Makefile: Always set UPSTREAM (Prarit Bhargava) - redhat/configs: aarch64: Turn on Apple Silicon configs for Fedora (Eric Curtin) - Add cpumask_kunit to mod-internal.list (Justin M. Forbes) - config - consolidate disabled MARCH options on s390x (Dan Horák) - move the baseline arch to z13 for s390x in F-37+ (Dan Horák) - redhat/scripts/rh-dist-git.sh: Fix outdated cvs reference (Prarit Bhargava) - redhat/scripts/expand_srpm.sh: Use Makefile variables (Prarit Bhargava) - redhat/scripts/clone_tree.sh: Use Makefile variables (Prarit Bhargava) - Fedora: arm changes for 6.0, part 1, with some ACPI (Peter Robinson) - redhat/self-test: Fix shellcheck errors (Prarit Bhargava) - redhat/docs: Add dist-brew BUILD_FLAGS information (Prarit Bhargava) - redhat: change the changelog item for upstream merges (Herton R. Krzesinski) - redhat: fix dist-release build number test (Herton R. Krzesinski) - redhat: fix release number bump when dist-release-changed runs (Herton R. Krzesinski) - redhat: use new genlog.sh script to detect changes for dist-release (Herton R. Krzesinski) - redhat: move changelog addition to the spec file back into genspec.sh (Herton R. Krzesinski) - redhat: always add a rebase entry when ark merges from upstream (Herton R. Krzesinski) - redhat: drop merge ark patches hack (Herton R. Krzesinski) - redhat: don't hardcode temporary changelog file (Herton R. Krzesinski) - redhat: split changelog generation from genspec.sh (Herton R. Krzesinski) - redhat: configs: Disable FIE on arm (Jeremy Linton) [2012226] - redhat/Makefile: Clean linux tarballs (Prarit Bhargava) - redhat/configs: Cleanup CONFIG_ACPI_AGDI (Prarit Bhargava) - spec: add cpupower daemon reload on install/upgrade (Jarod Wilson) - redhat: properly handle binary files in patches (Ondrej Mosnacek) - Add python3-setuptools buildreq for perf (Justin M. Forbes) - Add cros_kunit to mod-internal.list (Justin M. Forbes) - Add new tests to mod-internal.list (Justin M. Forbes) - Turn off some Kunit tests in pending (Justin M. Forbes) - Clean up a mismatch in Fedora configs (Justin M. Forbes) - redhat/configs: Sync up Retbleed configs with centos-stream (Waiman Long) - Change CRYPTO_BLAKE2S_X86 from m to y (Justin M. Forbes) - Leave CONFIG_ACPI_VIDEO on for x86 only (Justin M. Forbes) - Fix BLAKE2S_ARM and BLAKE2S_X86 configs in pending (Justin M. Forbes) - Fix pending for ACPI_VIDEO (Justin M. Forbes) - redhat/configs: Fix rm warning on config warnings (Eric Chanudet) - redhat/Makefile: Deprecate PREBUILD_GIT_ONLY variable (Prarit Bhargava) - redhat/Makefile: Deprecate SINGLE_TARBALL variable (Prarit Bhargava) - redhat/Makefile: Deprecate GIT variable (Prarit Bhargava) - Update CONFIG_LOCKDEP_CHAINS_BITS to 18 (cmurf) - Add new FIPS module name and version configs (Vladis Dronov) - redhat/configs/fedora: Make PowerPC's nx-gzip buildin (Jakub Čajka) - omit unused Provides (Dan Horák) - self-test: Add test for DIST=".eln" (Prarit Bhargava) - redhat: Enable CONFIG_LZ4_COMPRESS on Fedora (Prarit Bhargava) - fedora: armv7: enable MMC_STM32_SDMMC (Peter Robinson) - .gitlab-ci.yaml: Add test for dist-get-buildreqs target (Prarit Bhargava) - redhat/docs: Add information on build dependencies (Prarit Bhargava) - redhat/Makefile: Add better pass message for dist-get-buildreqs (Prarit Bhargava) - redhat/Makefile: Provide a better message for system-sb-certs (Prarit Bhargava) - redhat/Makefile: Change dist-buildreq-check to a non-blocking target (Prarit Bhargava) - create-data: Parallelize spec file data (Prarit Bhargava) - create-data.sh: Store SOURCES Makefile variable (Prarit Bhargava) - redhat/Makefile: Split up setup-source target (Prarit Bhargava) - create-data.sh: Redefine varfilename (Prarit Bhargava) - create-data.sh: Parallelize variable file creation (Prarit Bhargava) - redhat/configs: Enable CONFIG_LZ4_COMPRESS (Prarit Bhargava) - redhat/docs: Update brew information (Prarit Bhargava) - redhat/Makefile: Fix eln BUILD_TARGET (Prarit Bhargava) - redhat/Makefile: Set BUILD_TARGET for dist-brew (Prarit Bhargava) - kernel.spec.template: update (s390x) expoline.o path (Joe Lawrence) - fedora: enable BCM_NET_PHYPTP (Peter Robinson) - Fedora 5.19 configs update part 2 (Justin M. Forbes) - redhat/Makefile: Change fedora BUILD_TARGET (Prarit Bhargava) - New configs in security/keys (Fedora Kernel Team) - Fedora: arm: enable a pair of drivers (Peter Robinson) - redhat: make kernel-zfcpdump-core to not provide kernel-core/kernel (Herton R. Krzesinski) - redhat/configs: Enable QAT devices for arches other than x86 (Vladis Dronov) - Fedora 5.19 configs pt 1 (Justin M. Forbes) - redhat: Exclude cpufreq.h from kernel-headers (Patrick Talbert) - Add rtla subpackage for kernel-tools (Justin M. Forbes) - fedora: arm: enable a couple of QCom drivers (Peter Robinson) - redhat/Makefile: Deprecate BUILD_SCRATCH_TARGET (Prarit Bhargava) - redhat: enable CONFIG_DEVTMPFS_SAFE (Mark Langsdorf) - redhat/Makefile: Remove deprecated variables and targets (Prarit Bhargava) - Split partner modules into a sub-package (Alice Mitchell) - Enable kAFS and it's dependancies in RHEL (Alice Mitchell) - Enable Marvell OcteonTX2 crypto device in ARK (Vladis Dronov) - redhat/Makefile: Remove --scratch from BUILD_TARGET (Prarit Bhargava) - redhat/Makefile: Fix dist-brew and distg-brew targets (Prarit Bhargava) - fedora: arm64: Initial support for TI Keystone 3 (ARCH_K3) (Peter Robinson) - fedora: arm: enable Hardware Timestamping Engine support (Peter Robinson) - fedora: wireless: disable SiLabs and PureLiFi (Peter Robinson) - fedora: updates for 5.19 (Peter Robinson) - fedora: minor updates for Fedora configs (Peter Robinson) - configs/fedora: Enable the pinctrl SC7180 driver built-in (Enric Balletbo i Serra) - redhat/configs: enable CONFIG_DEBUG_NET for debug kernel (Hangbin Liu) - redhat/Makefile: Add SPECKABIVERSION variable (Prarit Bhargava) - redhat/self-test: Provide better failure output (Prarit Bhargava) - redhat/self-test: Reformat tests to kernel standard (Prarit Bhargava) - redhat/self-test: Add purpose and header to each test (Prarit Bhargava) - Drop outdated CRYPTO_ECDH configs (Vladis Dronov) - Brush up crypto SHA512 and USER configs (Vladis Dronov) - Brush up crypto ECDH and ECDSA configs (Vladis Dronov) - redhat/self-test: Update data set (Prarit Bhargava) - create-data.sh: Reduce specfile data output (Prarit Bhargava) - redhat/configs: restore/fix core INTEL_LPSS configs to be builtin again (Hans de Goede) - Enable CKI on os-build MRs only (Don Zickus) - self-test: Fixup Makefile contents test (Prarit Bhargava) - redhat/self-test: self-test data update (Prarit Bhargava) - redhat/self-test: Fix up create-data.sh to not report local variables (Prarit Bhargava) - redhat/configs/fedora: Enable a set of modules used on some x86 tablets (Hans de Goede) - redhat/configs: Make INTEL_SOC_PMIC_CHTDC_TI builtin (Hans de Goede) - redhat/configs/fedora: enable missing modules modules for Intel IPU3 camera support (Hans de Goede) - Common: minor cleanups (Peter Robinson) - fedora: some minor Fedora cleanups (Peter Robinson) - fedora: drop X86_PLATFORM_DRIVERS_DELL dupe (Peter Robinson) - redhat: change tools_make macro to avoid full override of variables in Makefile (Herton R. Krzesinski) - Fix typo in Makefile for Fedora Stable Versioning (Justin M. Forbes) - Remove duplicates from ark/generic/s390x/zfcpdump/ (Vladis Dronov) - Move common/debug/s390x/zfcpdump/ configs to ark/debug/s390x/zfcpdump/ (Vladis Dronov) - Move common/generic/s390x/zfcpdump/ configs to ark/generic/s390x/zfcpdump/ (Vladis Dronov) - Drop RCU_EXP_CPU_STALL_TIMEOUT to 0, we are not really android (Justin M. Forbes) - redhat/configs/README: Update the README (Prarit Bhargava) - redhat/docs: fix hyperlink typo (Patrick Talbert) - all: net: remove old NIC/ATM drivers that use virt_to_bus() (Peter Robinson) - Explicitly turn off CONFIG_KASAN_INLINE for ppc (Justin M. Forbes) - redhat/docs: Add a description of kernel naming (Prarit Bhargava) - Change CRYPTO_CHACHA_S390 from m to y (Justin M. Forbes) - enable CONFIG_NET_ACT_CTINFO in ark (Davide Caratti) - redhat/configs: enable CONFIG_SP5100_TCO (David Arcari) - redhat/configs: Set CONFIG_VIRTIO_IOMMU on x86_64 (Eric Auger) [2089765] - Turn off KASAN_INLINE for RHEL ppc in pending (Justin M. Forbes) - redhat/kernel.spec.template: update selftest data via "make dist-self-test-data" (Denys Vlasenko) - redhat/kernel.spec.template: remove stray *.hardlink-temporary files, if any (Denys Vlasenko) - Fix up ZSMALLOC config for s390 (Justin M. Forbes) - Turn on KASAN_OUTLINE for ppc debug (Justin M. Forbes) - Turn on KASAN_OUTLINE for PPC debug to avoid mismatch (Justin M. Forbes) - Fix up crypto config mistmatches (Justin M. Forbes) - Fix up config mismatches (Justin M. Forbes) - generic/fedora: cleanup and disable Lightning Moutain SoC (Peter Robinson) - redhat: Set SND_SOC_SOF_HDA_PROBES to =m (Patrick Talbert) - Fix versioning on stable Fedora (Justin M. Forbes) - Enable PAGE_POOL_STATS for arm only (Justin M. Forbes) - Revert "Merge branch 'fix-ci-20220523' into 'os-build'" (Patrick Talbert) - Flip CONFIG_RADIO_ADAPTERS to module for Fedora (Justin M. Forbes) - redhat/Makefile: Drop quotation marks around string definitions (Prarit Bhargava) - Fedora: arm: Updates for QCom devices (Peter Robinson) - Fedora arm and generic updates for 5.17 (Peter Robinson) - enable COMMON_CLK_SI5341 for Xilinx ZYNQ-MP (Peter Robinson) - Turn on CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING for Fedora (Justin M. Forbes) - redhat/self-test/data: Update data set (Prarit Bhargava) - Revert variable switch for lasttag (Justin M. Forbes) - redhat: Add self-tests to .gitlab-ci.yml (Prarit Bhargava) - redhat/self-test: Update data (Prarit Bhargava) - redhat/self-test: Unset Makefile variables (Prarit Bhargava) - redhat/self-test: Omit SHELL variable from test data (Prarit Bhargava) - Add CONFIG_EFI_DXE_MEM_ATTRIBUTES (Justin M. Forbes) - Update filter-modules for mlx5-vfio-pci (Justin M. Forbes) - Fedora configs for 5.18 (Justin M. Forbes) - self-test/data/create-data.sh: Avoid SINGLE_TARBALL warning (Prarit Bhargava) - redhat/Makefile: Rename PREBUILD to UPSTREAMBUILD (Prarit Bhargava) - redhat/Makefile: Rename BUILDID to LOCALVERSION (Prarit Bhargava) - redhat/Makefile: Fix dist-brew & distg-brew targets (Prarit Bhargava) - redhat/Makefile: Reorganize MARKER code (Prarit Bhargava) - redhat/scripts/new_release.sh: Use Makefile variables (Prarit Bhargava) - redhat/Makefile: Rename __YSTREAM and __ZSTREAM (Prarit Bhargava) - redhat/genspec.sh: Add comment about SPECBUILDID variable (Prarit Bhargava) - redhat/kernel.spec.template: Move genspec variables into one section (Prarit Bhargava) - redhat/kernel.spec.template: Remove kversion (Prarit Bhargava) - redhat/Makefile: Add SPECTARFILE_RELEASE comment (Prarit Bhargava) - redhat/Makefile: Rename RPMVERSION to BASEVERSION (Prarit Bhargava) - redhat/Makefile: Target whitespace cleanup (Prarit Bhargava) - redhat/Makefile: Move SPECRELEASE to genspec.sh (Prarit Bhargava) - redhat/Makefile: Add kernel-NVR comment (Prarit Bhargava) - redhat/Makefile: Use SPECFILE variable (Prarit Bhargava) - redhat/Makefile: Remove KEXTRAVERSION (Prarit Bhargava) - redhat: Enable VM kselftests (Nico Pache) [1978539] - redhat: enable CONFIG_TEST_VMALLOC for vm selftests (Nico Pache) - redhat: Enable HMM test to be used by the kselftest test suite (Nico Pache) - redhat/Makefile.variables: Change git hash length to default (Prarit Bhargava) - redhat/Makefile: Drop quotation marks around string definitions (Prarit Bhargava) - Turn on INTEGRITY_MACHINE_KEYRING for Fedora (Justin M. Forbes) - redhat/configs: fix CONFIG_INTEL_ISHTP_ECLITE (David Arcari) - redhat/configs: Fix rm warning on error (Prarit Bhargava) - Fix nightly merge CI (Don Zickus) - redhat/kernel.spec.template: fix standalone tools build (Jan Stancek) - Add system-sb-certs for RHEL-9 (Don Zickus) - Fix dist-buildcheck-reqs (Don Zickus) - move DAMON configs to correct directory (Chris von Recklinghausen) - redhat: indicate HEAD state in tarball/rpm name (Jarod Wilson) - Fedora 5.18 config set part 1 (Justin M. Forbes) - fedora: arm: Enable new Rockchip 356x series drivers (Peter Robinson) - fedora: arm: enable DRM_I2C_NXP_TDA998X on aarch64 (Peter Robinson) - redhat/self-test: Add test to verify Makefile declarations. (Prarit Bhargava) - redhat/Makefile: Add RHTEST (Prarit Bhargava) - redhat: shellcheck cleanup (Prarit Bhargava) - redhat/self-test/data: Cleanup data (Prarit Bhargava) - redhat/self-test: Add test to verify SPEC variables (Prarit Bhargava) - redhat/Makefile: Add 'duplicate' SPEC entries for user set variables (Prarit Bhargava) - redhat/Makefile: Rename TARFILE_RELEASE to SPECTARFILE_RELEASE (Prarit Bhargava) - redhat/genspec: Rename PATCHLIST_CHANGELOG to SPECPATCHLIST_CHANGELOG (Prarit Bhargava) - redhat/genspec: Rename DEBUG_BUILDS_ENABLED to SPECDEBUG_BUILDS_ENABLED (Prarit Bhargava) - redhat/Makefile: Rename PKGRELEASE to SPECBUILD (Prarit Bhargava) - redhat/genspec: Rename BUILDID_DEFINE to SPECBUILDID (Prarit Bhargava) - redhat/Makefile: Rename CHANGELOG to SPECCHANGELOG (Prarit Bhargava) - redhat/Makefile: Rename RPMKEXTRAVERSION to SPECKEXTRAVERSION (Prarit Bhargava) - redhat/Makefile: Rename RPMKSUBLEVEL to SPECKSUBLEVEL (Prarit Bhargava) - redhat/Makefile: Rename RPMKPATCHLEVEL to SPECKPATCHLEVEL (Prarit Bhargava) - redhat/Makefile: Rename RPMKVERSION to SPECKVERSION (Prarit Bhargava) - redhat/Makefile: Rename KVERSION to SPECVERSION (Prarit Bhargava) - redhat/Makefile: Deprecate some simple targets (Prarit Bhargava) - redhat/Makefile: Use KVERSION (Prarit Bhargava) - redhat/configs: Set GUP_TEST in debug kernel (Joel Savitz) - enable DAMON configs (Chris von Recklinghausen) [2004233] - redhat: add zstream switch for zstream release numbering (Herton R. Krzesinski) - redhat: change kabi tarballs to use the package release (Herton R. Krzesinski) - redhat: generate distgit changelog in genspec.sh as well (Herton R. Krzesinski) - redhat: make genspec prefer metadata from git notes (Herton R. Krzesinski) - redhat: use tags from git notes for zstream to generate changelog (Herton R. Krzesinski) - ARK: Remove code marking devices unmaintained (Peter Georg) - rh_message: Fix function name (Peter Georg) [2019377] - Turn on CONFIG_RANDOM_TRUST_BOOTLOADER (Justin M. Forbes) - redhat/configs: aarch64: enable CPU_FREQ_GOV_SCHEDUTIL (Mark Salter) - Move CONFIG_HW_RANDOM_CN10K to a proper place (Vladis Dronov) - redhat/self-test: Clean up data set (Prarit Bhargava) - redhat/Makefile.rhpkg: Remove quotes for RHDISTGIT (Prarit Bhargava) - redhat/scripts/create-tarball.sh: Use Makefile variables (Prarit Bhargava) - redhat/Makefile: Deprecate SINGLE_TARBALL (Prarit Bhargava) - redhat/Makefile: Move SINGLE_TARBALL to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Use RPMVERSION (Prarit Bhargava) - redhat/scripts/rh-dist-git.sh: Use Makefile variables (Prarit Bhargava) - redhat/configs/build_configs.sh: Use Makefile variables (Prarit Bhargava) - redhat/configs/process_configs.sh: Use Makefile variables (Prarit Bhargava) - redhat/kernel.spec.template: Use RPM_BUILD_NCPUS (Prarit Bhargava) - redhat/configs/generate_all_configs.sh: Use Makefile variables (Prarit Bhargava) - redhat/configs: enable nf_tables SYNPROXY extension on ark (Davide Caratti) - fedora: Disable fbdev drivers missed before (Javier Martinez Canillas) - Redhat: enable Kfence on production servers (Nico Pache) - redhat: ignore known empty patches on the patches rpminspect test (Herton R. Krzesinski) - kernel-ark: arch_hw Update CONFIG_MOUSE_VSXXXAA=m (Tony Camuso) [2062909] - spec: keep .BTF section in modules for s390 (Yauheni Kaliuta) [2071969] - kernel.spec.template: Ship arch/s390/lib/expoline.o in kernel-devel (Ondrej Mosnacek) - redhat: disable tv/radio media device infrastructure (Jarod Wilson) - redhat/configs: clean up INTEL_LPSS configuration (David Arcari) - Have to rename the actual contents too (Justin M. Forbes) - The CONFIG_SATA_MOBILE_LPM_POLICY rebane was reverted (Justin M. Forbes) - redhat: Enable KASAN on all ELN debug kernels (Nico Pache) - redhat: configs: Enable INTEL_IOMMU_DEBUGFS for debug builds (Jerry Snitselaar) - generic: can: disable CAN_SOFTING everywhere (Peter Robinson) - redhat/configs: Enable CONFIG_DM_ERA=m for all (Yanko Kaneti) - redhat/configs: enable CONFIG_SAMPLE_VFIO_MDEV_MTTY (Patrick Talbert) - Build intel_sdsi with %%{tools_make} (Justin M. Forbes) - configs: remove redundant Fedora config for INTEL_IDXD_COMPAT (Jerry Snitselaar) - redhat/configs: enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT (Joel Savitz) [2026319] - configs: enable CONFIG_RMI4_F3A (Benjamin Tissoires) - redhat: configs: Disable TPM 1.2 specific drivers (Jerry Snitselaar) - redhat/configs: Enable cr50 I2C TPM interface (Akihiko Odaki) - spec: make HMAC file encode relative path (Jonathan Lebon) - redhat/kernel.spec.template: Add intel_sdsi utility (Prarit Bhargava) - Spec fixes for intel-speed-select (Justin M. Forbes) - Add Partner Supported taint flag to kAFS (Alice Mitchell) [2038999] - Add Partner Supported taint flag (Alice Mitchell) [2038999] - Enabled INTEGRITY_MACHINE_KEYRING for all configs. (Peter Robinson) - redhat/configs: Enable CONFIG_RCU_SCALE_TEST & CONFIG_RCU_REF_SCALE_TEST (Waiman Long) - Add clk_test and clk-gate_test to mod-internal.list (Justin M. Forbes) - redhat/self-tests: Ignore UPSTREAM (Prarit Bhargava) - redhat/self-tests: Ignore RHGITURL (Prarit Bhargava) - redhat/Makefile.variables: Extend git hash length to 15 (Prarit Bhargava) - redhat/self-test: Remove changelog from spec files (Prarit Bhargava) - redhat/genspec.sh: Rearrange genspec.sh (Prarit Bhargava) - redhat/self-test: Add spec file data (Prarit Bhargava) - redhat/self-test: Add better dist-dump-variables test (Prarit Bhargava) - redhat/self-test: Add variable test data (Prarit Bhargava) - redhat/config: Remove obsolete CONFIG_MFD_INTEL_PMT (David Arcari) - redhat/configs: enable CONFIG_INTEL_ISHTP_ECLITE (David Arcari) - Avoid creating files in $RPM_SOURCE_DIR (Nicolas Chauvet) - Flip CRC64 from off to y (Justin M. Forbes) - New configs in lib/Kconfig (Fedora Kernel Team) - disable redundant assignment of CONFIG_BQL on ARK (Davide Caratti) - redhat/configs: remove unnecessary GPIO options for aarch64 (Brian Masney) - redhat/configs: remove viperboard related Kconfig options (Brian Masney) - redhat/configs/process_configs.sh: Avoid race with find (Prarit Bhargava) - redhat/configs/process_configs.sh: Remove CONTINUEONERROR (Prarit Bhargava) - Remove i686 configs and filters (Justin M. Forbes) - redhat/configs: Set CONFIG_X86_AMD_PSTATE built-in on Fedora (Prarit Bhargava) - Fix up mismatch with CRC64 (Justin M. Forbes) - Fedora config updates to fix process_configs (Justin M. Forbes) - redhat: Fix release tagging (Prarit Bhargava) - redhat/self-test: Fix version tag test (Prarit Bhargava) - redhat/self-test: Fix BUILD verification test (Prarit Bhargava) - redhat/self-test: Cleanup SRPM related self-tests (Prarit Bhargava) - redhat/self-test: Fix shellcheck test (Prarit Bhargava) - redhat/configs: Disable watchdog components (Prarit Bhargava) - redhat/README.Makefile: Add a Makefile README file (Prarit Bhargava) - redhat/Makefile: Remove duplicated code (Prarit Bhargava) - Add BuildRequires libnl3-devel for intel-speed-select (Justin M. Forbes) - Add new kunit tests for 5.18 to mod-internal.list (Justin M. Forbes) - Fix RHDISTGIT for Fedora (Justin M. Forbes) - redhat/configs/process_configs.sh: Fix race with tools generation (Prarit Bhargava) - New configs in drivers/dax (Fedora Kernel Team) - Fix up CONFIG_SND_AMD_ACP_CONFIG files (Patrick Talbert) - Remove CONFIG_SND_SOC_SOF_DEBUG_PROBES files (Patrick Talbert) - SATA_MOBILE_LPM_POLICY is now SATA_LPM_POLICY (Justin M. Forbes) - Define SNAPSHOT correctly when VERSION_ON_UPSTREAM is 0 (Justin M. Forbes) - redhat/Makefile: Fix dist-git (Prarit Bhargava) - Change the pending-ark CONFIG_DAX to y due to mismatch (Justin M. Forbes) - Enable net reference count trackers in all debug kernels (Jiri Benc) - redhat/Makefile: Reorganize variables (Prarit Bhargava) - redhat/Makefile: Add some descriptions (Prarit Bhargava) - redhat/Makefile: Move SNAPSHOT check (Prarit Bhargava) - redhat/Makefile: Deprecate BREW_FLAGS, KOJI_FLAGS, and TEST_FLAGS (Prarit Bhargava) - redhat/genspec.sh: Rework RPMVERSION variable (Prarit Bhargava) - redhat/Makefile: Remove dead comment (Prarit Bhargava) - redhat/Makefile: Cleanup KABI* variables. (Prarit Bhargava) - redhat/Makefile.variables: Default RHGITCOMMIT to HEAD (Prarit Bhargava) - redhat/scripts/create-tarball.sh: Use Makefile TARBALL variable (Prarit Bhargava) - redhat/Makefile: Remove extra DIST_BRANCH (Prarit Bhargava) - redhat/Makefile: Remove STAMP_VERSION (Prarit Bhargava) - redhat/Makefile: Move NO_CONFIGCHECKS to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move RHJOBS to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move RHGIT* variables to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move PREBUILD_GIT_ONLY to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move BUILD to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move BUILD_FLAGS to Makefile.variables. (Prarit Bhargava) - redhat/Makefile: Move BUILD_PROFILE to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Move BUILD_TARGET and BUILD_SCRATCH_TARGET to Makefile.variables (Prarit Bhargava) - redhat/Makefile: Remove RHPRODUCT variable (Prarit Bhargava) - redhat/Makefile: Cleanup DISTRO variable (Prarit Bhargava) - redhat/Makefile: Move HEAD to Makefile.variables. (Prarit Bhargava) - redhat: Combine Makefile and Makefile.common (Prarit Bhargava) - redhat/koji/Makefile: Decouple koji Makefile from Makefile.common (Prarit Bhargava) - Set CONFIG_SND_SOC_SOF_MT8195 for Fedora and turn on VDPA_SIM_BLOCK (Justin M. Forbes) - Add asus_wmi_sensors modules to filters for Fedora (Justin M. Forbes) - redhat: spec: trigger dracut when modules are installed separately (Jan Stancek) - Last of the Fedora 5.17 configs initial pass (Justin M. Forbes) - redhat/Makefile: Silence dist-clean-configs output (Prarit Bhargava) - Fedora 5.17 config updates (Justin M. Forbes) - Setting CONFIG_I2C_SMBUS to "m" for ark (Gopal Tiwari) - Print arch with process_configs errors (Justin M. Forbes) - Pass RHJOBS to process_configs for dist-configs-check as well (Justin M. Forbes) - redhat/configs/process_configs.sh: Fix issue with old error files (Prarit Bhargava) - redhat/configs/build_configs.sh: Parallelize execution (Prarit Bhargava) - redhat/configs/build_configs.sh: Provide better messages (Prarit Bhargava) - redhat/configs/build_configs.sh: Create unique output files (Prarit Bhargava) - redhat/configs/build_configs.sh: Add local variables (Prarit Bhargava) - redhat/configs/process_configs.sh: Parallelize execution (Prarit Bhargava) - redhat/configs/process_configs.sh: Provide better messages (Prarit Bhargava) - redhat/configs/process_configs.sh: Create unique output files (Prarit Bhargava) - redhat/configs/process_configs.sh: Add processing config function (Prarit Bhargava) - redhat: Unify genspec.sh and kernel.spec variable names (Prarit Bhargava) - redhat/genspec.sh: Remove options and use Makefile variables (Prarit Bhargava) - Add rebase note for 5.17 on Fedora stable (Justin M. Forbes) - More Fedora config updates for 5.17 (Justin M. Forbes) - redhat/configs: Disable CONFIG_MACINTOSH_DRIVERS in RHEL. (Prarit Bhargava) - redhat: Fix "make dist-release-finish" to use the correct NVR variables (Neal Gompa) [2053836] - Build CROS_EC Modules (Jason Montleon) - redhat: configs: change aarch64 default dma domain to lazy (Jerry Snitselaar) - redhat: configs: disable ATM protocols (Davide Caratti) - configs/fedora: Enable the interconnect SC7180 driver built-in (Enric Balletbo i Serra) - configs: clean up CONFIG_PAGE_TABLE_ISOLATION files (Ondrej Mosnacek) - redhat: configs: enable CONFIG_INTEL_PCH_THERMAL for RHEL x86 (David Arcari) - redhat/Makefile: Fix dist-dump-variables target (Prarit Bhargava) - redhat/configs: Enable DEV_DAX and DEV_DAX_PMEM modules on aarch64 for fedora (D Scott Phillips) - redhat/configs: Enable CONFIG_TRANSPARENT_HUGEPAGE on aarch64 for fedora (D Scott Phillips) - configs/process_configs.sh: Remove orig files (Prarit Bhargava) - redhat: configs: Disable CONFIG_MPLS for s390x/zfcpdump (Guillaume Nault) - Fedora 5.17 configs round 1 (Justin M. Forbes) - redhat: configs: disable the surface platform (David Arcari) - redhat: configs: Disable team driver (Hangbin Liu) [1945477] - configs: enable LOGITECH_FF for RHEL/CentOS too (Benjamin Tissoires) - redhat/configs: Disable CONFIG_SENSORS_NCT6683 in RHEL for arm/aarch64 (Dean Nelson) [2041186] - redhat: fix make {distg-brew,distg-koji} (Andrea Claudi) - [fedora] Turn on CONFIG_VIDEO_OV5693 for sensor support (Dave Olsthoorn) - Cleanup 'disabled' config options for RHEL (Prarit Bhargava) - redhat: move CONFIG_ARM64_MTE to aarch64 config directory (Herton R. Krzesinski) - Change CONFIG_TEST_BPF to a module (Justin M. Forbes) - Change CONFIG_TEST_BPF to module in pending MR coming for proper review (Justin M. Forbes) - redhat/configs: Enable CONFIG_TEST_BPF (Viktor Malik) - Enable KUNIT tests for testing (Nico Pache) - Makefile: Check PKGRELEASE size on dist-brew targets (Prarit Bhargava) - kernel.spec: Add glibc-static build requirement (Prarit Bhargava) - Enable iSER on s390x (Stefan Schulze Frielinghaus) - redhat/configs: Enable CONFIG_ACER_WIRELESS (Peter Georg) [2025985] - kabi: Add kABI macros for enum type (Čestmír Kalina) [2024595] - kabi: expand and clarify documentation of aux structs (Čestmír Kalina) [2024595] - kabi: introduce RH_KABI_USE_AUX_PTR (Čestmír Kalina) [2024595] - kabi: rename RH_KABI_SIZE_AND_EXTEND to AUX (Čestmír Kalina) [2024595] - kabi: more consistent _RH_KABI_SIZE_AND_EXTEND (Čestmír Kalina) [2024595] - kabi: use fixed field name for extended part (Čestmír Kalina) [2024595] - kabi: fix dereference in RH_KABI_CHECK_EXT (Čestmír Kalina) [2024595] - kabi: fix RH_KABI_SET_SIZE macro (Čestmír Kalina) [2024595] - kabi: expand and clarify documentation (Čestmír Kalina) [2024595] - kabi: make RH_KABI_USE replace any number of reserved fields (Čestmír Kalina) [2024595] - kabi: rename RH_KABI_USE2 to RH_KABI_USE_SPLIT (Čestmír Kalina) [2024595] - kabi: change RH_KABI_REPLACE2 to RH_KABI_REPLACE_SPLIT (Čestmír Kalina) [2024595] - kabi: change RH_KABI_REPLACE_UNSAFE to RH_KABI_BROKEN_REPLACE (Čestmír Kalina) [2024595] - kabi: introduce RH_KABI_ADD_MODIFIER (Čestmír Kalina) [2024595] - kabi: Include kconfig.h (Čestmír Kalina) [2024595] - kabi: macros for intentional kABI breakage (Čestmír Kalina) [2024595] - kabi: fix the note about terminating semicolon (Čestmír Kalina) [2024595] - kabi: introduce RH_KABI_HIDE_INCLUDE and RH_KABI_FAKE_INCLUDE (Čestmír Kalina) [2024595] - spec: don't overwrite auto.conf with .config (Ondrej Mosnacek) - New configs in drivers/crypto (Fedora Kernel Team) - Add test_hash to the mod-internal.list (Justin M. Forbes) - configs: disable CONFIG_CRAMFS (Abhi Das) [2041184] - spec: speed up "cp -r" when it overwrites existing files. (Denys Vlasenko) - redhat: use centos x509.genkey file if building under centos (Herton R. Krzesinski) - Revert "[redhat] Generate a crashkernel.default for each kernel build" (Coiby Xu) - spec: make linux-firmware weak(er) dependency (Jan Stancek) - rtw89: enable new driver rtw89 and device RTK8852AE (Íñigo Huguet) - Config consolidation into common (Justin M. Forbes) - Add packaged but empty /lib/modules/<kver>/systemtap/ (Justin M. Forbes) - filter-modules.sh.rhel: Add ntc_thermistor to singlemods (Prarit Bhargava) - Move CONFIG_SND_SOC_TLV320AIC31XX as it is now selected by CONFIG_SND_SOC_FSL_ASOC_CARD (Justin M. Forbes) - Add dev_addr_lists_test to mod-internal.list (Justin M. Forbes) - configs/fedora: Enable CONFIG_NFC_PN532_UART for use PN532 NFC module (Ziqian SUN (Zamir)) - redhat: ignore ksamples and kselftests on the badfuncs rpminspect test (Herton R. Krzesinski) - redhat: disable upstream check for rpminspect (Herton R. Krzesinski) - redhat: switch the vsyscall config to CONFIG_LEGACY_VSYSCALL_XONLY=y (Herton R. Krzesinski) [1876977] - redhat: configs: increase CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE (Rafael Aquini) - move CONFIG_STRICT_SIGALTSTACK_SIZE to the appropriate directory (David Arcari) - redhat/configs: Enable CONFIG_DM_MULTIPATH_IOA for fedora (Benjamin Marzinski) - redhat/configs: Enable CONFIG_DM_MULTIPATH_HST (Benjamin Marzinski) [2000835] - redhat: Pull in openssl-devel as a build dependency correctly (Neal Gompa) [2034670] - redhat/configs: Migrate ZRAM_DEF_* configs to common/ (Neal Gompa) - redhat/configs: Enable CONFIG_CRYPTO_ZSTD (Neal Gompa) [2032758] - Turn CONFIG_DEVMEM back off for aarch64 (Justin M. Forbes) - Clean up excess text in Fedora config files (Justin M. Forbes) - Fedora config updates for 5.16 (Justin M. Forbes) - redhat/configs: enable CONFIG_INPUT_KEYBOARD for AARCH64 (Vitaly Kuznetsov) - Fedora configs for 5.16 pt 1 (Justin M. Forbes) - redhat/configs: NFS: disable UDP, insecure enctypes (Benjamin Coddington) [1952863] - Update rebase-notes with dracut 5.17 information (Justin M. Forbes) - redhat/configs: Enable CONFIG_CRYPTO_BLAKE2B (Neal Gompa) [2031547] - Enable CONFIG_BPF_SYSCALL for zfcpdump (Jiri Olsa) - Enable CONFIG_CIFS_SMB_DIRECT for ARK (Ronnie Sahlberg) - mt76: enable new device MT7921E in CentOs/RHEL (Íñigo Huguet) [2004821] - Disable CONFIG_DEBUG_PREEMPT on normal builds (Phil Auld) - redhat/configs: Enable CONFIG_PCI_P2PDMA for ark (Myron Stowe) - pci.h: Fix static include (Prarit Bhargava) - Enable CONFIG_VFIO_NOIOMMU for Fedora (Justin M. Forbes) - redhat/configs: enable CONFIG_NTB_NETDEV for ark (John W. Linville) - drivers/pci/pci-driver.c: Fix if/ifdef typo (Prarit Bhargava) - common: arm64: ensure all the required arm64 errata are enabled (Peter Robinson) - kernel/rh_taint.c: Update to new messaging (Prarit Bhargava) [2019377] - redhat/configs: enable CONFIG_AMD_PTDMA for ark (John W. Linville) - redhat/configs: enable CONFIG_RD_ZSTD for rhel (Tao Liu) [2020132] - fedora: build TEE as a module for all arches (Peter Robinson) - common: build TRUSTED_KEYS in everywhere (Peter Robinson) - redhat: make Patchlist.changelog generation conditional (Herton R. Krzesinski) - redhat/configs: Add two new CONFIGs (Prarit Bhargava) - redhat/configs: Remove dead CONFIG files (Prarit Bhargava) - redhat/configs/evaluate_configs: Add find dead configs option (Prarit Bhargava) - Add more rebase notes for Fedora 5.16 (Justin M. Forbes) - Fedora: Feature: Retire wireless Extensions (Peter Robinson) - fedora: arm: some SoC enablement pieces (Peter Robinson) - fedora: arm: enable PCIE_ROCKCHIP_DW for rk35xx series (Peter Robinson) - fedora: enable RTW89 802.11 WiFi driver (Peter Robinson) - fedora: arm: Enable DRM_PANEL_EDP (Peter Robinson) - fedora: sound: enable new sound drivers (Peter Robinson) - redhat/configs: unset KEXEC_SIG for s390x zfcpdump (Coiby Xu) - spec: Keep .BTF section in modules (Jiri Olsa) - Fix up PREEMPT configs (Justin M. Forbes) - New configs in drivers/media (Fedora Kernel Team) - New configs in drivers/net/ethernet/litex (Fedora Kernel Team) - spec: add bpf_testmod.ko to kselftests/bpf (Viktor Malik) - New configs in drivers/net/wwan (Fedora Kernel Team) - New configs in drivers/i2c (Fedora Kernel Team) - redhat/docs/index.rst: Add local build information. (Prarit Bhargava) - Fix up preempt configs (Justin M. Forbes) - Turn on CONFIG_HID_NINTENDO for controller support (Dave Olsthoorn) - Fedora: Enable MediaTek bluetooth pieces (Peter Robinson) - Add rebase notes to check for PCI patches (Justin M. Forbes) - redhat: configs: move CONFIG_ACCESSIBILITY from fedora to common (John W. Linville) - Filter updates for hid-playstation on Fedora (Justin M. Forbes) - Enable CONFIG_VIRT_DRIVERS for ARK (Vitaly Kuznetsov) - redhat/configs: Enable Nitro Enclaves on aarch64 (Vitaly Kuznetsov) - Enable e1000 in rhel9 as unsupported (Ken Cox) [2002344] - Turn on COMMON_CLK_AXG_AUDIO for Fedora rhbz 2020481 (Justin M. Forbes) - Fix up fedora config options from mismatch (Justin M. Forbes) - Add nct6775 to filter-modules.sh.rhel (Justin M. Forbes) - Enable PREEMPT_DYNAMIC for all but s390x (Justin M. Forbes) - Add memcpy_kunit to mod-internal.list (Justin M. Forbes) - New configs in fs/ksmbd (Fedora Kernel Team) - Add nct6775 to Fedora filter-modules.sh (Justin M. Forbes) - New configs in fs/ntfs3 (Fedora Kernel Team) - Make CONFIG_IOMMU_DEFAULT_DMA_STRICT default for all but x86 (Justin M. Forbes) - redhat/configs: enable KEXEC_IMAGE_VERIFY_SIG for RHEL (Coiby Xu) - redhat/configs: enable KEXEC_SIG for aarch64 RHEL (Coiby Xu) [1994858] - Fix up fedora and pending configs for PREEMPT to end mismatch (Justin M. Forbes) - Enable binder for fedora (Justin M. Forbes) - redhat: configs: Update configs for vmware (Kamal Heib) - Fedora configs for 5.15 (Justin M. Forbes) - redhat/kernel.spec.template: don't hardcode gcov arches (Jan Stancek) - redhat/configs: create a separate config for gcov options (Jan Stancek) - Update documentation with FAQ and update frequency (Don Zickus) - Document force pull option for mirroring (Don Zickus) - Ignore the rhel9 kabi files (Don Zickus) - Remove legacy elrdy cruft (Don Zickus) - redhat/configs/evaluate_configs: walk cfgvariants line by line (Jan Stancek) - redhat/configs/evaluate_configs: insert EMPTY tags at correct place (Jan Stancek) - redhat: make dist-srpm-gcov add to BUILDOPTS (Jan Stancek) - Build CONFIG_SPI_PXA2XX as a module on x86 (Justin M. Forbes) - redhat/configs: enable CONFIG_BCMGENET as module (Joel Savitz) - Fedora config updates (Justin M. Forbes) - Enable CONFIG_FAIL_SUNRPC for debug builds (Justin M. Forbes) - fedora: Disable fbdev drivers and use simpledrm instead (Javier Martinez Canillas) - spec: Don't fail spec build if ksamples fails (Jiri Olsa) - Enable CONFIG_QCOM_SCM for arm (Justin M. Forbes) - redhat: Disable clang's integrated assembler on ppc64le and s390x (Tom Stellard) - redhat/configs: enable CONFIG_IMA_WRITE_POLICY (Bruno Meneguele) - Fix dist-srpm-gcov (Don Zickus) - redhat: configs: add CONFIG_NTB and related items (John W. Linville) - Add kfence_test to mod-internal.list (Justin M. Forbes) - Enable KUNIT tests for redhat kernel-modules-internal (Nico Pache) - redhat: add *-matched meta packages to rpminspect emptyrpm config (Herton R. Krzesinski) - Use common config for NODES_SHIFT (Mark Salter) - redhat: fix typo and make the output more silent for dist-git sync (Herton R. Krzesinski) - Fedora NTFS config updates (Justin M. Forbes) - Fedora 5.15 configs part 1 (Justin M. Forbes) - Fix ordering in genspec args (Justin M. Forbes) - redhat/configs: Enable Hyper-V guests on ARM64 (Vitaly Kuznetsov) [2007430] - redhat: configs: Enable CONFIG_THINKPAD_LMI (Hans de Goede) - redhat/docs: update Koji link to avoid redirect (Joel Savitz) - redhat: add support for different profiles with dist*-brew (Herton R. Krzesinski) - redhat: configs: Disable xtables and ipset (Phil Sutter) [1945179] - redhat: Add mark_driver_deprecated() (Phil Sutter) [1945179] - Change s390x CONFIG_NODES_SHIFT from 4 to 1 (Justin M. Forbes) - Build CRYPTO_SHA3_*_S390 inline for s390 zfcpdump (Justin M. Forbes) - redhat: move the DIST variable setting to Makefile.variables (Herton R. Krzesinski) - redhat/kernel.spec.template: Cleanup source numbering (Prarit Bhargava) - redhat/kernel.spec.template: Reorganize RHEL and Fedora specific files (Prarit Bhargava) - redhat/kernel.spec.template: Add include_fedora and include_rhel variables (Prarit Bhargava) - redhat/Makefile: Make kernel-local global (Prarit Bhargava) - redhat/Makefile: Use flavors file (Prarit Bhargava) - Turn on CONFIG_CPU_FREQ_GOV_SCHEDUTIL for x86 (Justin M. Forbes) - redhat/configs: Remove CONFIG_INFINIBAND_I40IW (Kamal Heib) - cleanup CONFIG_X86_PLATFORM_DRIVERS_INTEL (David Arcari) - redhat: rename usage of .rhel8git.mk to .rhpkg.mk (Herton R. Krzesinski) - Manually add pending items that need to be set due to mismatch (Justin M. Forbes) - Clean up pending common (Justin M. Forbes) - redhat/configs: Enable CONFIG_BLK_CGROUP_IOLATENCY & CONFIG_BLK_CGROUP_FC_APPID (Waiman Long) [2006813] - redhat: remove kernel.changelog-8.99 file (Herton R. Krzesinski) - redhat/configs: enable CONFIG_SQUASHFS_ZSTD which is already enabled in Fedora 34 (Tao Liu) [1998953] - redhat: bump RHEL_MAJOR and add the changelog file for it (Herton R. Krzesinski) - redhat: add documentation about the os-build rebase process (Herton R. Krzesinski) - redhat/configs: enable SYSTEM_BLACKLIST_KEYRING which is already enabled in rhel8 and Fedora 34 (Coiby Xu) - Build kernel-doc for Fedora (Justin M. Forbes) - x86_64: Enable Elkhart Lake Quadrature Encoder Peripheral support (Prarit Bhargava) - Update CONFIG_WERROR to disabled as it can cause issue with out of tree modules. (Justin M. Forbes) - Fixup IOMMU configs in pending so that configs are sane again (Justin M. Forbes) - Some initial Fedora config items for 5.15 (Justin M. Forbes) - arm64: use common CONFIG_MAX_ZONEORDER for arm kernel (Mark Salter) - Create Makefile.variables for a single point of configuration change (Justin M. Forbes) - rpmspec: drop traceevent files instead of just excluding them from files list (Herton R. Krzesinski) [1967640] - redhat/config: Enablement of CONFIG_PAPR_SCM for PowerPC (Gustavo Walbon) [1962936] - Attempt to fix Intel PMT code (David Arcari) - CI: Enable realtime branch testing (Veronika Kabatova) - CI: Enable realtime checks for c9s and RHEL9 (Veronika Kabatova) - ark: wireless: enable all rtw88 pcie wirless variants (Peter Robinson) - wireless: rtw88: move debug options to common/debug (Peter Robinson) - fedora: minor PTP clock driver cleanups (Peter Robinson) - common: x86: enable VMware PTP support on ark (Peter Robinson) - [scsi] megaraid_sas: re-add certain pci-ids (Tomas Henzl) - Disable liquidio driver on ark/rhel (Herton R. Krzesinski) [1993393] - More Fedora config updates (Justin M. Forbes) - Fedora config updates for 5.14 (Justin M. Forbes) - CI: Rename ARK CI pipeline type (Veronika Kabatova) - CI: Finish up c9s config (Veronika Kabatova) - CI: Update ppc64le config (Veronika Kabatova) - CI: use more templates (Veronika Kabatova) - Filter updates for aarch64 (Justin M. Forbes) - increase CONFIG_NODES_SHIFT for aarch64 (Chris von Recklinghausen) [1890304] - redhat: configs: Enable CONFIG_WIRELESS_HOTKEY (Hans de Goede) - redhat/configs: Update CONFIG_NVRAM (Desnes A. Nunes do Rosario) [1988254] - common: serial: build in SERIAL_8250_LPSS for x86 (Peter Robinson) - powerpc: enable CONFIG_FUNCTION_PROFILER (Diego Domingos) [1831065] - redhat/configs: Disable Soft-RoCE driver (Kamal Heib) - redhat/configs/evaluate_configs: Update help output (Prarit Bhargava) - redhat/configs: Double MAX_LOCKDEP_CHAINS (Justin M. Forbes) - fedora: configs: Fix WM5102 Kconfig (Hans de Goede) - powerpc: enable CONFIG_POWER9_CPU (Diego Domingos) [1876436] - redhat/configs: Fix CONFIG_VIRTIO_IOMMU to 'y' on aarch64 (Eric Auger) [1972795] - filter-modules.sh: add more sound modules to filter (Jaroslav Kysela) - redhat/configs: sound configuration cleanups and updates (Jaroslav Kysela) - common: Update for CXL (Compute Express Link) configs (Peter Robinson) - redhat: configs: disable CRYPTO_SM modules (Herton R. Krzesinski) [1990040] - Remove fedora version of the LOCKDEP_BITS, we should use common (Justin M. Forbes) - Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) - Fedora 5.14 configs round 1 (Justin M. Forbes) - redhat: add gating configuration for centos stream/rhel9 (Herton R. Krzesinski) - x86: configs: Enable CONFIG_TEST_FPU for debug kernels (Vitaly Kuznetsov) [1988384] - redhat/configs: Move CHACHA and POLY1305 to core kernel to allow BIG_KEYS=y (root) [1983298] - kernel.spec: fix build of samples/bpf (Jiri Benc) - Enable OSNOISE_TRACER and TIMERLAT_TRACER (Jerome Marchand) [1979379] - rpmspec: switch iio and gpio tools to use tools_make (Herton R. Krzesinski) [1956988] - configs/process_configs.sh: Handle config items with no help text (Patrick Talbert) - fedora: sound config updates for 5.14 (Peter Robinson) - fedora: Only enable FSI drivers on POWER platform (Peter Robinson) - The CONFIG_RAW_DRIVER has been removed from upstream (Peter Robinson) - fedora: updates for 5.14 with a few disables for common from pending (Peter Robinson) - fedora: migrate from MFD_TPS68470 -> INTEL_SKL_INT3472 (Peter Robinson) - fedora: Remove STAGING_GASKET_FRAMEWORK (Peter Robinson) - Fedora: move DRM_VMWGFX configs from ark -> common (Peter Robinson) - fedora: arm: disabled unused FB drivers (Peter Robinson) - fedora: don't enable FB_VIRTUAL (Peter Robinson) - redhat/configs: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1940075] - rpmspec: fix verbose output on kernel-devel installation (Herton R. Krzesinski) [1981406] - Build Fedora x86s kernels with bytcr-wm5102 (Marius Hoch) - Deleted redhat/configs/fedora/generic/x86/CONFIG_FB_HYPERV (Patrick Lang) - rpmspec: correct the ghost initramfs attributes (Herton R. Krzesinski) [1977056] - rpmspec: amend removal of depmod created files to include modules.builtin.alias.bin (Herton R. Krzesinski) [1977056] - configs: remove duplicate CONFIG_DRM_HYPERV file (Patrick Talbert) - CI: use common code for merge and release (Don Zickus) - rpmspec: add release string to kernel doc directory name (Jan Stancek) - redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (Michael Petlan) [1880486] - redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (Michael Petlan) [1880486] - redhat/configs: Add CONFIG_MFD_INTEL_PMT (Michael Petlan) [1880486] - redhat/configs: enable CONFIG_BLK_DEV_ZONED (Ming Lei) [1638087] - Add --with clang_lto option to build the kernel with Link Time Optimizations (Tom Stellard) - common: disable DVB_AV7110 and associated pieces (Peter Robinson) - Fix fedora-only config updates (Don Zickus) - Fedor config update for new option (Justin M. Forbes) - redhat/configs: Enable stmmac NIC for x86_64 (Mark Salter) - all: hyperv: use the DRM driver rather than FB (Peter Robinson) - all: hyperv: unify the Microsoft HyperV configs (Peter Robinson) - all: VMWare: clean up VMWare configs (Peter Robinson) - Update CONFIG_ARM_FFA_TRANSPORT (Patrick Talbert) - CI: Handle all mirrors (Veronika Kabatova) - Turn on CONFIG_STACKTRACE for s390x zfpcdump kernels (Justin M. Forbes) - arm64: switch ark kernel to 4K pagesize (Mark Salter) - Disable AMIGA_PARTITION and KARMA_PARTITION (Prarit Bhargava) [1802694] - all: unify and cleanup i2c TPM2 modules (Peter Robinson) - redhat/configs: Set CONFIG_VIRTIO_IOMMU on aarch64 (Eric Auger) [1972795] - redhat/configs: Disable CONFIG_RT_GROUP_SCHED in rhel config (Phil Auld) - redhat/configs: enable KEXEC_SIG which is already enabled in RHEL8 for s390x and x86_64 (Coiby Xu) [1976835] - rpmspec: do not BuildRequires bpftool on noarch (Herton R. Krzesinski) - redhat/configs: disable {IMA,EVM}_LOAD_X509 (Bruno Meneguele) [1977529] - redhat: add secureboot CA certificate to trusted kernel keyring (Bruno Meneguele) - redhat/configs: enable IMA_ARCH_POLICY for aarch64 and s390x (Bruno Meneguele) - redhat/configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1858599] - common: enable STRICT_MODULE_RWX everywhere (Peter Robinson) - COMMON_CLK_STM32MP157_SCMI is bool and selects COMMON_CLK_SCMI (Justin M. Forbes) - kernel.spec: Add kernel{,-debug}-devel-matched meta packages (Timothée Ravier) - Turn off with_selftests for Fedora (Justin M. Forbes) - Don't build bpftool on Fedora (Justin M. Forbes) - Fix location of syscall scripts for kernel-devel (Justin M. Forbes) - fedora: arm: Enable some i.MX8 options (Peter Robinson) - Enable Landlock for Fedora (Justin M. Forbes) - Filter update for Fedora aarch64 (Justin M. Forbes) - rpmspec: only build debug meta packages where we build debug ones (Herton R. Krzesinski) - rpmspec: do not BuildRequires bpftool on nobuildarches (Herton R. Krzesinski) - redhat/configs: Consolidate CONFIG_HMC_DRV in the common s390x folder (Thomas Huth) [1976270] - redhat/configs: Consolidate CONFIG_EXPOLINE_OFF in the common folder (Thomas Huth) [1976270] - redhat/configs: Move CONFIG_HW_RANDOM_S390 into the s390x/ subfolder (Thomas Huth) [1976270] - redhat/configs: Disable CONFIG_HOTPLUG_PCI_SHPC in the Fedora settings (Thomas Huth) [1976270] - redhat/configs: Remove the non-existent CONFIG_NO_BOOTMEM switch (Thomas Huth) [1976270] - redhat/configs: Compile the virtio-console as a module on s390x (Thomas Huth) [1976270] - redhat/configs: Enable CONFIG_S390_CCW_IOMMU and CONFIG_VFIO_CCW for ARK, too (Thomas Huth) [1976270] - Revert "Merge branch 'ec_fips' into 'os-build'" (Vladis Dronov) [1947240] - Fix typos in fedora filters (Justin M. Forbes) - More filtering for Fedora (Justin M. Forbes) - Fix Fedora module filtering for spi-altera-dfl (Justin M. Forbes) - Fedora 5.13 config updates (Justin M. Forbes) - fedora: cleanup TCG_TIS_I2C_CR50 (Peter Robinson) - fedora: drop duplicate configs (Peter Robinson) - More Fedora config updates for 5.13 (Justin M. Forbes) - redhat/configs: Enable needed drivers for BlueField SoC on aarch64 (Alaa Hleihel) [1858592 1858594 1858596] - redhat: Rename mod-blacklist.sh to mod-denylist.sh (Prarit Bhargava) - redhat/configs: enable CONFIG_NET_ACT_MPLS (Marcelo Ricardo Leitner) - configs: Enable CONFIG_DEBUG_KERNEL for zfcpdump (Jiri Olsa) - kernel.spec: Add support to use vmlinux.h (Don Zickus) - spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) - Turn off DRM_XEN_FRONTEND for Fedora as we had DRM_XEN off already (Justin M. Forbes) - Fedora 5.13 config updates pt 3 (Justin M. Forbes) - all: enable ath11k wireless modules (Peter Robinson) - all: Enable WWAN and associated MHI bus pieces (Peter Robinson) - spec: Enable sefltests rpm build (Jiri Olsa) - spec: Allow bpf selftest/samples to fail (Jiri Olsa) - kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Jiri Benc) - kernel.spec: Add missing source files to kernel-selftests-internal (Jiri Benc) - kernel.spec: selftests: add net/forwarding to TARGETS list (Jiri Benc) - kernel.spec: selftests: add build requirement on libmnl-devel (Jiri Benc) - kernel.spec: add action.o to kernel-selftests-internal (Jiri Benc) - kernel.spec: avoid building bpftool repeatedly (Jiri Benc) - kernel.spec: selftests require python3 (Jiri Benc) - kernel.spec: skip selftests that failed to build (Jiri Benc) - kernel.spec: fix installation of bpf selftests (Jiri Benc) - redhat: fix samples and selftests make options (Jiri Benc) - kernel.spec: enable mptcp selftests for kernel-selftests-internal (Jiri Benc) - kernel.spec: Do not export shared objects from libexecdir to RPM Provides (Jiri Benc) - kernel.spec: add missing dependency for the which package (Jiri Benc) - kernel.spec: add netfilter selftests to kernel-selftests-internal (Jiri Benc) - kernel.spec: move slabinfo and page_owner_sort debuginfo to tools-debuginfo (Jiri Benc) - kernel.spec: package and ship VM tools (Jiri Benc) - configs: enable CONFIG_PAGE_OWNER (Jiri Benc) - kernel.spec: add coreutils (Jiri Benc) - kernel.spec: add netdevsim driver selftests to kernel-selftests-internal (Jiri Benc) - redhat/Makefile: Clean out the --without flags from the baseonly rule (Jiri Benc) - kernel.spec: Stop building unnecessary rpms for baseonly builds (Jiri Benc) - kernel.spec: disable more kabi switches for gcov build (Jiri Benc) - kernel.spec: Rename kabi-dw base (Jiri Benc) - kernel.spec: Fix error messages during build of zfcpdump kernel (Jiri Benc) - kernel.spec: perf: remove bpf examples (Jiri Benc) - kernel.spec: selftests should not depend on modules-internal (Jiri Benc) - kernel.spec: build samples (Jiri Benc) - kernel.spec: tools: sync missing options with RHEL 8 (Jiri Benc) - redhat/configs: nftables: Enable extra flowtable symbols (Phil Sutter) - redhat/configs: Sync netfilter options with RHEL8 (Phil Sutter) - Fedora 5.13 config updates pt 2 (Justin M. Forbes) - Move CONFIG_ARCH_INTEL_SOCFPGA up a level for Fedora (Justin M. Forbes) - fedora: enable the Rockchip rk3399 pcie drivers (Peter Robinson) - Fedora 5.13 config updates pt 1 (Justin M. Forbes) - Fix version requirement from opencsd-devel buildreq (Justin M. Forbes) - configs/ark/s390: set CONFIG_MARCH_Z14 and CONFIG_TUNE_Z15 (Philipp Rudo) [1876435] - configs/common/s390: Clean up CONFIG_{MARCH,TUNE}_Z* (Philipp Rudo) - configs/process_configs.sh: make use of dummy-tools (Philipp Rudo) - configs/common: disable CONFIG_INIT_STACK_ALL_{PATTERN,ZERO} (Philipp Rudo) - configs/common/aarch64: disable CONFIG_RELR (Philipp Rudo) - redhat/config: enable STMICRO nic for RHEL (Mark Salter) - redhat/configs: Enable ARCH_TEGRA on RHEL (Mark Salter) - redhat/configs: enable IMA_KEXEC for supported arches (Bruno Meneguele) - redhat/configs: enable INTEGRITY_SIGNATURE to all arches (Bruno Meneguele) - configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) - RHEL: disable io_uring support (Jeff Moyer) [1964537] - all: Changing CONFIG_UV_SYSFS to build uv_sysfs.ko as a loadable module. (Frank Ramsay) - Enable NITRO_ENCLAVES on RHEL (Vitaly Kuznetsov) - Update the Quick Start documentation (David Ward) - redhat/configs: Set PVPANIC_MMIO for x86 and PVPANIC_PCI for aarch64 (Eric Auger) [1961178] - bpf: Fix unprivileged_bpf_disabled setup (Jiri Olsa) - Enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Jiri Olsa) - configs/common/s390: disable CONFIG_QETH_{OSN,OSX} (Philipp Rudo) [1903201] - nvme: nvme_mpath_init remove multipath check (Mike Snitzer) - Make CRYPTO_EC also builtin (Simo Sorce) [1947240] - Do not hard-code a default value for DIST (David Ward) - Override %%{debugbuildsenabled} if the --with-release option is used (David Ward) - Improve comments in SPEC file, and move some option tests and macros (David Ward) - configs: enable CONFIG_EXFAT_FS (Pavel Reichl) [1943423] - Revert s390x/zfcpdump part of a9d179c40281 and ecbfddd98621 (Vladis Dronov) - Embed crypto algos, modes and templates needed in the FIPS mode (Vladis Dronov) [1947240] - configs: Add and enable CONFIG_HYPERV_TESTING for debug kernels (Mohammed Gamal) - configs: enable CONFIG_CMA on x86_64 in ARK (David Hildenbrand) [1945002] - rpmspec: build debug-* meta-packages if debug builds are disabled (Herton R. Krzesinski) - UIO: disable unused config options (Aristeu Rozanski) [1957819] - ARK-config: Make amd_pinctrl module builtin (Hans de Goede) - rpmspec: revert/drop content hash for kernel-headers (Herton R. Krzesinski) - rpmspec: fix check that calls InitBuildVars (Herton R. Krzesinski) - fedora: enable zonefs (Damien Le Moal) - redhat: load specific ARCH keys to INTEGRITY_PLATFORM_KEYRING (Bruno Meneguele) - redhat: enable INTEGRITY_TRUSTED_KEYRING across all variants (Bruno Meneguele) - redhat: enable SYSTEM_BLACKLIST_KEYRING across all variants (Bruno Meneguele) - redhat: enable INTEGRITY_ASYMMETRIC_KEYS across all variants (Bruno Meneguele) - Remove unused boot loader specification files (David Ward) - redhat/configs: Enable mlx5 IPsec and TLS offloads (Alaa Hleihel) [1869674 1957636] - common: disable Apple Silicon generally (Peter Robinson) - cleanup Intel's FPGA configs (Peter Robinson) - common: move PTP KVM support from ark to common (Peter Robinson) - Enable CONFIG_DRM_AMDGPU_USERPTR for everyone (Justin M. Forbes) - redhat: add initial rpminspect configuration (Herton R. Krzesinski) - fedora: arm updates for 5.13 (Peter Robinson) - fedora: Enable WWAN and associated MHI bits (Peter Robinson) - Update CONFIG_MODPROBE_PATH to /usr/sbin (Justin Forbes) - Fedora set modprobe path (Justin M. Forbes) - Keep sctp and l2tp modules in modules-extra (Don Zickus) - Fix ppc64le cross build packaging (Don Zickus) - Fedora: Make amd_pinctrl module builtin (Hans de Goede) - Keep CONFIG_KASAN_HW_TAGS off for aarch64 debug configs (Justin M. Forbes) - New configs in drivers/bus (Fedora Kernel Team) - RHEL: Don't build KVM PR module on ppc64 (David Gibson) [1930649] - Flip CONFIG_USB_ROLE_SWITCH from m to y (Justin M. Forbes) - Set valid options for CONFIG_FW_LOADER_USER_HELPER (Justin M. Forbes) - Clean up CONFIG_FB_MODE_HELPERS (Justin M. Forbes) - Turn off CONFIG_VFIO for the s390x zfcpdump kernel (Justin M. Forbes) - Delete unused CONFIG_SND_SOC_MAX98390 pending-common (Justin M. Forbes) - Update pending-common configs, preparing to set correctly (Justin M. Forbes) - Update fedora filters for surface (Justin M. Forbes) - Build CONFIG_CRYPTO_ECDSA inline for s390x zfcpdump (Justin M. Forbes) - Replace "flavour" where "variant" is meant instead (David Ward) - Drop the %%{variant} macro and fix --with-vanilla (David Ward) - Fix syntax of %%kernel_variant_files (David Ward) - Change description of --without-vdso-install to fix typo (David Ward) - Config updates to work around mismatches (Justin M. Forbes) - CONFIG_SND_SOC_FSL_ASOC_CARD selects CONFIG_MFD_WM8994 now (Justin M. Forbes) - wireguard: disable in FIPS mode (Hangbin Liu) [1940794] - Enable mtdram for fedora (rhbz 1955916) (Justin M. Forbes) - Remove reference to bpf-helpers man page (Justin M. Forbes) - Fedora: enable more modules for surface devices (Dave Olsthoorn) - Fix Fedora config mismatch for CONFIG_FSL_ENETC_IERB (Justin M. Forbes) - hardlink is in /usr/bin/ now (Justin M. Forbes) - Ensure CONFIG_KVM_BOOK3S_64_PR stays on in Fedora, even if it is turned off in RHEL (Justin M. Forbes) - Set date in package release from repository commit, not system clock (David Ward) - Use a better upstream tarball filename for snapshots (David Ward) - Don't create empty pending-common files on pending-fedora commits (Don Zickus) - nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) - nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT (Mike Snitzer) - nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) - Add redhat/configs/pending-common/generic/s390x/zfcpdump/CONFIG_NETFS_SUPPORT (Justin M. Forbes) - Create ark-latest branch last for CI scripts (Don Zickus) - Replace /usr/libexec/platform-python with /usr/bin/python3 (David Ward) - Turn off ADI_AXI_ADC and AD9467 which now require CONFIG_OF (Justin M. Forbes) - Export ark infrastructure files (Don Zickus) - docs: Update docs to reflect newer workflow. (Don Zickus) - Use upstream/master for merge-base with fallback to master (Don Zickus) - Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede) - filter-modules.sh.fedora: clean up "netprots" (Paul Bolle) - filter-modules.sh.fedora: clean up "scsidrvs" (Paul Bolle) - filter-*.sh.fedora: clean up "ethdrvs" (Paul Bolle) - filter-*.sh.fedora: clean up "driverdirs" (Paul Bolle) - filter-*.sh.fedora: remove incorrect entries (Paul Bolle) - filter-*.sh.fedora: clean up "singlemods" (Paul Bolle) - filter-modules.sh.fedora: drop unused list "iiodrvs" (Paul Bolle) - Update mod-internal to fix depmod issue (Nico Pache) - Turn on CONFIG_VDPA_SIM_NET (rhbz 1942343) (Justin M. Forbes) - New configs in drivers/power (Fedora Kernel Team) - Turn on CONFIG_NOUVEAU_DEBUG_PUSH for debug configs (Justin M. Forbes) - Turn off KFENCE sampling by default for Fedora (Justin M. Forbes) - Fedora config updates round 2 (Justin M. Forbes) - New configs in drivers/soc (Jeremy Cline) - filter-modules.sh: Fix copy/paste error 'input' (Paul Bolle) - Update module filtering for 5.12 kernels (Justin M. Forbes) - Fix genlog.py to ensure that comments retain "%%" characters. (Mark Mielke) - New configs in drivers/leds (Fedora Kernel Team) - Limit CONFIG_USB_CDNS_SUPPORT to x86_64 and arm in Fedora (David Ward) - Fedora: Enable CHARGER_GPIO on aarch64 too (Peter Robinson) - Fedora config updates (Justin M. Forbes) - configs: enable CONFIG_WIREGUARD in ARK (Hangbin Liu) [1613522] - Remove duplicate configs acroos fedora, ark and common (Don Zickus) - Combine duplicate configs across ark and fedora into common (Don Zickus) - common/ark: cleanup and unify the parport configs (Peter Robinson) - iommu/vt-d: enable INTEL_IDXD_SVM for both fedora and rhel (Jerry Snitselaar) - REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 (Jeremy Linton) - configs/common/generic: disable CONFIG_SLAB_MERGE_DEFAULT (Rafael Aquini) - Remove _legacy_common_support (Justin M. Forbes) - redhat/mod-blacklist.sh: Fix floppy blacklisting (Hans de Goede) - New configs in fs/pstore (CKI@GitLab) - New configs in arch/powerpc (Fedora Kernel Team) - configs: enable BPF LSM on Fedora and ARK (Ondrej Mosnacek) - configs: clean up LSM configs (Ondrej Mosnacek) - New configs in drivers/platform (CKI@GitLab) - New configs in drivers/firmware (CKI@GitLab) - New configs in drivers/mailbox (Fedora Kernel Team) - New configs in drivers/net/phy (Justin M. Forbes) - Update CONFIG_DM_MULTIPATH_IOA (Augusto Caringi) - New configs in mm/Kconfig (CKI@GitLab) - New configs in arch/powerpc (Jeremy Cline) - New configs in arch/powerpc (Jeremy Cline) - New configs in drivers/input (Fedora Kernel Team) - New configs in net/bluetooth (Justin M. Forbes) - New configs in drivers/clk (Fedora Kernel Team) - New configs in init/Kconfig (Jeremy Cline) - redhat: allow running fedora-configs and rh-configs targets outside of redhat/ (Herton R. Krzesinski) - all: unify the disable of goldfish (android emulation platform) (Peter Robinson) - common: minor cleanup/de-dupe of dma/dmabuf debug configs (Peter Robinson) - common/ark: these drivers/arches were removed in 5.12 (Peter Robinson) - Correct kernel-devel make prepare build for 5.12. (Paulo E. Castro) - redhat: add initial support for centos stream dist-git sync on Makefiles (Herton R. Krzesinski) - redhat/configs: Enable CONFIG_SCHED_STACK_END_CHECK for Fedora and ARK (Josh Poimboeuf) [1856174] - CONFIG_VFIO now selects IOMMU_API instead of depending on it, causing several config mismatches for the zfcpdump kernel (Justin M. Forbes) - Turn off weak-modules for Fedora (Justin M. Forbes) - redhat: enable CONFIG_FW_LOADER_COMPRESS for ARK (Herton R. Krzesinski) [1939095] - Fedora: filters: update to move dfl-emif to modules (Peter Robinson) - drop duplicate DEVFREQ_GOV_SIMPLE_ONDEMAND config (Peter Robinson) - efi: The EFI_VARS is legacy and now x86 only (Peter Robinson) - common: enable RTC_SYSTOHC to supplement update_persistent_clock64 (Peter Robinson) - generic: arm: enable SCMI for all options (Peter Robinson) - fedora: the PCH_CAN driver is x86-32 only (Peter Robinson) - common: disable legacy CAN device support (Peter Robinson) - common: Enable Microchip MCP251x/MCP251xFD CAN controllers (Peter Robinson) - common: Bosch MCAN support for Intel Elkhart Lake (Peter Robinson) - common: enable CAN_PEAK_PCIEFD PCI-E driver (Peter Robinson) - common: disable CAN_PEAK_PCIEC PCAN-ExpressCard (Peter Robinson) - common: enable common CAN layer 2 protocols (Peter Robinson) - ark: disable CAN_LEDS option (Peter Robinson) - Fedora: Turn on SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC option (Hans de Goede) - Fedora: enable modules for surface devices (Dave Olsthoorn) - Turn on SND_SOC_INTEL_SOUNDWIRE_SOF_MACH for Fedora again (Justin M. Forbes) - common: fix WM8804 codec dependencies (Peter Robinson) - Build SERIO_SERPORT as a module (Peter Robinson) - input: touchscreen: move ELO and Wacom serial touchscreens to x86 (Peter Robinson) - Sync serio touchscreens for non x86 architectures to the same as ARK (Peter Robinson) - Only enable SERIO_LIBPS2 on x86 (Peter Robinson) - Only enable PC keyboard controller and associated keyboard on x86 (Peter Robinson) - Generic: Mouse: Tweak generic serial mouse options (Peter Robinson) - Only enable PS2 Mouse options on x86 (Peter Robinson) - Disable bluetooth highspeed by default (Peter Robinson) - Fedora: A few more general updates for 5.12 window (Peter Robinson) - Fedora: Updates for 5.12 merge window (Peter Robinson) - Fedora: remove dead options that were removed upstream (Peter Robinson) - redhat: remove CONFIG_DRM_PANEL_XINGBANGDA_XBD599 (Herton R. Krzesinski) - New configs in arch/powerpc (Fedora Kernel Team) - Turn on CONFIG_PPC_QUEUED_SPINLOCKS as it is default upstream now (Justin M. Forbes) - Update pending-common configs to address new upstream config deps (Justin M. Forbes) - rpmspec: ship gpio-watch.debug in the proper debuginfo package (Herton R. Krzesinski) - Removed description text as a comment confuses the config generation (Justin M. Forbes) - New configs in drivers/dma-buf (Jeremy Cline) - Fedora: ARMv7: build for 16 CPUs. (Peter Robinson) - Fedora: only enable DEBUG_HIGHMEM on debug kernels (Peter Robinson) - process_configs.sh: fix find/xargs data flow (Ondrej Mosnacek) - Fedora config update (Justin M. Forbes) - fedora: minor arm sound config updates (Peter Robinson) - Fix trailing white space in redhat/configs/fedora/generic/CONFIG_SND_INTEL_BYT_PREFER_SOF (Justin M. Forbes) - Add a redhat/rebase-notes.txt file (Hans de Goede) - Turn on SND_INTEL_BYT_PREFER_SOF for Fedora (Hans de Goede) - CI: Drop MR ID from the name variable (Veronika Kabatova) - redhat: add DUP and kpatch certificates to system trusted keys for RHEL build (Herton R. Krzesinski) - The comments in CONFIG_USB_RTL8153_ECM actually turn off CONFIG_USB_RTL8152 (Justin M. Forbes) - Update CKI pipeline project (Veronika Kabatova) - Turn off additional KASAN options for Fedora (Justin M. Forbes) - Rename the master branch to rawhide for Fedora (Justin M. Forbes) - Makefile targets for packit integration (Ben Crocker) - Turn off KASAN for rawhide debug builds (Justin M. Forbes) - New configs in arch/arm64 (Justin Forbes) - Remove deprecated Intel MIC config options (Peter Robinson) - redhat: replace inline awk script with genlog.py call (Herton R. Krzesinski) - redhat: add genlog.py script (Herton R. Krzesinski) - kernel.spec.template - fix use_vdso usage (Ben Crocker) - redhat: remove remaining references of CONFIG_RH_DISABLE_DEPRECATED (Herton R. Krzesinski) - Turn off vdso_install for ppc (Justin M. Forbes) - Remove bpf-helpers.7 from bpftool package (Jiri Olsa) - New configs in lib/Kconfig.debug (Fedora Kernel Team) - Turn off CONFIG_VIRTIO_CONSOLE for s390x zfcpdump (Justin M. Forbes) - New configs in drivers/clk (Justin M. Forbes) - Keep VIRTIO_CONSOLE on s390x available. (Jakub Čajka) - New configs in lib/Kconfig.debug (Jeremy Cline) - Fedora 5.11 config updates part 4 (Justin M. Forbes) - Fedora 5.11 config updates part 3 (Justin M. Forbes) - Fedora 5.11 config updates part 2 (Justin M. Forbes) - Update internal (test) module list from RHEL-8 (Joe Lawrence) [1915073] - Fix USB_XHCI_PCI regression (Justin M. Forbes) - fedora: fixes for ARMv7 build issue by disabling HIGHPTE (Peter Robinson) - all: s390x: Increase CONFIG_PCI_NR_FUNCTIONS to 512 (#1888735) (Dan Horák) - Fedora 5.11 configs pt 1 (Justin M. Forbes) - redhat: avoid conflict with mod-blacklist.sh and released_kernel defined (Herton R. Krzesinski) - redhat: handle certificate files conditionally as done for src.rpm (Herton R. Krzesinski) - specfile: add %%{?_smp_mflags} to "make headers_install" in tools/testing/selftests (Denys Vlasenko) - specfile: add %%{?_smp_mflags} to "make samples/bpf/" (Denys Vlasenko) - Run MR testing in CKI pipeline (Veronika Kabatova) - Reword comment (Nicolas Chauvet) - Add with_cross_arm conditional (Nicolas Chauvet) - Redefines __strip if with_cross (Nicolas Chauvet) - fedora: only enable ACPI_CONFIGFS, ACPI_CUSTOM_METHOD in debug kernels (Peter Robinson) - fedora: User the same EFI_CUSTOM_SSDT_OVERLAYS as ARK (Peter Robinson) - all: all arches/kernels enable the same DMI options (Peter Robinson) - all: move SENSORS_ACPI_POWER to common/generic (Peter Robinson) - fedora: PCIE_HISI_ERR is already in common (Peter Robinson) - all: all ACPI platforms enable ATA_ACPI so move it to common (Peter Robinson) - all: x86: move shared x86 acpi config options to generic (Peter Robinson) - All: x86: Move ACPI_VIDEO to common/x86 (Peter Robinson) - All: x86: Enable ACPI_DPTF (Intel DPTF) (Peter Robinson) - All: enable ACPI_BGRT for all ACPI platforms. (Peter Robinson) - All: Only build ACPI_EC_DEBUGFS for debug kernels (Peter Robinson) - All: Disable Intel Classmate PC ACPI_CMPC option (Peter Robinson) - cleanup: ACPI_PROCFS_POWER was removed upstream (Peter Robinson) - All: ACPI: De-dupe the ACPI options that are the same across ark/fedora on x86/arm (Peter Robinson) - Enable the vkms module in Fedora (Jeremy Cline) - Fedora: arm updates for 5.11 and general cross Fedora cleanups (Peter Robinson) - Add gcc-c++ to BuildRequires (Justin M. Forbes) - Update CONFIG_KASAN_HW_TAGS (Justin M. Forbes) - fedora: arm: move generic power off/reset to all arm (Peter Robinson) - fedora: ARMv7: build in DEVFREQ_GOV_SIMPLE_ONDEMAND until I work out why it's changed (Peter Robinson) - fedora: cleanup joystick_adc (Peter Robinson) - fedora: update some display options (Peter Robinson) - fedora: arm: enable TI PRU options (Peter Robinson) - fedora: arm: minor exynos plaform updates (Peter Robinson) - arm: SoC: disable Toshiba Visconti SoC (Peter Robinson) - common: disable ARCH_BCM4908 (NFC) (Peter Robinson) - fedora: minor arm config updates (Peter Robinson) - fedora: enable Tegra 234 SoC (Peter Robinson) - fedora: arm: enable new Hikey 3xx options (Peter Robinson) - Fedora: USB updates (Peter Robinson) - fedora: enable the GNSS receiver subsystem (Peter Robinson) - Remove POWER_AVS as no longer upstream (Peter Robinson) - Cleanup RESET_RASPBERRYPI (Peter Robinson) - Cleanup GPIO_CDEV_V1 options. (Peter Robinson) - fedora: arm crypto updates (Peter Robinson) - CONFIG_KASAN_HW_TAGS for aarch64 (Justin M. Forbes) - Fedora: cleanup PCMCIA configs, move to x86 (Peter Robinson) - New configs in drivers/rtc (Fedora Kernel Team) - redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL (Josh Poimboeuf) [1856176] - redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK (Josh Poimboeuf) [1856176] - redhat/configs: Enable CONFIG_GCC_PLUGINS on ARK (Josh Poimboeuf) [1856176] - redhat/configs: Enable CONFIG_KASAN on Fedora (Josh Poimboeuf) [1856176] - New configs in init/Kconfig (Fedora Kernel Team) - build_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) - genspec.sh: Fix syntax flagged by shellcheck (Ben Crocker) - mod-blacklist.sh: Fix syntax flagged by shellcheck (Ben Crocker) - Enable Speakup accessibility driver (Justin M. Forbes) - New configs in init/Kconfig (Fedora Kernel Team) - Fix fedora config mismatch due to dep changes (Justin M. Forbes) - New configs in drivers/crypto (Jeremy Cline) - Remove duplicate ENERGY_MODEL configs (Peter Robinson) - This is selected by PCIE_QCOM so must match (Justin M. Forbes) - drop unused BACKLIGHT_GENERIC (Peter Robinson) - Remove cp instruction already handled in instruction below. (Paulo E. Castro) - Add all the dependencies gleaned from running `make prepare` on a bloated devel kernel. (Paulo E. Castro) - Add tools to path mangling script. (Paulo E. Castro) - Remove duplicate cp statement which is also not specific to x86. (Paulo E. Castro) - Correct orc_types failure whilst running `make prepare` https://bugzilla.redhat.com/show_bug.cgi?id=1882854 (Paulo E. Castro) - redhat: ark: enable CONFIG_IKHEADERS (Jiri Olsa) - Add missing '$' sign to (GIT) in redhat/Makefile (Augusto Caringi) - Remove filterdiff and use native git instead (Don Zickus) - New configs in net/sched (Justin M. Forbes) - New configs in drivers/mfd (CKI@GitLab) - New configs in drivers/mfd (Fedora Kernel Team) - New configs in drivers/firmware (Fedora Kernel Team) - Temporarily backout parallel xz script (Justin M. Forbes) - redhat: explicitly disable CONFIG_IMA_APPRAISE_SIGNED_INIT (Bruno Meneguele) - redhat: enable CONFIG_EVM_LOAD_X509 on ARK (Bruno Meneguele) - redhat: enable CONFIG_EVM_ATTR_FSUUID on ARK (Bruno Meneguele) - redhat: enable CONFIG_EVM in all arches and flavors (Bruno Meneguele) - redhat: enable CONFIG_IMA_LOAD_X509 on ARK (Bruno Meneguele) - redhat: set CONFIG_IMA_DEFAULT_HASH to SHA256 (Bruno Meneguele) - redhat: enable CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT (Bruno Meneguele) - redhat: enable CONFIG_IMA_READ_POLICY on ARK (Bruno Meneguele) - redhat: set default IMA template for all ARK arches (Bruno Meneguele) - redhat: enable CONFIG_IMA_DEFAULT_HASH_SHA256 for all flavors (Bruno Meneguele) - redhat: disable CONFIG_IMA_DEFAULT_HASH_SHA1 (Bruno Meneguele) - redhat: enable CONFIG_IMA_ARCH_POLICY for ppc and x86 (Bruno Meneguele) - redhat: enable CONFIG_IMA_APPRAISE_MODSIG (Bruno Meneguele) - redhat: enable CONFIG_IMA_APPRAISE_BOOTPARAM (Bruno Meneguele) - redhat: enable CONFIG_IMA_APPRAISE (Bruno Meneguele) - redhat: enable CONFIG_INTEGRITY for aarch64 (Bruno Meneguele) - kernel: Update some missing KASAN/KCSAN options (Jeremy Linton) - kernel: Enable coresight on aarch64 (Jeremy Linton) - Update CONFIG_INET6_ESPINTCP (Justin Forbes) - New configs in net/ipv6 (Justin M. Forbes) - fedora: move CONFIG_RTC_NVMEM options from ark to common (Peter Robinson) - configs: Enable CONFIG_DEBUG_INFO_BTF (Don Zickus) - fedora: some minor arm audio config tweaks (Peter Robinson) - Ship xpad with default modules on Fedora and RHEL (Bastien Nocera) - Fedora: Only enable legacy serial/game port joysticks on x86 (Peter Robinson) - Fedora: Enable the options required for the Librem 5 Phone (Peter Robinson) - Fedora config update (Justin M. Forbes) - Fedora config change because CONFIG_FSL_DPAA2_ETH now selects CONFIG_FSL_XGMAC_MDIO (Justin M. Forbes) - redhat: generic enable CONFIG_INET_MPTCP_DIAG (Davide Caratti) - Fedora config update (Justin M. Forbes) - Enable NANDSIM for Fedora (Justin M. Forbes) - Re-enable CONFIG_ACPI_TABLE_UPGRADE for Fedora since upstream disables this if secureboot is active (Justin M. Forbes) - Ath11k related config updates (Justin M. Forbes) - Fedora config updates for ath11k (Justin M. Forbes) - Turn on ATH11K for Fedora (Justin M. Forbes) - redhat: enable CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) - More Fedora config fixes (Justin M. Forbes) - Fedora 5.10 config updates (Justin M. Forbes) - Fedora 5.10 configs round 1 (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Allow kernel-tools to build without selftests (Don Zickus) - Allow building of kernel-tools standalone (Don Zickus) - redhat: ark: disable CONFIG_NET_ACT_CTINFO (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_TEQL (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_SFB (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_QFQ (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_PLUG (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_PIE (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_HHF (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_DSMARK (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_DRR (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_CODEL (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_CHOKE (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_CBQ (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_ATM (Davide Caratti) - redhat: ark: disable CONFIG_NET_EMATCH and sub-targets (Davide Caratti) - redhat: ark: disable CONFIG_NET_CLS_TCINDEX (Davide Caratti) - redhat: ark: disable CONFIG_NET_CLS_RSVP6 (Davide Caratti) - redhat: ark: disable CONFIG_NET_CLS_RSVP (Davide Caratti) - redhat: ark: disable CONFIG_NET_CLS_ROUTE4 (Davide Caratti) - redhat: ark: disable CONFIG_NET_CLS_BASIC (Davide Caratti) - redhat: ark: disable CONFIG_NET_ACT_SKBMOD (Davide Caratti) - redhat: ark: disable CONFIG_NET_ACT_SIMP (Davide Caratti) - redhat: ark: disable CONFIG_NET_ACT_NAT (Davide Caratti) - arm64/defconfig: Enable CONFIG_KEXEC_FILE (Bhupesh Sharma) [1821565] - redhat/configs: Cleanup CONFIG_CRYPTO_SHA512 (Prarit Bhargava) - New configs in drivers/mfd (Fedora Kernel Team) - Fix LTO issues with kernel-tools (Don Zickus) - Point pathfix to the new location for gen_compile_commands.py (Justin M. Forbes) - configs: Disable CONFIG_SECURITY_SELINUX_DISABLE (Ondrej Mosnacek) - [Automatic] Handle config dependency changes (Don Zickus) - configs/iommu: Add config comment to empty CONFIG_SUN50I_IOMMU file (Jerry Snitselaar) - New configs in kernel/trace (Fedora Kernel Team) - Fix Fedora config locations (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - configs: enable CONFIG_CRYPTO_CTS=y so cts(cbc(aes)) is available in FIPS mode (Vladis Dronov) [1855161] - Partial revert: Add master merge check (Don Zickus) - Update Maintainers doc to reflect workflow changes (Don Zickus) - WIP: redhat/docs: Update documentation for single branch workflow (Prarit Bhargava) - Add CONFIG_ARM64_MTE which is not picked up by the config scripts for some reason (Justin M. Forbes) - Disable Speakup synth DECEXT (Justin M. Forbes) - Enable Speakup for Fedora since it is out of staging (Justin M. Forbes) - Modify patchlist changelog output (Don Zickus) - process_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) - generate_all_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) - redhat/self-test: Initial commit (Ben Crocker) - arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) - redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] - x86: Fix compile issues with rh_check_supported() (Don Zickus) - KEYS: Make use of platform keyring for module signature verify (Robert Holmes) - Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires) - ARM: tegra: usb no reset (Peter Robinson) - arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters) - redhat: rh_kabi: deduplication friendly structs (Jiri Benc) - redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) - redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) - redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) - redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) - redhat: rh_kabi: Add macros to size and extend structs (Prarit Bhargava) - Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321] - mptsas: pci-id table changes (Laura Abbott) - mptsas: Taint kernel if mptsas is loaded (Laura Abbott) - mptspi: pci-id table changes (Laura Abbott) - qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline) - be2iscsi: remove unsupported device IDs (Chris Leech) [1574502 1598366] - mptspi: Taint kernel if mptspi is loaded (Laura Abbott) - hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185] - qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874] - aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307] - megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329] - mpt*: remove certain deprecated pci-ids (Jeremy Cline) - kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) [1602033] - Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES (Don Zickus) - s390: Lock down the kernel when the IPL secure flag is set (Jeremy Cline) - efi: Lock down the kernel if booted in secure boot mode (David Howells) - efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells) - security: lockdown: expose a hook to lock the kernel down (Jeremy Cline) - Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones) - Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones) - Add support for deprecating processors (Laura Abbott) [1565717 1595918 1609604 1610493] - arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline) - iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) - rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) [1652256] - ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [1670017] - kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] - add pci_hw_vendor_status() (Maurizio Lombardi) [1590829] - ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590] - Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590] - bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] - add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] - tags.sh: Ignore redhat/rpm (Jeremy Cline) - put RHEL info into generated headers (Laura Abbott) [1663728] - aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] - ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] - modules: add rhelversion MODULE_INFO tag (Laura Abbott) - ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] - Add Red Hat tainting (Laura Abbott) [1565704 1652266] - Introduce CONFIG_RH_DISABLE_DEPRECATED (Laura Abbott) - Stop merging ark-patches for release (Don Zickus) - Fix path location for ark-update-configs.sh (Don Zickus) - Combine Red Hat patches into single patch (Don Zickus) - New configs in drivers/misc (Jeremy Cline) - New configs in drivers/net/wireless (Justin M. Forbes) - New configs in drivers/phy (Fedora Kernel Team) - New configs in drivers/tty (Fedora Kernel Team) - Set SquashFS decompression options for all flavors to match RHEL (Bohdan Khomutskyi) - configs: Enable CONFIG_ENERGY_MODEL (Phil Auld) - New configs in drivers/pinctrl (Fedora Kernel Team) - Update CONFIG_THERMAL_NETLINK (Justin Forbes) - Separate merge-upstream and release stages (Don Zickus) - Re-enable CONFIG_IR_SERIAL on Fedora (Prarit Bhargava) - Create Patchlist.changelog file (Don Zickus) - Filter out upstream commits from changelog (Don Zickus) - Merge Upstream script fixes (Don Zickus) - kernel.spec: Remove kernel-keys directory on rpm erase (Prarit Bhargava) - Add mlx5_vdpa to module filter for Fedora (Justin M. Forbes) - Add python3-sphinx_rtd_theme buildreq for docs (Justin M. Forbes) - redhat/configs/process_configs.sh: Remove *.config.orig files (Prarit Bhargava) - redhat/configs/process_configs.sh: Add process_configs_known_broken flag (Prarit Bhargava) - redhat/Makefile: Fix '*-configs' targets (Prarit Bhargava) - dist-merge-upstream: Checkout known branch for ci scripts (Don Zickus) - kernel.spec: don't override upstream compiler flags for ppc64le (Dan Horák) - Fedora config updates (Justin M. Forbes) - Fedora confi gupdate (Justin M. Forbes) - mod-sign.sh: Fix syntax flagged by shellcheck (Ben Crocker) - Swap how ark-latest is built (Don Zickus) - Add extra version bump to os-build branch (Don Zickus) - dist-release: Avoid needless version bump. (Don Zickus) - Add dist-fedora-release target (Don Zickus) - Remove redundant code in dist-release (Don Zickus) - Makefile.common rename TAG to _TAG (Don Zickus) - Fedora config change (Justin M. Forbes) - Fedora filter update (Justin M. Forbes) - Config update for Fedora (Justin M. Forbes) - enable PROTECTED_VIRTUALIZATION_GUEST for all s390x kernels (Dan Horák) - redhat: ark: enable CONFIG_NET_SCH_TAPRIO (Davide Caratti) - redhat: ark: enable CONFIG_NET_SCH_ETF (Davide Caratti) - More Fedora config updates (Justin M. Forbes) - New config deps (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - First half of config updates for Fedora (Justin M. Forbes) - Updates for Fedora arm architectures for the 5.9 window (Peter Robinson) - Merge 5.9 config changes from Peter Robinson (Justin M. Forbes) - Add config options that only show up when we prep on arm (Justin M. Forbes) - Config updates for Fedora (Justin M. Forbes) - fedora: enable enery model (Peter Robinson) - Use the configs/generic config for SND_HDA_INTEL everywhere (Peter Robinson) - Enable ZSTD compression algorithm on all kernels (Peter Robinson) - Enable ARM_SMCCC_SOC_ID on all aarch64 kernels (Peter Robinson) - iio: enable LTR-559 light and proximity sensor (Peter Robinson) - iio: chemical: enable some popular chemical and partical sensors (Peter Robinson) - More mismatches (Justin M. Forbes) - Fedora config change due to deps (Justin M. Forbes) - CONFIG_SND_SOC_MAX98390 is now selected by SND_SOC_INTEL_DA7219_MAX98357A_GENERIC (Justin M. Forbes) - Config change required for build part 2 (Justin M. Forbes) - Config change required for build (Justin M. Forbes) - Fedora config update (Justin M. Forbes) - Add ability to sync upstream through Makefile (Don Zickus) - Add master merge check (Don Zickus) - Replace hardcoded values 'os-build' and project id with variables (Don Zickus) - redhat/Makefile.common: Fix MARKER (Prarit Bhargava) - gitattributes: Remove unnecesary export restrictions (Prarit Bhargava) - Add new certs for dual signing with boothole (Justin M. Forbes) - Update secureboot signing for dual keys (Justin M. Forbes) - fedora: enable LEDS_SGM3140 for arm configs (Peter Robinson) - Enable CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG (Justin M. Forbes) - redhat/configs: Fix common CONFIGs (Prarit Bhargava) - redhat/configs: General CONFIG cleanups (Prarit Bhargava) - redhat/configs: Update & generalize evaluate_configs (Prarit Bhargava) - fedora: arm: Update some meson config options (Peter Robinson) - redhat/docs: Add Fedora RPM tagging date (Prarit Bhargava) - Update config for renamed panel driver. (Peter Robinson) - Enable SERIAL_SC16IS7XX for SPI interfaces (Peter Robinson) - s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus) - Fedora config updates (Justin M. Forbes) - redhat/configs: Add .tmp files to .gitignore (Prarit Bhargava) - disable uncommon TCP congestion control algorithms (Davide Caratti) - Add new bpf man pages (Justin M. Forbes) - Add default option for CONFIG_ARM64_BTI_KERNEL to pending-common so that eln kernels build (Justin M. Forbes) - redhat/Makefile: Add fedora-configs and rh-configs make targets (Prarit Bhargava) - redhat/configs: Use SHA512 for module signing (Prarit Bhargava) - genspec.sh: 'touch' empty Patchlist file for single tarball (Don Zickus) - Fedora config update for rc1 (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - redhat/Makefile.common: fix RPMKSUBLEVEL condition (Ondrej Mosnacek) - redhat/Makefile: silence KABI tar output (Ondrej Mosnacek) - One more Fedora config update (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fix PATCHLEVEL for merge window (Justin M. Forbes) - Change ark CONFIG_COMMON_CLK to yes, it is selected already by other options (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - More module filtering for Fedora (Justin M. Forbes) - Update filters for rnbd in Fedora (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fix up module filtering for 5.8 (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - More Fedora config work (Justin M. Forbes) - RTW88BE and CE have been extracted to their own modules (Justin M. Forbes) - Set CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK for Fedora (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Arm64 Use Branch Target Identification for kernel (Justin M. Forbes) - Change value of CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE (Justin M. Forbes) - Fedora config updates (Justin M. Forbes) - Fix configs for Fedora (Justin M. Forbes) - Add zero-commit to format-patch options (Justin M. Forbes) - Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline) - Move the sed to clear the patch templating outside of conditionals (Justin M. Forbes) - Match template format in kernel.spec.template (Justin M. Forbes) - Break out the Patches into individual files for dist-git (Justin M. Forbes) - Break the Red Hat patch into individual commits (Jeremy Cline) - Fix update_scripts.sh unselective pattern sub (David Howells) - Add cec to the filter overrides (Justin M. Forbes) - Add overrides to filter-modules.sh (Justin M. Forbes) - redhat/configs: Enable CONFIG_SMC91X and disable CONFIG_SMC911X (Prarit Bhargava) [1722136] - Include bpftool-struct_ops man page in the bpftool package (Jeremy Cline) - Add sharedbuffer_configuration.py to the pathfix.py script (Jeremy Cline) - Use __make macro instead of make (Tom Stellard) - Sign off generated configuration patches (Jeremy Cline) - Drop the static path configuration for the Sphinx docs (Jeremy Cline) - redhat: Add dummy-module kernel module (Prarit Bhargava) - redhat: enable CONFIG_LWTUNNEL_BPF (Jiri Benc) - Remove typoed config file aarch64CONFIG_SM_GCC_8150 (Justin M. Forbes) - Add Documentation back to kernel-devel as it has Kconfig now (Justin M. Forbes) - Copy distro files rather than moving them (Jeremy Cline) - kernel.spec: fix 'make scripts' for kernel-devel package (Brian Masney) - Makefile: correct help text for dist-cross-<arch>-rpms (Brian Masney) - redhat/Makefile: Fix RHEL8 python warning (Prarit Bhargava) - redhat: Change Makefile target names to dist- (Prarit Bhargava) - configs: Disable Serial IR driver (Prarit Bhargava) - Fix "multiple %%files for package kernel-tools" (Pablo Greco) - Introduce a Sphinx documentation project (Jeremy Cline) - Build ARK against ELN (Don Zickus) - Drop the requirement to have a remote called linus (Jeremy Cline) - Rename 'internal' branch to 'os-build' (Don Zickus) - Only include open merge requests with "Include in Releases" label (Jeremy Cline) - Package gpio-watch in kernel-tools (Jeremy Cline) - Exit non-zero if the tag already exists for a release (Jeremy Cline) - Adjust the changelog update script to not push anything (Jeremy Cline) - Drop --target noarch from the rh-rpms make target (Jeremy Cline) - Add a script to generate release tags and branches (Jeremy Cline) - Set CONFIG_VDPA for fedora (Justin M. Forbes) - Add a README to the dist-git repository (Jeremy Cline) - Provide defaults in ark-rebase-patches.sh (Jeremy Cline) - Default ark-rebase-patches.sh to not report issues (Jeremy Cline) - Drop DIST from release commits and tags (Jeremy Cline) - Place the buildid before the dist in the release (Jeremy Cline) - Sync up with Fedora arm configuration prior to merging (Jeremy Cline) - Disable CONFIG_PROTECTED_VIRTUALIZATION_GUEST for zfcpdump (Jeremy Cline) - Add RHMAINTAINERS file and supporting conf (Don Zickus) - Add a script to test if all commits are signed off (Jeremy Cline) - Fix make rh-configs-arch (Don Zickus) - Drop RH_FEDORA in favor of the now-merged RHEL_DIFFERENCES (Jeremy Cline) - Sync up Fedora configs from the first week of the merge window (Jeremy Cline) - Migrate blacklisting floppy.ko to mod-blacklist.sh (Don Zickus) - kernel packaging: Combine mod-blacklist.sh and mod-extra-blacklist.sh (Don Zickus) - kernel packaging: Fix extra namespace collision (Don Zickus) - mod-extra.sh: Rename to mod-blacklist.sh (Don Zickus) - mod-extra.sh: Make file generic (Don Zickus) - Fix a painfully obvious YAML syntax error in .gitlab-ci.yml (Jeremy Cline) - Add in armv7hl kernel header support (Don Zickus) - Disable all BuildKernel commands when only building headers (Don Zickus) - Drop any gitlab-ci patches from ark-patches (Jeremy Cline) - Build the srpm for internal branch CI using the vanilla tree (Jeremy Cline) - Pull in the latest ARM configurations for Fedora (Jeremy Cline) - Fix xz memory usage issue (Neil Horman) - Use ark-latest instead of master for update script (Jeremy Cline) - Move the CI jobs back into the ARK repository (Jeremy Cline) - Sync up ARK's Fedora config with the dist-git repository (Jeremy Cline) - Pull in the latest configuration changes from Fedora (Jeremy Cline) - configs: enable CONFIG_NET_SCH_CBS (Marcelo Ricardo Leitner) - Drop configuration options in fedora/ that no longer exist (Jeremy Cline) - Set RH_FEDORA for ARK and Fedora (Jeremy Cline) - redhat/kernel.spec: Include the release in the kernel COPYING file (Jeremy Cline) - redhat/kernel.spec: add scripts/jobserver-exec to py3_shbang_opts list (Jeremy Cline) - redhat/kernel.spec: package bpftool-gen man page (Jeremy Cline) - distgit-changelog: handle multiple y-stream BZ numbers (Bruno Meneguele) - redhat/kernel.spec: remove all inline comments (Bruno Meneguele) - redhat/genspec: awk unknown whitespace regex pattern (Bruno Meneguele) - Improve the readability of gen_config_patches.sh (Jeremy Cline) - Fix some awkward edge cases in gen_config_patches.sh (Jeremy Cline) - Update the CI environment to use Fedora 31 (Jeremy Cline) - redhat: drop whitespace from with_gcov macro (Jan Stancek) - configs: Enable CONFIG_KEY_DH_OPERATIONS on ARK (Ondrej Mosnacek) - configs: Adjust CONFIG_MPLS_ROUTING and CONFIG_MPLS_IPTUNNEL (Laura Abbott) - New configs in lib/crypto (Jeremy Cline) - New configs in drivers/char (Jeremy Cline) - Turn on BLAKE2B for Fedora (Jeremy Cline) - kernel.spec.template: Clean up stray *.h.s files (Laura Abbott) - Build the SRPM in the CI job (Jeremy Cline) - New configs in net/tls (Jeremy Cline) - New configs in net/tipc (Jeremy Cline) - New configs in lib/kunit (Jeremy Cline) - Fix up released_kernel case (Laura Abbott) - New configs in lib/Kconfig.debug (Jeremy Cline) - New configs in drivers/ptp (Jeremy Cline) - New configs in drivers/nvme (Jeremy Cline) - New configs in drivers/net/phy (Jeremy Cline) - New configs in arch/arm64 (Jeremy Cline) - New configs in drivers/crypto (Jeremy Cline) - New configs in crypto/Kconfig (Jeremy Cline) - Add label so the Gitlab to email bridge ignores the changelog (Jeremy Cline) - Temporarily switch TUNE_DEFAULT to y (Jeremy Cline) - Run config test for merge requests and internal (Jeremy Cline) - Add missing licensedir line (Laura Abbott) - redhat/scripts: Remove redhat/scripts/rh_get_maintainer.pl (Prarit Bhargava) - configs: Take CONFIG_DEFAULT_MMAP_MIN_ADDR from Fedra (Laura Abbott) - configs: Turn off ISDN (Laura Abbott) - Add a script to generate configuration patches (Laura Abbott) - Introduce rh-configs-commit (Laura Abbott) - kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) - configs: Enable CONFIG_DEBUG_WX (Laura Abbott) - configs: Disable wireless USB (Laura Abbott) - Clean up some temporary config files (Laura Abbott) - configs: New config in drivers/gpu for v5.4-rc1 (Jeremy Cline) - configs: New config in arch/powerpc for v5.4-rc1 (Jeremy Cline) - configs: New config in crypto for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/usb for v5.4-rc1 (Jeremy Cline) - AUTOMATIC: New configs (Jeremy Cline) - Skip ksamples for bpf, they are broken (Jeremy Cline) - configs: New config in fs/erofs for v5.4-rc1 (Jeremy Cline) - configs: New config in mm for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/md for v5.4-rc1 (Jeremy Cline) - configs: New config in init for v5.4-rc1 (Jeremy Cline) - configs: New config in fs/fuse for v5.4-rc1 (Jeremy Cline) - merge.pl: Avoid comments but do not skip them (Don Zickus) - configs: New config in drivers/net/ethernet/pensando for v5.4-rc1 (Jeremy Cline) - Update a comment about what released kernel means (Laura Abbott) - Provide both Fedora and RHEL files in the SRPM (Laura Abbott) - kernel.spec.template: Trim EXTRAVERSION in the Makefile (Laura Abbott) - kernel.spec.template: Add macros for building with nopatches (Laura Abbott) - kernel.spec.template: Add some macros for Fedora differences (Laura Abbott) - kernel.spec.template: Consolodate the options (Laura Abbott) - configs: Add pending direcory to Fedora (Laura Abbott) - kernel.spec.template: Don't run hardlink if rpm-ostree is in use (Laura Abbott) - configs: New config in net/can for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/net/phy for v5.4-rc1 (Jeremy Cline) - configs: Increase x86_64 NR_UARTS to 64 (Prarit Bhargava) [1730649] - configs: turn on ARM64_FORCE_52BIT for debug builds (Jeremy Cline) - kernel.spec.template: Tweak the python3 mangling (Laura Abbott) - kernel.spec.template: Add --with verbose option (Laura Abbott) - kernel.spec.template: Switch to using %%install instead of %%__install (Laura Abbott) - kernel.spec.template: Make the kernel.org URL https (Laura Abbott) - kernel.spec.template: Update message about secure boot signing (Laura Abbott) - kernel.spec.template: Move some with flags definitions up (Laura Abbott) - kernel.spec.template: Update some BuildRequires (Laura Abbott) - kernel.spec.template: Get rid of %%clean (Laura Abbott) - configs: New config in drivers/char for v5.4-rc1 (Jeremy Cline) - configs: New config in net/sched for v5.4-rc1 (Jeremy Cline) - configs: New config in lib for v5.4-rc1 (Jeremy Cline) - configs: New config in fs/verity for v5.4-rc1 (Jeremy Cline) - configs: New config in arch/aarch64 for v5.4-rc4 (Jeremy Cline) - configs: New config in arch/arm64 for v5.4-rc1 (Jeremy Cline) - Flip off CONFIG_ARM64_VA_BITS_52 so the bundle that turns it on applies (Jeremy Cline) - New configuration options for v5.4-rc4 (Jeremy Cline) - Correctly name tarball for single tarball builds (Laura Abbott) - configs: New config in drivers/pci for v5.4-rc1 (Jeremy Cline) - Allow overriding the dist tag on the command line (Laura Abbott) - Allow scratch branch target to be overridden (Laura Abbott) - Remove long dead BUILD_DEFAULT_TARGET (Laura Abbott) - Amend the changelog when rebasing (Laura Abbott) - configs: New config in drivers/platform for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/pinctrl for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/net/wireless for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/net/ethernet/mellanox for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/net/can for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/hid for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/dma-buf for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) - configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) - configs: New config in block for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/cpuidle for v5.4-rc1 (Jeremy Cline) - redhat: configs: Split CONFIG_CRYPTO_SHA512 (Laura Abbott) - redhat: Set Fedora options (Laura Abbott) - Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline) - configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline) - configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) - configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline) - Add option to allow mismatched configs on the command line (Laura Abbott) - configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) - configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline) - configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline) - gitlab: Add CI job for packaging scripts (Major Hayden) - Speed up CI with CKI image (Major Hayden) - Disable e1000 driver in ARK (Neil Horman) - configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline) - configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline) - configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline) - Add an initial CI configuration for the internal branch (Jeremy Cline) - New drop of configuration options for v5.4-rc1 (Jeremy Cline) - New drop of configuration options for v5.4-rc1 (Jeremy Cline) - Pull the RHEL version defines out of the Makefile (Jeremy Cline) - Sync up the ARK build scripts (Jeremy Cline) - Sync up the Fedora Rawhide configs (Jeremy Cline) - Sync up the ARK config files (Jeremy Cline) - configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott) - configs: Add README for some other arches (Laura Abbott) - configs: Sync up Fedora configs (Laura Abbott) - [initial commit] Add structure for building with git (Laura Abbott) - [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott) - [initial commit] Red Hat gitignore and attributes (Laura Abbott) - [initial commit] Add changelog (Laura Abbott) - [initial commit] Add makefile (Laura Abbott) - [initial commit] Add files for generating the kernel.spec (Laura Abbott) - [initial commit] Add rpm directory (Laura Abbott) - [initial commit] Add files for packaging (Laura Abbott) - [initial commit] Add kabi files (Laura Abbott) - [initial commit] Add scripts (Laura Abbott) - [initial commit] Add configs (Laura Abbott) - [initial commit] Add Makefiles (Laura Abbott) - Linux v6.9.0-0.rc0.855684c7d938 Resolves: rhbz#1471185, rhbz#1495307, rhbz#1509329, rhbz#1518076, rhbz#1518874, rhbz#1519554, rhbz#1546831, rhbz#1559877, rhbz#1561171, rhbz#1563590, rhbz#1565704, rhbz#1565717, rhbz#1572321, rhbz#1574502, rhbz#1590829, rhbz#1595918, rhbz#1598366, rhbz#1602033, rhbz#1609604, rhbz#1610493, rhbz#1613522, rhbz#1638087, rhbz#1652256, rhbz#1652266, rhbz#1663728, rhbz#1670017, rhbz#1722136, rhbz#1730649, rhbz#1802694, rhbz#1810301, rhbz#1821565, rhbz#1831065, rhbz#1855161, rhbz#1856174, rhbz#1856176, rhbz#1858592, rhbz#1858594, rhbz#1858596, rhbz#1858599, rhbz#1869674, rhbz#1871130, rhbz#1876435, rhbz#1876436, rhbz#1876977, rhbz#1877192, rhbz#1880486, rhbz#1890304, rhbz#1903201, rhbz#1915073, rhbz#1915290, rhbz#1930649, rhbz#1939095, rhbz#1940075, rhbz#1940794, rhbz#1943423, rhbz#1945002, rhbz#1945179, rhbz#1945477, rhbz#1947240, rhbz#1948340, rhbz#1952426, rhbz#1952863, rhbz#1953486, rhbz#1956988, rhbz#1957210, rhbz#1957219, rhbz#1957305, rhbz#1957636, rhbz#1957819, rhbz#1961178, rhbz#1962936, rhbz#1964537, rhbz#1967640, rhbz#1972795, rhbz#1976270, rhbz#1976835, rhbz#1976877, rhbz#1976884, rhbz#1977056, rhbz#1977529, rhbz#1978539, rhbz#1979379, rhbz#1981406, rhbz#1983298, rhbz#1986223, rhbz#1988254, rhbz#1988384, rhbz#1990040, rhbz#1993393, rhbz#1994858, rhbz#1998953, rhbz#2000835, rhbz#2002344, rhbz#2004233, rhbz#2004821, rhbz#2006813, rhbz#2007430, rhbz#2012226, rhbz#2014492, rhbz#2019377, rhbz#2020132, rhbz#2022578, rhbz#2023782, rhbz#2024595, rhbz#2025985, rhbz#2026319, rhbz#2027506, rhbz#2031547, rhbz#2032758, rhbz#2034670, rhbz#2038999, rhbz#2040643, rhbz#2041184, rhbz#2041186, rhbz#2041365, rhbz#2041990, rhbz#2042240, rhbz#2042241, rhbz#2043141, rhbz#2044155, rhbz#2053836, rhbz#2054579, rhbz#2062054, rhbz#2062909, rhbz#2071969, rhbz#2089765, rhbz#2115876, rhbz#2120968, rhbz#2122595, rhbz#2140017, rhbz#2142658, rhbz#2149273, rhbz#2153073, rhbz#2166911, rhbz#2188441, rhbz#2208834, rhbz#2216678, rhbz#2227793, rhbz#2231407, rhbz#2233269 Signed-off-by: Augusto Caringi <acaringi@redhat.com>
3891 lines
130 KiB
Diff
3891 lines
130 KiB
Diff
Documentation/admin-guide/kernel-parameters.txt | 9 +
|
|
Kconfig | 2 +
|
|
Kconfig.redhat | 26 +
|
|
Makefile | 20 +-
|
|
arch/arm/Kconfig | 4 +-
|
|
arch/arm64/Kconfig | 2 +-
|
|
arch/s390/include/asm/ipl.h | 1 +
|
|
arch/s390/kernel/ipl.c | 5 +
|
|
arch/s390/kernel/setup.c | 4 +
|
|
arch/x86/kernel/cpu/common.c | 1 +
|
|
arch/x86/kernel/setup.c | 98 +++-
|
|
crypto/drbg.c | 18 +-
|
|
crypto/rng.c | 149 +++++-
|
|
drivers/acpi/apei/hest.c | 8 +
|
|
drivers/acpi/irq.c | 17 +-
|
|
drivers/acpi/scan.c | 9 +
|
|
drivers/ata/libahci.c | 18 +
|
|
drivers/char/ipmi/ipmi_dmi.c | 15 +
|
|
drivers/char/ipmi/ipmi_msghandler.c | 16 +-
|
|
drivers/char/random.c | 122 +++++
|
|
drivers/firmware/efi/Makefile | 1 +
|
|
drivers/firmware/efi/efi.c | 124 +++--
|
|
drivers/firmware/efi/secureboot.c | 38 ++
|
|
drivers/hid/hid-rmi.c | 66 ---
|
|
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +
|
|
drivers/input/rmi4/rmi_driver.c | 124 +++--
|
|
drivers/iommu/iommu.c | 22 +
|
|
drivers/message/fusion/mptsas.c | 5 +
|
|
drivers/message/fusion/mptspi.c | 6 +
|
|
drivers/net/wireguard/main.c | 6 +
|
|
drivers/nvme/host/core.c | 22 +-
|
|
drivers/nvme/host/multipath.c | 19 +-
|
|
drivers/nvme/host/nvme.h | 4 +
|
|
drivers/pci/pci-driver.c | 7 +
|
|
drivers/pci/quirks.c | 24 +
|
|
drivers/scsi/aacraid/linit.c | 2 +
|
|
drivers/scsi/be2iscsi/be_main.c | 2 +
|
|
drivers/scsi/hpsa.c | 4 +
|
|
drivers/scsi/lpfc/lpfc_ids.h | 12 +
|
|
drivers/scsi/megaraid/megaraid_sas_base.c | 4 +
|
|
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +
|
|
drivers/scsi/qla2xxx/qla_os.c | 6 +
|
|
drivers/scsi/qla4xxx/ql4_os.c | 2 +
|
|
drivers/scsi/sd.c | 10 +
|
|
drivers/usb/core/hub.c | 7 +
|
|
fs/afs/main.c | 3 +
|
|
fs/erofs/super.c | 9 +
|
|
fs/ext4/super.c | 11 +
|
|
include/linux/crypto.h | 1 +
|
|
include/linux/efi.h | 22 +-
|
|
include/linux/kernel.h | 16 +
|
|
include/linux/lsm_hook_defs.h | 2 +
|
|
include/linux/module.h | 5 +
|
|
include/linux/panic.h | 18 +-
|
|
include/linux/pci.h | 5 +
|
|
include/linux/random.h | 10 +
|
|
include/linux/rh_kabi.h | 541 +++++++++++++++++++++
|
|
include/linux/rmi.h | 1 +
|
|
include/linux/security.h | 5 +
|
|
init/main.c | 3 +
|
|
kernel/Makefile | 1 +
|
|
kernel/bpf/syscall.c | 23 +
|
|
kernel/module/main.c | 7 +
|
|
kernel/module/signing.c | 9 +-
|
|
kernel/panic.c | 13 +
|
|
kernel/rh_messages.c | 414 ++++++++++++++++
|
|
kernel/rh_messages.h | 109 +++++
|
|
scripts/mod/modpost.c | 8 +
|
|
scripts/tags.sh | 2 +
|
|
security/integrity/platform_certs/load_uefi.c | 6 +-
|
|
security/lockdown/Kconfig | 13 +
|
|
security/lockdown/lockdown.c | 1 +
|
|
security/security.c | 12 +
|
|
73 files changed, 2147 insertions(+), 207 deletions(-)
|
|
|
|
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
|
index 77c3d1a7f116..4b692acd0199 100644
|
|
--- a/Documentation/admin-guide/kernel-parameters.txt
|
|
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
|
@@ -6838,6 +6838,15 @@
|
|
unknown_nmi_panic
|
|
[X86] Cause panic on unknown NMI.
|
|
|
|
+ unprivileged_bpf_disabled=
|
|
+ Format: { "0" | "1" | "2" }
|
|
+ Sets the initial value of
|
|
+ kernel.unprivileged_bpf_disabled sysctl knob.
|
|
+ 0 - unprivileged bpf() syscall access is enabled.
|
|
+ 1 - unprivileged bpf() syscall access is disabled permanently.
|
|
+ 2 - unprivileged bpf() syscall access is disabled.
|
|
+ Default value is 2.
|
|
+
|
|
unwind_debug [X86-64,EARLY]
|
|
Enable unwinder debug output. This can be
|
|
useful for debugging certain unwinder error
|
|
diff --git a/Kconfig b/Kconfig
|
|
index 745bc773f567..f57ff40109d7 100644
|
|
--- a/Kconfig
|
|
+++ b/Kconfig
|
|
@@ -30,3 +30,5 @@ source "lib/Kconfig"
|
|
source "lib/Kconfig.debug"
|
|
|
|
source "Documentation/Kconfig"
|
|
+
|
|
+source "Kconfig.redhat"
|
|
diff --git a/Kconfig.redhat b/Kconfig.redhat
|
|
new file mode 100644
|
|
index 000000000000..7465c78a90e6
|
|
--- /dev/null
|
|
+++ b/Kconfig.redhat
|
|
@@ -0,0 +1,26 @@
|
|
+# SPDX-License-Identifier: GPL-2.0-only
|
|
+#
|
|
+# Red Hat specific options
|
|
+#
|
|
+
|
|
+menu "Red Hat options"
|
|
+
|
|
+config RHEL_DIFFERENCES
|
|
+ bool "Remove support for deprecated features"
|
|
+ help
|
|
+ Red Hat may choose to deprecate certain features in its kernels.
|
|
+ Enable this option to remove support for hardware that is no
|
|
+ longer supported.
|
|
+
|
|
+ Unless you want a restricted kernel, say N here.
|
|
+
|
|
+config RH_KABI_SIZE_ALIGN_CHECKS
|
|
+ bool "Enables more stringent kabi checks in the macros"
|
|
+ depends on RHEL_DIFFERENCES
|
|
+ default y
|
|
+ help
|
|
+ This option enables more stringent kabi checks. Those must
|
|
+ be disabled in case of a debug build, because debug builds
|
|
+ allow to change struct sizes.
|
|
+
|
|
+endmenu
|
|
diff --git a/Makefile b/Makefile
|
|
index d18fa2a6240d..358f465e4ff5 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -22,6 +22,18 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
|
|
PHONY := __all
|
|
__all:
|
|
|
|
+# Set RHEL variables
|
|
+# Note that this ifdef'ery is required to handle when building with
|
|
+# the O= mechanism (relocate the object file results) due to upstream
|
|
+# commit 67d7c302 which broke our RHEL include file
|
|
+ifneq ($(realpath source),)
|
|
+include $(realpath source)/Makefile.rhelver
|
|
+else
|
|
+ifneq ($(realpath Makefile.rhelver),)
|
|
+include Makefile.rhelver
|
|
+endif
|
|
+endif
|
|
+
|
|
# We are using a recursive build, so we need to do a little thinking
|
|
# to get the ordering right.
|
|
#
|
|
@@ -1247,7 +1259,13 @@ define filechk_version.h
|
|
((c) > 255 ? 255 : (c)))'; \
|
|
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
|
|
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
|
|
- echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
|
|
+ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL); \
|
|
+ echo '#define RHEL_MAJOR $(RHEL_MAJOR)'; \
|
|
+ echo '#define RHEL_MINOR $(RHEL_MINOR)'; \
|
|
+ echo '#define RHEL_RELEASE_VERSION(a,b) (((a) << 8) + (b))'; \
|
|
+ echo '#define RHEL_RELEASE_CODE \
|
|
+ $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \
|
|
+ echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"'
|
|
endef
|
|
|
|
$(version_h): PATCHLEVEL := $(or $(PATCHLEVEL), 0)
|
|
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
|
index 0af6709570d1..54a8093d2dd3 100644
|
|
--- a/arch/arm/Kconfig
|
|
+++ b/arch/arm/Kconfig
|
|
@@ -1221,9 +1221,9 @@ config HIGHMEM
|
|
If unsure, say n.
|
|
|
|
config HIGHPTE
|
|
- bool "Allocate 2nd-level pagetables from highmem" if EXPERT
|
|
+ bool "Allocate 2nd-level pagetables from highmem"
|
|
depends on HIGHMEM
|
|
- default y
|
|
+ default n
|
|
help
|
|
The VM uses one page of physical memory for each page table.
|
|
For systems with a lot of processes, this can use a lot of
|
|
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|
|
index aa7c1d435139..9d3053d2d256 100644
|
|
--- a/arch/arm64/Kconfig
|
|
+++ b/arch/arm64/Kconfig
|
|
@@ -1328,7 +1328,7 @@ endchoice
|
|
|
|
config ARM64_FORCE_52BIT
|
|
bool "Force 52-bit virtual addresses for userspace"
|
|
- depends on ARM64_VA_BITS_52 && EXPERT
|
|
+ depends on ARM64_VA_BITS_52
|
|
help
|
|
For systems with 52-bit userspace VAs enabled, the kernel will attempt
|
|
to maintain compatibility with older software by providing 48-bit VAs
|
|
diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h
|
|
index b0d00032479d..afb9544fb007 100644
|
|
--- a/arch/s390/include/asm/ipl.h
|
|
+++ b/arch/s390/include/asm/ipl.h
|
|
@@ -139,6 +139,7 @@ int ipl_report_add_component(struct ipl_report *report, struct kexec_buf *kbuf,
|
|
unsigned char flags, unsigned short cert);
|
|
int ipl_report_add_certificate(struct ipl_report *report, void *key,
|
|
unsigned long addr, unsigned long len);
|
|
+bool ipl_get_secureboot(void);
|
|
|
|
/*
|
|
* DIAG 308 support
|
|
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
|
|
index ba75f6bee774..7d37ce1772f1 100644
|
|
--- a/arch/s390/kernel/ipl.c
|
|
+++ b/arch/s390/kernel/ipl.c
|
|
@@ -2520,3 +2520,8 @@ int ipl_report_free(struct ipl_report *report)
|
|
}
|
|
|
|
#endif
|
|
+
|
|
+bool ipl_get_secureboot(void)
|
|
+{
|
|
+ return !!ipl_secure_flag;
|
|
+}
|
|
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
|
|
index d1f3b56e7afc..eaefd0d7cfff 100644
|
|
--- a/arch/s390/kernel/setup.c
|
|
+++ b/arch/s390/kernel/setup.c
|
|
@@ -49,6 +49,7 @@
|
|
#include <linux/memory.h>
|
|
#include <linux/compat.h>
|
|
#include <linux/start_kernel.h>
|
|
+#include <linux/security.h>
|
|
#include <linux/hugetlb.h>
|
|
#include <linux/kmemleak.h>
|
|
|
|
@@ -891,6 +892,9 @@ void __init setup_arch(char **cmdline_p)
|
|
|
|
log_component_list();
|
|
|
|
+ if (ipl_get_secureboot())
|
|
+ security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX);
|
|
+
|
|
/* Have one command line that is parsed and saved in /proc/cmdline */
|
|
/* boot_command_line has been already set up in early.c */
|
|
*cmdline_p = boot_command_line;
|
|
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
|
index 39792077f65b..a9fb676fd6df 100644
|
|
--- a/arch/x86/kernel/cpu/common.c
|
|
+++ b/arch/x86/kernel/cpu/common.c
|
|
@@ -1550,6 +1550,7 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
|
cpu_detect(c);
|
|
get_cpu_vendor(c);
|
|
get_cpu_cap(c);
|
|
+ get_model_name(c); /* RHEL: get model name for unsupported check */
|
|
setup_force_cpu_cap(X86_FEATURE_CPUID);
|
|
get_cpu_address_sizes(c);
|
|
cpu_parse_early_param();
|
|
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
|
|
index 46d5a8c520ad..36d4567c980b 100644
|
|
--- a/arch/x86/kernel/setup.c
|
|
+++ b/arch/x86/kernel/setup.c
|
|
@@ -21,6 +21,7 @@
|
|
#include <linux/root_dev.h>
|
|
#include <linux/hugetlb.h>
|
|
#include <linux/tboot.h>
|
|
+#include <linux/security.h>
|
|
#include <linux/usb/xhci-dbgp.h>
|
|
#include <linux/static_call.h>
|
|
#include <linux/swiotlb.h>
|
|
@@ -55,6 +56,7 @@
|
|
#include <asm/unwind.h>
|
|
#include <asm/vsyscall.h>
|
|
#include <linux/vmalloc.h>
|
|
+#include <asm/intel-family.h>
|
|
|
|
/*
|
|
* max_low_pfn_mapped: highest directly mapped pfn < 4 GB
|
|
@@ -668,6 +670,79 @@ static void __init early_reserve_memory(void)
|
|
trim_snb_memory();
|
|
}
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+
|
|
+static void rh_check_supported(void)
|
|
+{
|
|
+ bool guest;
|
|
+
|
|
+ guest = (x86_hyper_type != X86_HYPER_NATIVE || boot_cpu_has(X86_FEATURE_HYPERVISOR));
|
|
+
|
|
+ /* RHEL supports single cpu on guests only */
|
|
+ if (((topology_num_threads_per_package() * __max_threads_per_core) == 1) &&
|
|
+ !guest && is_kdump_kernel()) {
|
|
+ pr_crit("Detected single cpu native boot.\n");
|
|
+ pr_crit("Important: In this kernel, single threaded, single CPU 64-bit physical systems are unsupported.");
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * If the RHEL kernel does not support this hardware, the kernel will
|
|
+ * attempt to boot, but no support is provided for this hardware
|
|
+ */
|
|
+ switch (boot_cpu_data.x86_vendor) {
|
|
+ case X86_VENDOR_AMD:
|
|
+ case X86_VENDOR_INTEL:
|
|
+ break;
|
|
+ default:
|
|
+ pr_crit("Detected processor %s %s\n",
|
|
+ boot_cpu_data.x86_vendor_id,
|
|
+ boot_cpu_data.x86_model_id);
|
|
+ break;
|
|
+ }
|
|
+
|
|
+ /*
|
|
+ * Due to the complexity of x86 lapic & ioapic enumeration, and PCI IRQ
|
|
+ * routing, ACPI is required for x86. acpi=off is a valid debug kernel
|
|
+ * parameter, so just print out a loud warning in case something
|
|
+ * goes wrong (which is most of the time).
|
|
+ */
|
|
+ if (acpi_disabled && !guest)
|
|
+ pr_crit("ACPI has been disabled or is not available on this hardware. This may result in a single cpu boot, incorrect PCI IRQ routing, or boot failure.\n");
|
|
+
|
|
+ /*
|
|
+ * x86_64 microarchitecture levels:
|
|
+ * https://en.wikipedia.org/wiki/X86-64#Microarchitecture_levels
|
|
+ *
|
|
+ * RHEL9 has a minimum of the x86_64-v2 microarchitecture
|
|
+ * RHEL10 has a minimum of the x86_64-v3 microarchitecture
|
|
+ */
|
|
+
|
|
+ if (!boot_cpu_has(X86_FEATURE_CX16) || /* CMPXCHG16B */
|
|
+ !boot_cpu_has(X86_FEATURE_LAHF_LM) || /* LAHF-SAHF */
|
|
+ !boot_cpu_has(X86_FEATURE_POPCNT) ||
|
|
+ !boot_cpu_has(X86_FEATURE_XMM3) || /* SSE-3 */
|
|
+ !boot_cpu_has(X86_FEATURE_XMM4_1) || /* SSE4_1 */
|
|
+ !boot_cpu_has(X86_FEATURE_XMM4_2) || /* SSE4_2 */
|
|
+ !boot_cpu_has(X86_FEATURE_SSSE3)) {
|
|
+ mark_hardware_deprecated("x86_64-v1", "%s:%s",
|
|
+ boot_cpu_data.x86_vendor_id, boot_cpu_data.x86_model_id);
|
|
+ } else if (!boot_cpu_has(X86_FEATURE_AVX) ||
|
|
+ !boot_cpu_has(X86_FEATURE_AVX2) ||
|
|
+ !boot_cpu_has(X86_FEATURE_BMI1) ||
|
|
+ !boot_cpu_has(X86_FEATURE_BMI2) ||
|
|
+ !boot_cpu_has(X86_FEATURE_F16C) ||
|
|
+ !boot_cpu_has(X86_FEATURE_FMA) ||
|
|
+ /* LZCNT is not explicitly listed, but appears to be paired with BMI2 */
|
|
+ !boot_cpu_has(X86_FEATURE_MOVBE) ||
|
|
+ !boot_cpu_has(X86_FEATURE_OSXSAVE)) {
|
|
+ mark_hardware_deprecated("x86_64-v2", "%s:%s",
|
|
+ boot_cpu_data.x86_vendor_id, boot_cpu_data.x86_model_id);
|
|
+ }
|
|
+}
|
|
+#else
|
|
+#define rh_check_supported()
|
|
+#endif
|
|
+
|
|
/*
|
|
* Dump out kernel offset information on panic.
|
|
*/
|
|
@@ -901,6 +976,13 @@ void __init setup_arch(char **cmdline_p)
|
|
if (efi_enabled(EFI_BOOT))
|
|
efi_init();
|
|
|
|
+ efi_set_secure_boot(boot_params.secure_boot);
|
|
+
|
|
+#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
|
|
+ if (efi_enabled(EFI_SECURE_BOOT))
|
|
+ security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_INTEGRITY_MAX);
|
|
+#endif
|
|
+
|
|
reserve_ibft_region();
|
|
dmi_setup();
|
|
|
|
@@ -1062,19 +1144,7 @@ void __init setup_arch(char **cmdline_p)
|
|
/* Allocate bigger log buffer */
|
|
setup_log_buf(1);
|
|
|
|
- if (efi_enabled(EFI_BOOT)) {
|
|
- switch (boot_params.secure_boot) {
|
|
- case efi_secureboot_mode_disabled:
|
|
- pr_info("Secure boot disabled\n");
|
|
- break;
|
|
- case efi_secureboot_mode_enabled:
|
|
- pr_info("Secure boot enabled\n");
|
|
- break;
|
|
- default:
|
|
- pr_info("Secure boot could not be determined\n");
|
|
- break;
|
|
- }
|
|
- }
|
|
+ efi_set_secure_boot(boot_params.secure_boot);
|
|
|
|
reserve_initrd();
|
|
|
|
@@ -1186,6 +1256,8 @@ void __init setup_arch(char **cmdline_p)
|
|
efi_apply_memmap_quirks();
|
|
#endif
|
|
|
|
+ rh_check_supported();
|
|
+
|
|
unwind_init();
|
|
}
|
|
|
|
diff --git a/crypto/drbg.c b/crypto/drbg.c
|
|
index 3addce90930c..730b03de596a 100644
|
|
--- a/crypto/drbg.c
|
|
+++ b/crypto/drbg.c
|
|
@@ -1494,13 +1494,14 @@ static int drbg_generate(struct drbg_state *drbg,
|
|
* Wrapper around drbg_generate which can pull arbitrary long strings
|
|
* from the DRBG without hitting the maximum request limitation.
|
|
*
|
|
- * Parameters: see drbg_generate
|
|
+ * Parameters: see drbg_generate, except @reseed, which triggers reseeding
|
|
* Return codes: see drbg_generate -- if one drbg_generate request fails,
|
|
* the entire drbg_generate_long request fails
|
|
*/
|
|
static int drbg_generate_long(struct drbg_state *drbg,
|
|
unsigned char *buf, unsigned int buflen,
|
|
- struct drbg_string *addtl)
|
|
+ struct drbg_string *addtl,
|
|
+ bool reseed)
|
|
{
|
|
unsigned int len = 0;
|
|
unsigned int slice = 0;
|
|
@@ -1510,6 +1511,8 @@ static int drbg_generate_long(struct drbg_state *drbg,
|
|
slice = ((buflen - len) / drbg_max_request_bytes(drbg));
|
|
chunk = slice ? drbg_max_request_bytes(drbg) : (buflen - len);
|
|
mutex_lock(&drbg->drbg_mutex);
|
|
+ if (reseed)
|
|
+ drbg->seeded = DRBG_SEED_STATE_UNSEEDED;
|
|
err = drbg_generate(drbg, buf + len, chunk, addtl);
|
|
mutex_unlock(&drbg->drbg_mutex);
|
|
if (0 > err)
|
|
@@ -1936,6 +1939,7 @@ static int drbg_kcapi_random(struct crypto_rng *tfm,
|
|
struct drbg_state *drbg = crypto_rng_ctx(tfm);
|
|
struct drbg_string *addtl = NULL;
|
|
struct drbg_string string;
|
|
+ int err;
|
|
|
|
if (slen) {
|
|
/* linked list variable is now local to allow modification */
|
|
@@ -1943,7 +1947,15 @@ static int drbg_kcapi_random(struct crypto_rng *tfm,
|
|
addtl = &string;
|
|
}
|
|
|
|
- return drbg_generate_long(drbg, dst, dlen, addtl);
|
|
+ err = drbg_generate_long(drbg, dst, dlen, addtl,
|
|
+ (crypto_tfm_get_flags(crypto_rng_tfm(tfm)) &
|
|
+ CRYPTO_TFM_REQ_NEED_RESEED) ==
|
|
+ CRYPTO_TFM_REQ_NEED_RESEED);
|
|
+
|
|
+ crypto_tfm_clear_flags(crypto_rng_tfm(tfm),
|
|
+ CRYPTO_TFM_REQ_NEED_RESEED);
|
|
+
|
|
+ return err;
|
|
}
|
|
|
|
/*
|
|
diff --git a/crypto/rng.c b/crypto/rng.c
|
|
index 279dffdebf59..d24dd37205cd 100644
|
|
--- a/crypto/rng.c
|
|
+++ b/crypto/rng.c
|
|
@@ -12,10 +12,13 @@
|
|
#include <linux/atomic.h>
|
|
#include <linux/cryptouser.h>
|
|
#include <linux/err.h>
|
|
+#include <linux/fips.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/module.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/random.h>
|
|
+#include <linux/sched.h>
|
|
+#include <linux/sched/signal.h>
|
|
#include <linux/seq_file.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/string.h>
|
|
@@ -23,7 +26,9 @@
|
|
|
|
#include "internal.h"
|
|
|
|
-static DEFINE_MUTEX(crypto_default_rng_lock);
|
|
+static ____cacheline_aligned_in_smp DEFINE_MUTEX(crypto_reseed_rng_lock);
|
|
+static struct crypto_rng *crypto_reseed_rng;
|
|
+static ____cacheline_aligned_in_smp DEFINE_MUTEX(crypto_default_rng_lock);
|
|
struct crypto_rng *crypto_default_rng;
|
|
EXPORT_SYMBOL_GPL(crypto_default_rng);
|
|
static int crypto_default_rng_refcnt;
|
|
@@ -136,31 +141,37 @@ struct crypto_rng *crypto_alloc_rng(const char *alg_name, u32 type, u32 mask)
|
|
}
|
|
EXPORT_SYMBOL_GPL(crypto_alloc_rng);
|
|
|
|
-int crypto_get_default_rng(void)
|
|
+static int crypto_get_rng(struct crypto_rng **rngp)
|
|
{
|
|
struct crypto_rng *rng;
|
|
int err;
|
|
|
|
- mutex_lock(&crypto_default_rng_lock);
|
|
- if (!crypto_default_rng) {
|
|
+ if (!*rngp) {
|
|
rng = crypto_alloc_rng("stdrng", 0, 0);
|
|
err = PTR_ERR(rng);
|
|
if (IS_ERR(rng))
|
|
- goto unlock;
|
|
+ return err;
|
|
|
|
err = crypto_rng_reset(rng, NULL, crypto_rng_seedsize(rng));
|
|
if (err) {
|
|
crypto_free_rng(rng);
|
|
- goto unlock;
|
|
+ return err;
|
|
}
|
|
|
|
- crypto_default_rng = rng;
|
|
+ *rngp = rng;
|
|
}
|
|
|
|
- crypto_default_rng_refcnt++;
|
|
- err = 0;
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int crypto_get_default_rng(void)
|
|
+{
|
|
+ int err;
|
|
|
|
-unlock:
|
|
+ mutex_lock(&crypto_default_rng_lock);
|
|
+ err = crypto_get_rng(&crypto_default_rng);
|
|
+ if (!err)
|
|
+ crypto_default_rng_refcnt++;
|
|
mutex_unlock(&crypto_default_rng_lock);
|
|
|
|
return err;
|
|
@@ -176,24 +187,33 @@ void crypto_put_default_rng(void)
|
|
EXPORT_SYMBOL_GPL(crypto_put_default_rng);
|
|
|
|
#if defined(CONFIG_CRYPTO_RNG) || defined(CONFIG_CRYPTO_RNG_MODULE)
|
|
-int crypto_del_default_rng(void)
|
|
+static int crypto_del_rng(struct crypto_rng **rngp, int *refcntp,
|
|
+ struct mutex *lock)
|
|
{
|
|
int err = -EBUSY;
|
|
|
|
- mutex_lock(&crypto_default_rng_lock);
|
|
- if (crypto_default_rng_refcnt)
|
|
+ mutex_lock(lock);
|
|
+ if (refcntp && *refcntp)
|
|
goto out;
|
|
|
|
- crypto_free_rng(crypto_default_rng);
|
|
- crypto_default_rng = NULL;
|
|
+ crypto_free_rng(*rngp);
|
|
+ *rngp = NULL;
|
|
|
|
err = 0;
|
|
|
|
out:
|
|
- mutex_unlock(&crypto_default_rng_lock);
|
|
+ mutex_unlock(lock);
|
|
|
|
return err;
|
|
}
|
|
+
|
|
+int crypto_del_default_rng(void)
|
|
+{
|
|
+ return crypto_del_rng(&crypto_default_rng, &crypto_default_rng_refcnt,
|
|
+ &crypto_default_rng_lock) ?:
|
|
+ crypto_del_rng(&crypto_reseed_rng, NULL,
|
|
+ &crypto_reseed_rng_lock);
|
|
+}
|
|
EXPORT_SYMBOL_GPL(crypto_del_default_rng);
|
|
#endif
|
|
|
|
@@ -251,5 +271,102 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count)
|
|
}
|
|
EXPORT_SYMBOL_GPL(crypto_unregister_rngs);
|
|
|
|
+static ssize_t crypto_devrandom_read_iter(struct iov_iter *iter, bool reseed)
|
|
+{
|
|
+ struct crypto_rng *rng;
|
|
+ u8 tmp[256];
|
|
+ ssize_t ret;
|
|
+
|
|
+ if (unlikely(!iov_iter_count(iter)))
|
|
+ return 0;
|
|
+
|
|
+ if (reseed) {
|
|
+ u32 flags = 0;
|
|
+
|
|
+ /* If reseeding is requested, acquire a lock on
|
|
+ * crypto_reseed_rng so it is not swapped out until
|
|
+ * the initial random bytes are generated.
|
|
+ *
|
|
+ * The algorithm implementation is also protected with
|
|
+ * a separate mutex (drbg->drbg_mutex) around the
|
|
+ * reseed-and-generate operation.
|
|
+ */
|
|
+ mutex_lock(&crypto_reseed_rng_lock);
|
|
+
|
|
+ /* If crypto_default_rng is not set, it will be seeded
|
|
+ * at creation in __crypto_get_default_rng and thus no
|
|
+ * reseeding is needed.
|
|
+ */
|
|
+ if (crypto_reseed_rng)
|
|
+ flags |= CRYPTO_TFM_REQ_NEED_RESEED;
|
|
+
|
|
+ ret = crypto_get_rng(&crypto_reseed_rng);
|
|
+ if (ret) {
|
|
+ mutex_unlock(&crypto_reseed_rng_lock);
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ rng = crypto_reseed_rng;
|
|
+ crypto_tfm_set_flags(crypto_rng_tfm(rng), flags);
|
|
+ } else {
|
|
+ ret = crypto_get_default_rng();
|
|
+ if (ret)
|
|
+ return ret;
|
|
+ rng = crypto_default_rng;
|
|
+ }
|
|
+
|
|
+ for (;;) {
|
|
+ size_t i, copied;
|
|
+ int err;
|
|
+
|
|
+ i = min_t(size_t, iov_iter_count(iter), sizeof(tmp));
|
|
+ err = crypto_rng_get_bytes(rng, tmp, i);
|
|
+ if (err) {
|
|
+ ret = err;
|
|
+ break;
|
|
+ }
|
|
+
|
|
+ copied = copy_to_iter(tmp, i, iter);
|
|
+ ret += copied;
|
|
+
|
|
+ if (!iov_iter_count(iter))
|
|
+ break;
|
|
+
|
|
+ if (need_resched()) {
|
|
+ if (signal_pending(current))
|
|
+ break;
|
|
+ schedule();
|
|
+ }
|
|
+ }
|
|
+
|
|
+ if (reseed)
|
|
+ mutex_unlock(&crypto_reseed_rng_lock);
|
|
+ else
|
|
+ crypto_put_default_rng();
|
|
+ memzero_explicit(tmp, sizeof(tmp));
|
|
+
|
|
+ return ret;
|
|
+}
|
|
+
|
|
+static const struct random_extrng crypto_devrandom_rng = {
|
|
+ .extrng_read_iter = crypto_devrandom_read_iter,
|
|
+ .owner = THIS_MODULE,
|
|
+};
|
|
+
|
|
+static int __init crypto_rng_init(void)
|
|
+{
|
|
+ if (fips_enabled)
|
|
+ random_register_extrng(&crypto_devrandom_rng);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static void __exit crypto_rng_exit(void)
|
|
+{
|
|
+ random_unregister_extrng();
|
|
+}
|
|
+
|
|
+late_initcall(crypto_rng_init);
|
|
+module_exit(crypto_rng_exit);
|
|
+
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_DESCRIPTION("Random Number Generator");
|
|
diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c
|
|
index 6aef1ee5e1bd..8f146b1b4972 100644
|
|
--- a/drivers/acpi/apei/hest.c
|
|
+++ b/drivers/acpi/apei/hest.c
|
|
@@ -96,6 +96,14 @@ static int apei_hest_parse(apei_hest_func_t func, void *data)
|
|
if (hest_disable || !hest_tab)
|
|
return -EINVAL;
|
|
|
|
+#ifdef CONFIG_ARM64
|
|
+ /* Ignore broken firmware */
|
|
+ if (!strncmp(hest_tab->header.oem_id, "HPE ", 6) &&
|
|
+ !strncmp(hest_tab->header.oem_table_id, "ProLiant", 8) &&
|
|
+ MIDR_IMPLEMENTOR(read_cpuid_id()) == ARM_CPU_IMP_APM)
|
|
+ return -EINVAL;
|
|
+#endif
|
|
+
|
|
hest_hdr = (struct acpi_hest_header *)(hest_tab + 1);
|
|
for (i = 0; i < hest_tab->error_source_count; i++) {
|
|
len = hest_esrc_len(hest_hdr);
|
|
diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c
|
|
index 1687483ff319..390b67f19181 100644
|
|
--- a/drivers/acpi/irq.c
|
|
+++ b/drivers/acpi/irq.c
|
|
@@ -143,6 +143,7 @@ struct acpi_irq_parse_one_ctx {
|
|
unsigned int index;
|
|
unsigned long *res_flags;
|
|
struct irq_fwspec *fwspec;
|
|
+ bool skip_producer_check;
|
|
};
|
|
|
|
/**
|
|
@@ -216,7 +217,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
|
|
return AE_CTRL_TERMINATE;
|
|
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
|
|
eirq = &ares->data.extended_irq;
|
|
- if (eirq->producer_consumer == ACPI_PRODUCER)
|
|
+ if (!ctx->skip_producer_check &&
|
|
+ eirq->producer_consumer == ACPI_PRODUCER)
|
|
return AE_OK;
|
|
if (ctx->index >= eirq->interrupt_count) {
|
|
ctx->index -= eirq->interrupt_count;
|
|
@@ -252,8 +254,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
|
|
static int acpi_irq_parse_one(acpi_handle handle, unsigned int index,
|
|
struct irq_fwspec *fwspec, unsigned long *flags)
|
|
{
|
|
- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec };
|
|
+ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false };
|
|
|
|
+ /*
|
|
+ * Firmware on arm64-based HPE m400 platform incorrectly marks
|
|
+ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER.
|
|
+ * Don't do the producer/consumer check for that device.
|
|
+ */
|
|
+ if (IS_ENABLED(CONFIG_ARM64)) {
|
|
+ struct acpi_device *adev = acpi_get_acpi_dev(handle);
|
|
+
|
|
+ if (adev && !strcmp(acpi_device_hid(adev), "APMC0D08"))
|
|
+ ctx.skip_producer_check = true;
|
|
+ }
|
|
acpi_walk_resources(handle, METHOD_NAME__CRS, acpi_irq_parse_one_cb, &ctx);
|
|
return ctx.rc;
|
|
}
|
|
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
|
index e6ed1ba91e5c..6a87d6ca4a84 100644
|
|
--- a/drivers/acpi/scan.c
|
|
+++ b/drivers/acpi/scan.c
|
|
@@ -1761,6 +1761,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
|
if (!acpi_match_device_ids(device, ignore_serial_bus_ids))
|
|
return false;
|
|
|
|
+ /*
|
|
+ * Firmware on some arm64 X-Gene platforms will make the UART
|
|
+ * device appear as both a UART and a slave of that UART. Just
|
|
+ * bail out here for X-Gene UARTs.
|
|
+ */
|
|
+ if (IS_ENABLED(CONFIG_ARM64) &&
|
|
+ !strcmp(acpi_device_hid(device), "APMC0D08"))
|
|
+ return false;
|
|
+
|
|
INIT_LIST_HEAD(&resource_list);
|
|
acpi_dev_get_resources(device, &resource_list,
|
|
acpi_check_serial_bus_slave,
|
|
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
|
|
index 1a63200ea437..a911e976a596 100644
|
|
--- a/drivers/ata/libahci.c
|
|
+++ b/drivers/ata/libahci.c
|
|
@@ -729,6 +729,24 @@ int ahci_stop_engine(struct ata_port *ap)
|
|
tmp &= ~PORT_CMD_START;
|
|
writel(tmp, port_mmio + PORT_CMD);
|
|
|
|
+#ifdef CONFIG_ARM64
|
|
+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */
|
|
+ if (dev_is_pci(ap->host->dev) &&
|
|
+ to_pci_dev(ap->host->dev)->vendor == 0x14e4 &&
|
|
+ to_pci_dev(ap->host->dev)->device == 0x9027 &&
|
|
+ midr_is_cpu_model_range(read_cpuid_id(),
|
|
+ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN),
|
|
+ MIDR_CPU_VAR_REV(0, 0),
|
|
+ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {
|
|
+ tmp = readl(hpriv->mmio + 0x8000);
|
|
+ udelay(100);
|
|
+ writel(tmp | (1 << 26), hpriv->mmio + 0x8000);
|
|
+ udelay(100);
|
|
+ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000);
|
|
+ dev_warn(ap->host->dev, "CN99XX SATA reset workaround applied\n");
|
|
+ }
|
|
+#endif
|
|
+
|
|
/* wait for engine to stop. This could be as long as 500 msec */
|
|
tmp = ata_wait_register(ap, port_mmio + PORT_CMD,
|
|
PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500);
|
|
diff --git a/drivers/char/ipmi/ipmi_dmi.c b/drivers/char/ipmi/ipmi_dmi.c
|
|
index bbf7029e224b..cf7faa970dd6 100644
|
|
--- a/drivers/char/ipmi/ipmi_dmi.c
|
|
+++ b/drivers/char/ipmi/ipmi_dmi.c
|
|
@@ -215,6 +215,21 @@ static int __init scan_for_dmi_ipmi(void)
|
|
{
|
|
const struct dmi_device *dev = NULL;
|
|
|
|
+#ifdef CONFIG_ARM64
|
|
+ /* RHEL-only
|
|
+ * If this is ARM-based HPE m400, return now, because that platform
|
|
+ * reports the host-side ipmi address as intel port-io space, which
|
|
+ * does not exist in the ARM architecture.
|
|
+ */
|
|
+ const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME);
|
|
+
|
|
+ if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) {
|
|
+ pr_debug("%s does not support host ipmi\n", dmistr);
|
|
+ return 0;
|
|
+ }
|
|
+ /* END RHEL-only */
|
|
+#endif
|
|
+
|
|
while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev)))
|
|
dmi_decode_ipmi((const struct dmi_header *) dev->device_data);
|
|
|
|
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
|
|
index b0eedc4595b3..a9024c1dd68a 100644
|
|
--- a/drivers/char/ipmi/ipmi_msghandler.c
|
|
+++ b/drivers/char/ipmi/ipmi_msghandler.c
|
|
@@ -35,6 +35,7 @@
|
|
#include <linux/uuid.h>
|
|
#include <linux/nospec.h>
|
|
#include <linux/vmalloc.h>
|
|
+#include <linux/dmi.h>
|
|
#include <linux/delay.h>
|
|
|
|
#define IPMI_DRIVER_VERSION "39.2"
|
|
@@ -5511,8 +5512,21 @@ static int __init ipmi_init_msghandler_mod(void)
|
|
{
|
|
int rv;
|
|
|
|
- pr_info("version " IPMI_DRIVER_VERSION "\n");
|
|
+#ifdef CONFIG_ARM64
|
|
+ /* RHEL-only
|
|
+ * If this is ARM-based HPE m400, return now, because that platform
|
|
+ * reports the host-side ipmi address as intel port-io space, which
|
|
+ * does not exist in the ARM architecture.
|
|
+ */
|
|
+ const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME);
|
|
|
|
+ if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) {
|
|
+ pr_debug("%s does not support host ipmi\n", dmistr);
|
|
+ return -ENOSYS;
|
|
+ }
|
|
+ /* END RHEL-only */
|
|
+#endif
|
|
+ pr_info("version " IPMI_DRIVER_VERSION "\n");
|
|
mutex_lock(&ipmi_interfaces_mutex);
|
|
rv = ipmi_register_driver();
|
|
mutex_unlock(&ipmi_interfaces_mutex);
|
|
diff --git a/drivers/char/random.c b/drivers/char/random.c
|
|
index 456be28ba67c..be318d417622 100644
|
|
--- a/drivers/char/random.c
|
|
+++ b/drivers/char/random.c
|
|
@@ -51,6 +51,7 @@
|
|
#include <linux/completion.h>
|
|
#include <linux/uuid.h>
|
|
#include <linux/uaccess.h>
|
|
+#include <linux/rcupdate.h>
|
|
#include <linux/suspend.h>
|
|
#include <linux/siphash.h>
|
|
#include <linux/sched/isolation.h>
|
|
@@ -309,6 +310,11 @@ static void crng_fast_key_erasure(u8 key[CHACHA_KEY_SIZE],
|
|
memzero_explicit(first_block, sizeof(first_block));
|
|
}
|
|
|
|
+/*
|
|
+ * Hook for external RNG.
|
|
+ */
|
|
+static const struct random_extrng __rcu *extrng;
|
|
+
|
|
/*
|
|
* This function returns a ChaCha state that you may use for generating
|
|
* random data. It also returns up to 32 bytes on its own of random data
|
|
@@ -739,6 +745,9 @@ static void __cold _credit_init_bits(size_t bits)
|
|
}
|
|
|
|
|
|
+static const struct file_operations extrng_random_fops;
|
|
+static const struct file_operations extrng_urandom_fops;
|
|
+
|
|
/**********************************************************************
|
|
*
|
|
* Entropy collection routines.
|
|
@@ -956,6 +965,19 @@ void __init add_bootloader_randomness(const void *buf, size_t len)
|
|
credit_init_bits(len * 8);
|
|
}
|
|
|
|
+void random_register_extrng(const struct random_extrng *rng)
|
|
+{
|
|
+ rcu_assign_pointer(extrng, rng);
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(random_register_extrng);
|
|
+
|
|
+void random_unregister_extrng(void)
|
|
+{
|
|
+ RCU_INIT_POINTER(extrng, NULL);
|
|
+ synchronize_rcu();
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(random_unregister_extrng);
|
|
+
|
|
#if IS_ENABLED(CONFIG_VMGENID)
|
|
static BLOCKING_NOTIFIER_HEAD(vmfork_chain);
|
|
|
|
@@ -1365,6 +1387,7 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags
|
|
{
|
|
struct iov_iter iter;
|
|
int ret;
|
|
+ const struct random_extrng *rng;
|
|
|
|
if (flags & ~(GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE))
|
|
return -EINVAL;
|
|
@@ -1376,6 +1399,21 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags
|
|
if ((flags & (GRND_INSECURE | GRND_RANDOM)) == (GRND_INSECURE | GRND_RANDOM))
|
|
return -EINVAL;
|
|
|
|
+ rcu_read_lock();
|
|
+ rng = rcu_dereference(extrng);
|
|
+ if (rng && !try_module_get(rng->owner))
|
|
+ rng = NULL;
|
|
+ rcu_read_unlock();
|
|
+
|
|
+ if (rng) {
|
|
+ ret = import_ubuf(ITER_DEST, ubuf, len, &iter);
|
|
+ if (unlikely(ret))
|
|
+ return ret;
|
|
+ ret = rng->extrng_read_iter(&iter, !!(flags & GRND_RANDOM));
|
|
+ module_put(rng->owner);
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
if (!crng_ready() && !(flags & GRND_INSECURE)) {
|
|
if (flags & GRND_NONBLOCK)
|
|
return -EAGAIN;
|
|
@@ -1396,6 +1434,12 @@ static __poll_t random_poll(struct file *file, poll_table *wait)
|
|
return crng_ready() ? EPOLLIN | EPOLLRDNORM : EPOLLOUT | EPOLLWRNORM;
|
|
}
|
|
|
|
+static __poll_t extrng_poll(struct file *file, poll_table * wait)
|
|
+{
|
|
+ /* extrng pool is always full, always read, no writes */
|
|
+ return EPOLLIN | EPOLLRDNORM;
|
|
+}
|
|
+
|
|
static ssize_t write_pool_user(struct iov_iter *iter)
|
|
{
|
|
u8 block[BLAKE2S_BLOCK_SIZE];
|
|
@@ -1536,7 +1580,58 @@ static int random_fasync(int fd, struct file *filp, int on)
|
|
return fasync_helper(fd, filp, on, &fasync);
|
|
}
|
|
|
|
+static int random_open(struct inode *inode, struct file *filp)
|
|
+{
|
|
+ const struct random_extrng *rng;
|
|
+
|
|
+ rcu_read_lock();
|
|
+ rng = rcu_dereference(extrng);
|
|
+ if (rng && !try_module_get(rng->owner))
|
|
+ rng = NULL;
|
|
+ rcu_read_unlock();
|
|
+
|
|
+ if (!rng)
|
|
+ return 0;
|
|
+
|
|
+ filp->f_op = &extrng_random_fops;
|
|
+ filp->private_data = rng->owner;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int urandom_open(struct inode *inode, struct file *filp)
|
|
+{
|
|
+ const struct random_extrng *rng;
|
|
+
|
|
+ rcu_read_lock();
|
|
+ rng = rcu_dereference(extrng);
|
|
+ if (rng && !try_module_get(rng->owner))
|
|
+ rng = NULL;
|
|
+ rcu_read_unlock();
|
|
+
|
|
+ if (!rng)
|
|
+ return 0;
|
|
+
|
|
+ filp->f_op = &extrng_urandom_fops;
|
|
+ filp->private_data = rng->owner;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static int extrng_release(struct inode *inode, struct file *filp)
|
|
+{
|
|
+ module_put(filp->private_data);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static ssize_t
|
|
+extrng_read_iter(struct kiocb *kiocb, struct iov_iter *iter)
|
|
+{
|
|
+ return rcu_dereference_raw(extrng)->extrng_read_iter(iter, false);
|
|
+}
|
|
+
|
|
const struct file_operations random_fops = {
|
|
+ .open = random_open,
|
|
.read_iter = random_read_iter,
|
|
.write_iter = random_write_iter,
|
|
.poll = random_poll,
|
|
@@ -1549,6 +1644,7 @@ const struct file_operations random_fops = {
|
|
};
|
|
|
|
const struct file_operations urandom_fops = {
|
|
+ .open = urandom_open,
|
|
.read_iter = urandom_read_iter,
|
|
.write_iter = random_write_iter,
|
|
.unlocked_ioctl = random_ioctl,
|
|
@@ -1559,6 +1655,32 @@ const struct file_operations urandom_fops = {
|
|
.splice_write = iter_file_splice_write,
|
|
};
|
|
|
|
+static const struct file_operations extrng_random_fops = {
|
|
+ .open = random_open,
|
|
+ .read_iter = extrng_read_iter,
|
|
+ .write_iter = random_write_iter,
|
|
+ .poll = extrng_poll,
|
|
+ .unlocked_ioctl = random_ioctl,
|
|
+ .compat_ioctl = compat_ptr_ioctl,
|
|
+ .fasync = random_fasync,
|
|
+ .llseek = noop_llseek,
|
|
+ .release = extrng_release,
|
|
+ .splice_read = copy_splice_read,
|
|
+ .splice_write = iter_file_splice_write,
|
|
+};
|
|
+
|
|
+static const struct file_operations extrng_urandom_fops = {
|
|
+ .open = urandom_open,
|
|
+ .read_iter = extrng_read_iter,
|
|
+ .write_iter = random_write_iter,
|
|
+ .unlocked_ioctl = random_ioctl,
|
|
+ .compat_ioctl = compat_ptr_ioctl,
|
|
+ .fasync = random_fasync,
|
|
+ .llseek = noop_llseek,
|
|
+ .release = extrng_release,
|
|
+ .splice_read = copy_splice_read,
|
|
+ .splice_write = iter_file_splice_write,
|
|
+};
|
|
|
|
/********************************************************************
|
|
*
|
|
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
|
|
index a2d0009560d0..4f3486e6a84b 100644
|
|
--- a/drivers/firmware/efi/Makefile
|
|
+++ b/drivers/firmware/efi/Makefile
|
|
@@ -25,6 +25,7 @@ subdir-$(CONFIG_EFI_STUB) += libstub
|
|
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
|
|
obj-$(CONFIG_EFI_TEST) += test/
|
|
obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
|
|
+obj-$(CONFIG_EFI) += secureboot.o
|
|
obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o
|
|
obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o
|
|
obj-$(CONFIG_EFI_EMBEDDED_FIRMWARE) += embedded-firmware.o
|
|
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
|
index 4fcda50acfa4..bbbcff15f587 100644
|
|
--- a/drivers/firmware/efi/efi.c
|
|
+++ b/drivers/firmware/efi/efi.c
|
|
@@ -33,6 +33,7 @@
|
|
#include <linux/memblock.h>
|
|
#include <linux/security.h>
|
|
#include <linux/notifier.h>
|
|
+#include <linux/bsearch.h>
|
|
|
|
#include <asm/early_ioremap.h>
|
|
|
|
@@ -990,40 +991,101 @@ int efi_mem_type(unsigned long phys_addr)
|
|
return -EINVAL;
|
|
}
|
|
|
|
+struct efi_error_code {
|
|
+ efi_status_t status;
|
|
+ int errno;
|
|
+ const char *description;
|
|
+};
|
|
+
|
|
+static const struct efi_error_code efi_error_codes[] = {
|
|
+ { EFI_SUCCESS, 0, "Success"},
|
|
+#if 0
|
|
+ { EFI_LOAD_ERROR, -EPICK_AN_ERRNO, "Load Error"},
|
|
+#endif
|
|
+ { EFI_INVALID_PARAMETER, -EINVAL, "Invalid Parameter"},
|
|
+ { EFI_UNSUPPORTED, -ENOSYS, "Unsupported"},
|
|
+ { EFI_BAD_BUFFER_SIZE, -ENOSPC, "Bad Buffer Size"},
|
|
+ { EFI_BUFFER_TOO_SMALL, -ENOSPC, "Buffer Too Small"},
|
|
+ { EFI_NOT_READY, -EAGAIN, "Not Ready"},
|
|
+ { EFI_DEVICE_ERROR, -EIO, "Device Error"},
|
|
+ { EFI_WRITE_PROTECTED, -EROFS, "Write Protected"},
|
|
+ { EFI_OUT_OF_RESOURCES, -ENOMEM, "Out of Resources"},
|
|
+#if 0
|
|
+ { EFI_VOLUME_CORRUPTED, -EPICK_AN_ERRNO, "Volume Corrupt"},
|
|
+ { EFI_VOLUME_FULL, -EPICK_AN_ERRNO, "Volume Full"},
|
|
+ { EFI_NO_MEDIA, -EPICK_AN_ERRNO, "No Media"},
|
|
+ { EFI_MEDIA_CHANGED, -EPICK_AN_ERRNO, "Media changed"},
|
|
+#endif
|
|
+ { EFI_NOT_FOUND, -ENOENT, "Not Found"},
|
|
+#if 0
|
|
+ { EFI_ACCESS_DENIED, -EPICK_AN_ERRNO, "Access Denied"},
|
|
+ { EFI_NO_RESPONSE, -EPICK_AN_ERRNO, "No Response"},
|
|
+ { EFI_NO_MAPPING, -EPICK_AN_ERRNO, "No mapping"},
|
|
+ { EFI_TIMEOUT, -EPICK_AN_ERRNO, "Time out"},
|
|
+ { EFI_NOT_STARTED, -EPICK_AN_ERRNO, "Not started"},
|
|
+ { EFI_ALREADY_STARTED, -EPICK_AN_ERRNO, "Already started"},
|
|
+#endif
|
|
+ { EFI_ABORTED, -EINTR, "Aborted"},
|
|
+#if 0
|
|
+ { EFI_ICMP_ERROR, -EPICK_AN_ERRNO, "ICMP Error"},
|
|
+ { EFI_TFTP_ERROR, -EPICK_AN_ERRNO, "TFTP Error"},
|
|
+ { EFI_PROTOCOL_ERROR, -EPICK_AN_ERRNO, "Protocol Error"},
|
|
+ { EFI_INCOMPATIBLE_VERSION, -EPICK_AN_ERRNO, "Incompatible Version"},
|
|
+#endif
|
|
+ { EFI_SECURITY_VIOLATION, -EACCES, "Security Policy Violation"},
|
|
+#if 0
|
|
+ { EFI_CRC_ERROR, -EPICK_AN_ERRNO, "CRC Error"},
|
|
+ { EFI_END_OF_MEDIA, -EPICK_AN_ERRNO, "End of Media"},
|
|
+ { EFI_END_OF_FILE, -EPICK_AN_ERRNO, "End of File"},
|
|
+ { EFI_INVALID_LANGUAGE, -EPICK_AN_ERRNO, "Invalid Languages"},
|
|
+ { EFI_COMPROMISED_DATA, -EPICK_AN_ERRNO, "Compromised Data"},
|
|
+
|
|
+ // warnings
|
|
+ { EFI_WARN_UNKOWN_GLYPH, -EPICK_AN_ERRNO, "Warning Unknown Glyph"},
|
|
+ { EFI_WARN_DELETE_FAILURE, -EPICK_AN_ERRNO, "Warning Delete Failure"},
|
|
+ { EFI_WARN_WRITE_FAILURE, -EPICK_AN_ERRNO, "Warning Write Failure"},
|
|
+ { EFI_WARN_BUFFER_TOO_SMALL, -EPICK_AN_ERRNO, "Warning Buffer Too Small"},
|
|
+#endif
|
|
+};
|
|
+
|
|
+static int
|
|
+efi_status_cmp_bsearch(const void *key, const void *item)
|
|
+{
|
|
+ u64 status = (u64)(uintptr_t)key;
|
|
+ struct efi_error_code *code = (struct efi_error_code *)item;
|
|
+
|
|
+ if (status < code->status)
|
|
+ return -1;
|
|
+ if (status > code->status)
|
|
+ return 1;
|
|
+ return 0;
|
|
+}
|
|
+
|
|
int efi_status_to_err(efi_status_t status)
|
|
{
|
|
- int err;
|
|
-
|
|
- switch (status) {
|
|
- case EFI_SUCCESS:
|
|
- err = 0;
|
|
- break;
|
|
- case EFI_INVALID_PARAMETER:
|
|
- err = -EINVAL;
|
|
- break;
|
|
- case EFI_OUT_OF_RESOURCES:
|
|
- err = -ENOSPC;
|
|
- break;
|
|
- case EFI_DEVICE_ERROR:
|
|
- err = -EIO;
|
|
- break;
|
|
- case EFI_WRITE_PROTECTED:
|
|
- err = -EROFS;
|
|
- break;
|
|
- case EFI_SECURITY_VIOLATION:
|
|
- err = -EACCES;
|
|
- break;
|
|
- case EFI_NOT_FOUND:
|
|
- err = -ENOENT;
|
|
- break;
|
|
- case EFI_ABORTED:
|
|
- err = -EINTR;
|
|
- break;
|
|
- default:
|
|
- err = -EINVAL;
|
|
- }
|
|
+ struct efi_error_code *found;
|
|
+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
|
|
|
|
- return err;
|
|
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes,
|
|
+ sizeof(struct efi_error_code), num,
|
|
+ efi_status_cmp_bsearch);
|
|
+ if (!found)
|
|
+ return -EINVAL;
|
|
+ return found->errno;
|
|
+}
|
|
+
|
|
+const char *
|
|
+efi_status_to_str(efi_status_t status)
|
|
+{
|
|
+ struct efi_error_code *found;
|
|
+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
|
|
+
|
|
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes,
|
|
+ sizeof(struct efi_error_code), num,
|
|
+ efi_status_cmp_bsearch);
|
|
+ if (!found)
|
|
+ return "Unknown error code";
|
|
+ return found->description;
|
|
}
|
|
EXPORT_SYMBOL_GPL(efi_status_to_err);
|
|
|
|
diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c
|
|
new file mode 100644
|
|
index 000000000000..de0a3714a5d4
|
|
--- /dev/null
|
|
+++ b/drivers/firmware/efi/secureboot.c
|
|
@@ -0,0 +1,38 @@
|
|
+/* Core kernel secure boot support.
|
|
+ *
|
|
+ * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved.
|
|
+ * Written by David Howells (dhowells@redhat.com)
|
|
+ *
|
|
+ * This program is free software; you can redistribute it and/or
|
|
+ * modify it under the terms of the GNU General Public Licence
|
|
+ * as published by the Free Software Foundation; either version
|
|
+ * 2 of the Licence, or (at your option) any later version.
|
|
+ */
|
|
+
|
|
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
+
|
|
+#include <linux/efi.h>
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/printk.h>
|
|
+
|
|
+/*
|
|
+ * Decide what to do when UEFI secure boot mode is enabled.
|
|
+ */
|
|
+void __init efi_set_secure_boot(enum efi_secureboot_mode mode)
|
|
+{
|
|
+ if (efi_enabled(EFI_BOOT)) {
|
|
+ switch (mode) {
|
|
+ case efi_secureboot_mode_disabled:
|
|
+ pr_info("Secure boot disabled\n");
|
|
+ break;
|
|
+ case efi_secureboot_mode_enabled:
|
|
+ set_bit(EFI_SECURE_BOOT, &efi.flags);
|
|
+ pr_info("Secure boot enabled\n");
|
|
+ break;
|
|
+ default:
|
|
+ pr_warn("Secure boot could not be determined (mode %u)\n",
|
|
+ mode);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+}
|
|
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
|
|
index d4af17fdba46..154f0403cbf4 100644
|
|
--- a/drivers/hid/hid-rmi.c
|
|
+++ b/drivers/hid/hid-rmi.c
|
|
@@ -321,21 +321,12 @@ static int rmi_input_event(struct hid_device *hdev, u8 *data, int size)
|
|
{
|
|
struct rmi_data *hdata = hid_get_drvdata(hdev);
|
|
struct rmi_device *rmi_dev = hdata->xport.rmi_dev;
|
|
- unsigned long flags;
|
|
|
|
if (!(test_bit(RMI_STARTED, &hdata->flags)))
|
|
return 0;
|
|
|
|
- pm_wakeup_event(hdev->dev.parent, 0);
|
|
-
|
|
- local_irq_save(flags);
|
|
-
|
|
rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2);
|
|
|
|
- generic_handle_irq(hdata->rmi_irq);
|
|
-
|
|
- local_irq_restore(flags);
|
|
-
|
|
return 1;
|
|
}
|
|
|
|
@@ -589,56 +580,6 @@ static const struct rmi_transport_ops hid_rmi_ops = {
|
|
.reset = rmi_hid_reset,
|
|
};
|
|
|
|
-static void rmi_irq_teardown(void *data)
|
|
-{
|
|
- struct rmi_data *hdata = data;
|
|
- struct irq_domain *domain = hdata->domain;
|
|
-
|
|
- if (!domain)
|
|
- return;
|
|
-
|
|
- irq_dispose_mapping(irq_find_mapping(domain, 0));
|
|
-
|
|
- irq_domain_remove(domain);
|
|
- hdata->domain = NULL;
|
|
- hdata->rmi_irq = 0;
|
|
-}
|
|
-
|
|
-static int rmi_irq_map(struct irq_domain *h, unsigned int virq,
|
|
- irq_hw_number_t hw_irq_num)
|
|
-{
|
|
- irq_set_chip_and_handler(virq, &dummy_irq_chip, handle_simple_irq);
|
|
-
|
|
- return 0;
|
|
-}
|
|
-
|
|
-static const struct irq_domain_ops rmi_irq_ops = {
|
|
- .map = rmi_irq_map,
|
|
-};
|
|
-
|
|
-static int rmi_setup_irq_domain(struct hid_device *hdev)
|
|
-{
|
|
- struct rmi_data *hdata = hid_get_drvdata(hdev);
|
|
- int ret;
|
|
-
|
|
- hdata->domain = irq_domain_create_linear(hdev->dev.fwnode, 1,
|
|
- &rmi_irq_ops, hdata);
|
|
- if (!hdata->domain)
|
|
- return -ENOMEM;
|
|
-
|
|
- ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata);
|
|
- if (ret)
|
|
- return ret;
|
|
-
|
|
- hdata->rmi_irq = irq_create_mapping(hdata->domain, 0);
|
|
- if (hdata->rmi_irq <= 0) {
|
|
- hid_err(hdev, "Can't allocate an IRQ\n");
|
|
- return hdata->rmi_irq < 0 ? hdata->rmi_irq : -ENXIO;
|
|
- }
|
|
-
|
|
- return 0;
|
|
-}
|
|
-
|
|
static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
|
|
{
|
|
struct rmi_data *data = NULL;
|
|
@@ -711,18 +652,11 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id)
|
|
|
|
mutex_init(&data->page_mutex);
|
|
|
|
- ret = rmi_setup_irq_domain(hdev);
|
|
- if (ret) {
|
|
- hid_err(hdev, "failed to allocate IRQ domain\n");
|
|
- return ret;
|
|
- }
|
|
-
|
|
if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS)
|
|
rmi_hid_pdata.gpio_data.disable = true;
|
|
|
|
data->xport.dev = hdev->dev.parent;
|
|
data->xport.pdata = rmi_hid_pdata;
|
|
- data->xport.pdata.irq = data->rmi_irq;
|
|
data->xport.proto_name = "hid";
|
|
data->xport.ops = &hid_rmi_ops;
|
|
|
|
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
|
index ce1995a2827f..57f9e9de4747 100644
|
|
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
|
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
|
|
@@ -10,6 +10,7 @@
|
|
#include <linux/init.h>
|
|
#include <linux/types.h>
|
|
#include <linux/device.h>
|
|
+#include <linux/dmi.h>
|
|
#include <linux/io.h>
|
|
#include <linux/err.h>
|
|
#include <linux/fs.h>
|
|
@@ -2343,6 +2344,16 @@ static const struct amba_id etm4_ids[] = {
|
|
{},
|
|
};
|
|
|
|
+static const struct dmi_system_id broken_coresight[] = {
|
|
+ {
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "HPE"),
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "Apollo 70"),
|
|
+ },
|
|
+ },
|
|
+ { } /* terminating entry */
|
|
+};
|
|
+
|
|
MODULE_DEVICE_TABLE(amba, etm4_ids);
|
|
|
|
static struct amba_driver etm4x_amba_driver = {
|
|
@@ -2412,6 +2423,11 @@ static int __init etm4x_init(void)
|
|
{
|
|
int ret;
|
|
|
|
+ if (dmi_check_system(broken_coresight)) {
|
|
+ pr_info("ETM4 disabled due to firmware bug\n");
|
|
+ return 0;
|
|
+ }
|
|
+
|
|
ret = etm4_pm_setup();
|
|
|
|
/* etm4_pm_setup() does its own cleanup - exit on error */
|
|
@@ -2438,6 +2454,9 @@ static int __init etm4x_init(void)
|
|
|
|
static void __exit etm4x_exit(void)
|
|
{
|
|
+ if (dmi_check_system(broken_coresight))
|
|
+ return;
|
|
+
|
|
amba_driver_unregister(&etm4x_amba_driver);
|
|
platform_driver_unregister(&etm4_platform_driver);
|
|
etm4_pm_clear();
|
|
diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c
|
|
index 42eaebb3bf5c..7a35119c3144 100644
|
|
--- a/drivers/input/rmi4/rmi_driver.c
|
|
+++ b/drivers/input/rmi4/rmi_driver.c
|
|
@@ -182,34 +182,47 @@ void rmi_set_attn_data(struct rmi_device *rmi_dev, unsigned long irq_status,
|
|
attn_data.data = fifo_data;
|
|
|
|
kfifo_put(&drvdata->attn_fifo, attn_data);
|
|
+
|
|
+ schedule_work(&drvdata->attn_work);
|
|
}
|
|
EXPORT_SYMBOL_GPL(rmi_set_attn_data);
|
|
|
|
-static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
|
|
+static void attn_callback(struct work_struct *work)
|
|
{
|
|
- struct rmi_device *rmi_dev = dev_id;
|
|
- struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
|
|
+ struct rmi_driver_data *drvdata = container_of(work,
|
|
+ struct rmi_driver_data,
|
|
+ attn_work);
|
|
struct rmi4_attn_data attn_data = {0};
|
|
int ret, count;
|
|
|
|
count = kfifo_get(&drvdata->attn_fifo, &attn_data);
|
|
- if (count) {
|
|
- *(drvdata->irq_status) = attn_data.irq_status;
|
|
- drvdata->attn_data = attn_data;
|
|
- }
|
|
+ if (!count)
|
|
+ return;
|
|
|
|
- ret = rmi_process_interrupt_requests(rmi_dev);
|
|
+ *(drvdata->irq_status) = attn_data.irq_status;
|
|
+ drvdata->attn_data = attn_data;
|
|
+
|
|
+ ret = rmi_process_interrupt_requests(drvdata->rmi_dev);
|
|
if (ret)
|
|
- rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
|
|
+ rmi_dbg(RMI_DEBUG_CORE, &drvdata->rmi_dev->dev,
|
|
"Failed to process interrupt request: %d\n", ret);
|
|
|
|
- if (count) {
|
|
- kfree(attn_data.data);
|
|
- drvdata->attn_data.data = NULL;
|
|
- }
|
|
+ kfree(attn_data.data);
|
|
+ drvdata->attn_data.data = NULL;
|
|
|
|
if (!kfifo_is_empty(&drvdata->attn_fifo))
|
|
- return rmi_irq_fn(irq, dev_id);
|
|
+ schedule_work(&drvdata->attn_work);
|
|
+}
|
|
+
|
|
+static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
|
|
+{
|
|
+ struct rmi_device *rmi_dev = dev_id;
|
|
+ int ret;
|
|
+
|
|
+ ret = rmi_process_interrupt_requests(rmi_dev);
|
|
+ if (ret)
|
|
+ rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev,
|
|
+ "Failed to process interrupt request: %d\n", ret);
|
|
|
|
return IRQ_HANDLED;
|
|
}
|
|
@@ -217,7 +230,6 @@ static irqreturn_t rmi_irq_fn(int irq, void *dev_id)
|
|
static int rmi_irq_init(struct rmi_device *rmi_dev)
|
|
{
|
|
struct rmi_device_platform_data *pdata = rmi_get_platform_data(rmi_dev);
|
|
- struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev);
|
|
int irq_flags = irq_get_trigger_type(pdata->irq);
|
|
int ret;
|
|
|
|
@@ -235,8 +247,6 @@ static int rmi_irq_init(struct rmi_device *rmi_dev)
|
|
return ret;
|
|
}
|
|
|
|
- data->enabled = true;
|
|
-
|
|
return 0;
|
|
}
|
|
|
|
@@ -886,23 +896,27 @@ void rmi_enable_irq(struct rmi_device *rmi_dev, bool clear_wake)
|
|
if (data->enabled)
|
|
goto out;
|
|
|
|
- enable_irq(irq);
|
|
- data->enabled = true;
|
|
- if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) {
|
|
- retval = disable_irq_wake(irq);
|
|
- if (retval)
|
|
- dev_warn(&rmi_dev->dev,
|
|
- "Failed to disable irq for wake: %d\n",
|
|
- retval);
|
|
- }
|
|
+ if (irq) {
|
|
+ enable_irq(irq);
|
|
+ data->enabled = true;
|
|
+ if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) {
|
|
+ retval = disable_irq_wake(irq);
|
|
+ if (retval)
|
|
+ dev_warn(&rmi_dev->dev,
|
|
+ "Failed to disable irq for wake: %d\n",
|
|
+ retval);
|
|
+ }
|
|
|
|
- /*
|
|
- * Call rmi_process_interrupt_requests() after enabling irq,
|
|
- * otherwise we may lose interrupt on edge-triggered systems.
|
|
- */
|
|
- irq_flags = irq_get_trigger_type(pdata->irq);
|
|
- if (irq_flags & IRQ_TYPE_EDGE_BOTH)
|
|
- rmi_process_interrupt_requests(rmi_dev);
|
|
+ /*
|
|
+ * Call rmi_process_interrupt_requests() after enabling irq,
|
|
+ * otherwise we may lose interrupt on edge-triggered systems.
|
|
+ */
|
|
+ irq_flags = irq_get_trigger_type(pdata->irq);
|
|
+ if (irq_flags & IRQ_TYPE_EDGE_BOTH)
|
|
+ rmi_process_interrupt_requests(rmi_dev);
|
|
+ } else {
|
|
+ data->enabled = true;
|
|
+ }
|
|
|
|
out:
|
|
mutex_unlock(&data->enabled_mutex);
|
|
@@ -922,20 +936,22 @@ void rmi_disable_irq(struct rmi_device *rmi_dev, bool enable_wake)
|
|
goto out;
|
|
|
|
data->enabled = false;
|
|
- disable_irq(irq);
|
|
- if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) {
|
|
- retval = enable_irq_wake(irq);
|
|
- if (retval)
|
|
- dev_warn(&rmi_dev->dev,
|
|
- "Failed to enable irq for wake: %d\n",
|
|
- retval);
|
|
- }
|
|
-
|
|
- /* make sure the fifo is clean */
|
|
- while (!kfifo_is_empty(&data->attn_fifo)) {
|
|
- count = kfifo_get(&data->attn_fifo, &attn_data);
|
|
- if (count)
|
|
- kfree(attn_data.data);
|
|
+ if (irq) {
|
|
+ disable_irq(irq);
|
|
+ if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) {
|
|
+ retval = enable_irq_wake(irq);
|
|
+ if (retval)
|
|
+ dev_warn(&rmi_dev->dev,
|
|
+ "Failed to enable irq for wake: %d\n",
|
|
+ retval);
|
|
+ }
|
|
+ } else {
|
|
+ /* make sure the fifo is clean */
|
|
+ while (!kfifo_is_empty(&data->attn_fifo)) {
|
|
+ count = kfifo_get(&data->attn_fifo, &attn_data);
|
|
+ if (count)
|
|
+ kfree(attn_data.data);
|
|
+ }
|
|
}
|
|
|
|
out:
|
|
@@ -978,6 +994,8 @@ static int rmi_driver_remove(struct device *dev)
|
|
|
|
rmi_disable_irq(rmi_dev, false);
|
|
|
|
+ cancel_work_sync(&data->attn_work);
|
|
+
|
|
rmi_f34_remove_sysfs(rmi_dev);
|
|
rmi_free_function_list(rmi_dev);
|
|
|
|
@@ -1219,9 +1237,15 @@ static int rmi_driver_probe(struct device *dev)
|
|
}
|
|
}
|
|
|
|
- retval = rmi_irq_init(rmi_dev);
|
|
- if (retval < 0)
|
|
- goto err_destroy_functions;
|
|
+ if (pdata->irq) {
|
|
+ retval = rmi_irq_init(rmi_dev);
|
|
+ if (retval < 0)
|
|
+ goto err_destroy_functions;
|
|
+ }
|
|
+
|
|
+ data->enabled = true;
|
|
+
|
|
+ INIT_WORK(&data->attn_work, attn_callback);
|
|
|
|
if (data->f01_container->dev.driver) {
|
|
/* Driver already bound, so enable ATTN now. */
|
|
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
|
|
index d14413916f93..ff6cbc3fa509 100644
|
|
--- a/drivers/iommu/iommu.c
|
|
+++ b/drivers/iommu/iommu.c
|
|
@@ -8,6 +8,7 @@
|
|
|
|
#include <linux/amba/bus.h>
|
|
#include <linux/device.h>
|
|
+#include <linux/dmi.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/bits.h>
|
|
#include <linux/bug.h>
|
|
@@ -3095,6 +3096,27 @@ int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features feat)
|
|
}
|
|
EXPORT_SYMBOL_GPL(iommu_dev_disable_feature);
|
|
|
|
+#ifdef CONFIG_ARM64
|
|
+static int __init iommu_quirks(void)
|
|
+{
|
|
+ const char *vendor, *name;
|
|
+
|
|
+ vendor = dmi_get_system_info(DMI_SYS_VENDOR);
|
|
+ name = dmi_get_system_info(DMI_PRODUCT_NAME);
|
|
+
|
|
+ if (vendor &&
|
|
+ (strncmp(vendor, "GIGABYTE", 8) == 0 && name &&
|
|
+ (strncmp(name, "R120", 4) == 0 ||
|
|
+ strncmp(name, "R270", 4) == 0))) {
|
|
+ pr_warn("Gigabyte %s detected, force iommu passthrough mode", name);
|
|
+ iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY;
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+arch_initcall(iommu_quirks);
|
|
+#endif
|
|
+
|
|
/**
|
|
* iommu_setup_default_domain - Set the default_domain for the group
|
|
* @group: Group to change
|
|
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
|
|
index 300f8e955a53..9636f3391891 100644
|
|
--- a/drivers/message/fusion/mptsas.c
|
|
+++ b/drivers/message/fusion/mptsas.c
|
|
@@ -5383,6 +5383,10 @@ static void mptsas_remove(struct pci_dev *pdev)
|
|
}
|
|
|
|
static struct pci_device_id mptsas_pci_table[] = {
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068,
|
|
+ PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
|
+#else
|
|
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068,
|
|
@@ -5395,6 +5399,7 @@ static struct pci_device_id mptsas_pci_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068_820XELP,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
+#endif
|
|
{0} /* Terminating entry */
|
|
};
|
|
MODULE_DEVICE_TABLE(pci, mptsas_pci_table);
|
|
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
|
|
index 6c5920db1e9d..dfbc97b68e6a 100644
|
|
--- a/drivers/message/fusion/mptspi.c
|
|
+++ b/drivers/message/fusion/mptspi.c
|
|
@@ -1238,12 +1238,17 @@ static struct spi_function_template mptspi_transport_functions = {
|
|
*/
|
|
|
|
static struct pci_device_id mptspi_pci_table[] = {
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030,
|
|
+ PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
|
+#else
|
|
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ PCI_VENDOR_ID_ATTO, MPI_MANUFACTPAGE_DEVID_53C1030,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1035,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
+#endif
|
|
{0} /* Terminating entry */
|
|
};
|
|
MODULE_DEVICE_TABLE(pci, mptspi_pci_table);
|
|
@@ -1534,6 +1539,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|
0, 0, 0, 0, 5);
|
|
|
|
scsi_scan_host(sh);
|
|
+
|
|
return 0;
|
|
|
|
out_mptspi_probe:
|
|
diff --git a/drivers/net/wireguard/main.c b/drivers/net/wireguard/main.c
|
|
index ee4da9ab8013..d395d11eadc4 100644
|
|
--- a/drivers/net/wireguard/main.c
|
|
+++ b/drivers/net/wireguard/main.c
|
|
@@ -12,6 +12,7 @@
|
|
|
|
#include <uapi/linux/wireguard.h>
|
|
|
|
+#include <linux/fips.h>
|
|
#include <linux/init.h>
|
|
#include <linux/module.h>
|
|
#include <linux/genetlink.h>
|
|
@@ -21,6 +22,11 @@ static int __init wg_mod_init(void)
|
|
{
|
|
int ret;
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ if (fips_enabled)
|
|
+ return -EOPNOTSUPP;
|
|
+#endif
|
|
+
|
|
ret = wg_allowedips_slab_init();
|
|
if (ret < 0)
|
|
goto err_allowedips;
|
|
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
|
|
index 00864a634470..a9e31f5c20b5 100644
|
|
--- a/drivers/nvme/host/core.c
|
|
+++ b/drivers/nvme/host/core.c
|
|
@@ -261,6 +261,9 @@ void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl)
|
|
|
|
static blk_status_t nvme_error_status(u16 status)
|
|
{
|
|
+ if (unlikely(status & NVME_SC_DNR))
|
|
+ return BLK_STS_TARGET;
|
|
+
|
|
switch (status & 0x7ff) {
|
|
case NVME_SC_SUCCESS:
|
|
return BLK_STS_OK;
|
|
@@ -375,6 +378,7 @@ enum nvme_disposition {
|
|
COMPLETE,
|
|
RETRY,
|
|
FAILOVER,
|
|
+ FAILUP,
|
|
AUTHENTICATE,
|
|
};
|
|
|
|
@@ -386,15 +390,16 @@ static inline enum nvme_disposition nvme_decide_disposition(struct request *req)
|
|
if ((nvme_req(req)->status & 0x7ff) == NVME_SC_AUTH_REQUIRED)
|
|
return AUTHENTICATE;
|
|
|
|
- if (blk_noretry_request(req) ||
|
|
+ if ((req->cmd_flags & (REQ_FAILFAST_DEV | REQ_FAILFAST_DRIVER)) ||
|
|
(nvme_req(req)->status & NVME_SC_DNR) ||
|
|
nvme_req(req)->retries >= nvme_max_retries)
|
|
return COMPLETE;
|
|
|
|
- if (req->cmd_flags & REQ_NVME_MPATH) {
|
|
+ if (req->cmd_flags & (REQ_NVME_MPATH | REQ_FAILFAST_TRANSPORT)) {
|
|
if (nvme_is_path_error(nvme_req(req)->status) ||
|
|
blk_queue_dying(req->q))
|
|
- return FAILOVER;
|
|
+ return (req->cmd_flags & REQ_NVME_MPATH) ?
|
|
+ FAILOVER : FAILUP;
|
|
} else {
|
|
if (blk_queue_dying(req->q))
|
|
return COMPLETE;
|
|
@@ -431,6 +436,14 @@ static inline void nvme_end_req(struct request *req)
|
|
blk_mq_end_request(req, status);
|
|
}
|
|
|
|
+static inline void nvme_failup_req(struct request *req)
|
|
+{
|
|
+ nvme_update_ana(req);
|
|
+
|
|
+ nvme_req(req)->status = NVME_SC_HOST_PATH_ERROR;
|
|
+ nvme_end_req(req);
|
|
+}
|
|
+
|
|
void nvme_complete_rq(struct request *req)
|
|
{
|
|
struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
|
|
@@ -460,6 +473,9 @@ void nvme_complete_rq(struct request *req)
|
|
case FAILOVER:
|
|
nvme_failover_req(req);
|
|
return;
|
|
+ case FAILUP:
|
|
+ nvme_failup_req(req);
|
|
+ return;
|
|
case AUTHENTICATE:
|
|
#ifdef CONFIG_NVME_HOST_AUTH
|
|
queue_work(nvme_wq, &ctrl->dhchap_auth_work);
|
|
diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
|
|
index 5397fb428b24..3df9c79197d0 100644
|
|
--- a/drivers/nvme/host/multipath.c
|
|
+++ b/drivers/nvme/host/multipath.c
|
|
@@ -80,14 +80,10 @@ void nvme_mpath_start_freeze(struct nvme_subsystem *subsys)
|
|
blk_freeze_queue_start(h->disk->queue);
|
|
}
|
|
|
|
-void nvme_failover_req(struct request *req)
|
|
+void nvme_update_ana(struct request *req)
|
|
{
|
|
struct nvme_ns *ns = req->q->queuedata;
|
|
u16 status = nvme_req(req)->status & 0x7ff;
|
|
- unsigned long flags;
|
|
- struct bio *bio;
|
|
-
|
|
- nvme_mpath_clear_current_path(ns);
|
|
|
|
/*
|
|
* If we got back an ANA error, we know the controller is alive but not
|
|
@@ -98,6 +94,16 @@ void nvme_failover_req(struct request *req)
|
|
set_bit(NVME_NS_ANA_PENDING, &ns->flags);
|
|
queue_work(nvme_wq, &ns->ctrl->ana_work);
|
|
}
|
|
+}
|
|
+
|
|
+void nvme_failover_req(struct request *req)
|
|
+{
|
|
+ struct nvme_ns *ns = req->q->queuedata;
|
|
+ unsigned long flags;
|
|
+ struct bio *bio;
|
|
+
|
|
+ nvme_mpath_clear_current_path(ns);
|
|
+ nvme_update_ana(req);
|
|
|
|
spin_lock_irqsave(&ns->head->requeue_lock, flags);
|
|
for (bio = req->bio; bio; bio = bio->bi_next) {
|
|
@@ -914,8 +920,7 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id)
|
|
int error = 0;
|
|
|
|
/* check if multipath is enabled and we have the capability */
|
|
- if (!multipath || !ctrl->subsys ||
|
|
- !(ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA))
|
|
+ if (!ctrl->subsys || !(ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA))
|
|
return 0;
|
|
|
|
if (!ctrl->max_namespaces ||
|
|
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
|
|
index 24193fcb8bd5..de88d8023c8c 100644
|
|
--- a/drivers/nvme/host/nvme.h
|
|
+++ b/drivers/nvme/host/nvme.h
|
|
@@ -920,6 +920,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
|
|
void nvme_mpath_start_freeze(struct nvme_subsystem *subsys);
|
|
void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys);
|
|
void nvme_failover_req(struct request *req);
|
|
+void nvme_update_ana(struct request *req);
|
|
void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
|
|
int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
|
|
void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
|
|
@@ -962,6 +963,9 @@ static inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
|
|
static inline void nvme_failover_req(struct request *req)
|
|
{
|
|
}
|
|
+static inline void nvme_update_ana(struct request *req)
|
|
+{
|
|
+}
|
|
static inline void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
|
|
{
|
|
}
|
|
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
|
|
index 51ec9e7e784f..8c3713edc7a6 100644
|
|
--- a/drivers/pci/pci-driver.c
|
|
+++ b/drivers/pci/pci-driver.c
|
|
@@ -19,6 +19,7 @@
|
|
#include <linux/kexec.h>
|
|
#include <linux/of_device.h>
|
|
#include <linux/acpi.h>
|
|
+#include <linux/kernel.h>
|
|
#include <linux/dma-map-ops.h>
|
|
#include <linux/iommu.h>
|
|
#include "pci.h"
|
|
@@ -321,6 +322,12 @@ static long local_pci_probe(void *_ddi)
|
|
*/
|
|
pm_runtime_get_sync(dev);
|
|
pci_dev->driver = pci_drv;
|
|
+
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ if (pci_rh_check_status(pci_dev))
|
|
+ return -EACCES;
|
|
+#endif
|
|
+
|
|
rc = pci_drv->probe(pci_dev, ddi->id);
|
|
if (!rc)
|
|
return rc;
|
|
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|
|
index d797df6e5f3e..a6921ee1535a 100644
|
|
--- a/drivers/pci/quirks.c
|
|
+++ b/drivers/pci/quirks.c
|
|
@@ -4433,6 +4433,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
|
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
|
|
quirk_bridge_cavm_thrx2_pcie_root);
|
|
|
|
+/*
|
|
+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller
|
|
+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by
|
|
+ * using BAR 4's resources which are populated correctly and NOT
|
|
+ * actually used by the AHCI controller.
|
|
+ */
|
|
+static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev)
|
|
+{
|
|
+ struct resource *r = &dev->resource[4];
|
|
+
|
|
+ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0))
|
|
+ return;
|
|
+
|
|
+ /* Set BAR5 resource to BAR4 */
|
|
+ dev->resource[5] = *r;
|
|
+
|
|
+ /* Update BAR5 in pci config space */
|
|
+ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start);
|
|
+
|
|
+ /* Clear BAR4's resource */
|
|
+ memset(r, 0, sizeof(*r));
|
|
+}
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars);
|
|
+
|
|
/*
|
|
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
|
|
* class code. Fix it.
|
|
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
|
|
index 68f4dbcfff49..90a6070a1332 100644
|
|
--- a/drivers/scsi/aacraid/linit.c
|
|
+++ b/drivers/scsi/aacraid/linit.c
|
|
@@ -77,6 +77,7 @@ char aac_driver_version[] = AAC_DRIVER_FULL_VERSION;
|
|
* Note: The last field is used to index into aac_drivers below.
|
|
*/
|
|
static const struct pci_device_id aac_pci_tbl[] = {
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{ 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */
|
|
{ 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */
|
|
{ 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si (SlimFast/PERC3Si */
|
|
@@ -144,6 +145,7 @@ static const struct pci_device_id aac_pci_tbl[] = {
|
|
{ 0x9005, 0x0285, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 59 }, /* Adaptec Catch All */
|
|
{ 0x9005, 0x0286, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 60 }, /* Adaptec Rocket Catch All */
|
|
{ 0x9005, 0x0288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 61 }, /* Adaptec NEMER/ARK Catch All */
|
|
+#endif
|
|
{ 0x9005, 0x028b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 62 }, /* Adaptec PMC Series 6 (Tupelo) */
|
|
{ 0x9005, 0x028c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 63 }, /* Adaptec PMC Series 7 (Denali) */
|
|
{ 0x9005, 0x028d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 64 }, /* Adaptec PMC Series 8 */
|
|
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
|
|
index 06acb5ff609e..a54ea7cf7d6e 100644
|
|
--- a/drivers/scsi/be2iscsi/be_main.c
|
|
+++ b/drivers/scsi/be2iscsi/be_main.c
|
|
@@ -387,11 +387,13 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc)
|
|
|
|
/*------------------- PCI Driver operations and data ----------------- */
|
|
static const struct pci_device_id beiscsi_pci_id_table[] = {
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
|
|
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
|
|
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
|
|
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) },
|
|
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) },
|
|
+#endif
|
|
{ PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) },
|
|
{ 0 }
|
|
};
|
|
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
|
|
index af18d20f3079..0cebae77fd00 100644
|
|
--- a/drivers/scsi/hpsa.c
|
|
+++ b/drivers/scsi/hpsa.c
|
|
@@ -82,7 +82,9 @@ MODULE_DESCRIPTION("Driver for HP Smart Array Controller version " \
|
|
HPSA_DRIVER_VERSION);
|
|
MODULE_VERSION(HPSA_DRIVER_VERSION);
|
|
MODULE_LICENSE("GPL");
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
MODULE_ALIAS("cciss");
|
|
+#endif
|
|
|
|
static int hpsa_simple_mode;
|
|
module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR);
|
|
@@ -144,10 +146,12 @@ static const struct pci_device_id hpsa_pci_device_id[] = {
|
|
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x007D},
|
|
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x0088},
|
|
{PCI_VENDOR_ID_HP, 0x333f, 0x103c, 0x333f},
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
|
PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
|
|
{PCI_VENDOR_ID_COMPAQ, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
|
PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
|
|
+#endif
|
|
{0,}
|
|
};
|
|
|
|
diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h
|
|
index 0b1616e93cf4..85fc52038a82 100644
|
|
--- a/drivers/scsi/lpfc/lpfc_ids.h
|
|
+++ b/drivers/scsi/lpfc/lpfc_ids.h
|
|
@@ -24,6 +24,7 @@
|
|
#include <linux/pci.h>
|
|
|
|
const struct pci_device_id lpfc_id_table[] = {
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY,
|
|
@@ -54,10 +55,13 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP,
|
|
@@ -68,6 +72,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101,
|
|
@@ -78,6 +83,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID,
|
|
@@ -90,6 +96,7 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
|
|
@@ -100,18 +107,23 @@ const struct pci_device_id lpfc_id_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
+#endif
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC,
|
|
PCI_ANY_ID, PCI_ANY_ID, },
|
|
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC,
|
|
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
index 3d4f13da1ae8..7fdf37db9969 100644
|
|
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
|
|
@@ -149,6 +149,7 @@ megasas_set_ld_removed_by_fw(struct megasas_instance *instance);
|
|
*/
|
|
static struct pci_device_id megasas_pci_table[] = {
|
|
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)},
|
|
/* xscale IOP */
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078R)},
|
|
@@ -157,16 +158,19 @@ static struct pci_device_id megasas_pci_table[] = {
|
|
/* ppc IOP */
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078GEN2)},
|
|
/* gen2*/
|
|
+#endif
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0079GEN2)},
|
|
/* gen2*/
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0073SKINNY)},
|
|
/* skinny*/
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)},
|
|
/* skinny*/
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)},
|
|
/* xscale IOP, vega */
|
|
{PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)},
|
|
/* xscale IOP */
|
|
+#endif
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_FUSION)},
|
|
/* Fusion */
|
|
{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_PLASMA)},
|
|
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
index 51b5788da040..821f2a66df47 100644
|
|
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
|
|
@@ -12599,6 +12599,7 @@ bool scsih_ncq_prio_supp(struct scsi_device *sdev)
|
|
* The pci device ids are defined in mpi/mpi2_cnfg.h.
|
|
*/
|
|
static const struct pci_device_id mpt3sas_pci_table[] = {
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
/* Spitfire ~ 2004 */
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
@@ -12617,6 +12618,7 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_2,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
+#endif
|
|
/* Thunderbolt ~ 2208 */
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_1,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
@@ -12641,9 +12643,11 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SWITCH_MPI_EP_1,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
/* SSS6200 */
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
+#endif
|
|
/* Fury ~ 3004 and 3008 */
|
|
{ MPI2_MFGPAGE_VENDORID_LSI, MPI25_MFGPAGE_DEVID_SAS3004,
|
|
PCI_ANY_ID, PCI_ANY_ID },
|
|
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
|
|
index dd674378f2f3..3baebaf2a1d6 100644
|
|
--- a/drivers/scsi/qla2xxx/qla_os.c
|
|
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
|
@@ -8122,6 +8122,7 @@ static const struct pci_error_handlers qla2xxx_err_handler = {
|
|
};
|
|
|
|
static struct pci_device_id qla2xxx_pci_tbl[] = {
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
|
@@ -8134,13 +8135,18 @@ static struct pci_device_id qla2xxx_pci_tbl[] = {
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) },
|
|
+#endif
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) },
|
|
+#endif
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) },
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) },
|
|
+#endif
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
|
|
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) },
|
|
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
|
|
index 675332e49a7b..4a3cbddacef1 100644
|
|
--- a/drivers/scsi/qla4xxx/ql4_os.c
|
|
+++ b/drivers/scsi/qla4xxx/ql4_os.c
|
|
@@ -9865,6 +9865,7 @@ static struct pci_device_id qla4xxx_pci_tbl[] = {
|
|
.subvendor = PCI_ANY_ID,
|
|
.subdevice = PCI_ANY_ID,
|
|
},
|
|
+#ifndef CONFIG_RHEL_DIFFERENCES
|
|
{
|
|
.vendor = PCI_VENDOR_ID_QLOGIC,
|
|
.device = PCI_DEVICE_ID_QLOGIC_ISP8022,
|
|
@@ -9883,6 +9884,7 @@ static struct pci_device_id qla4xxx_pci_tbl[] = {
|
|
.subvendor = PCI_ANY_ID,
|
|
.subdevice = PCI_ANY_ID,
|
|
},
|
|
+#endif
|
|
{0, 0},
|
|
};
|
|
MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl);
|
|
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
|
|
index bdd0acf7fa3c..2adde1beb158 100644
|
|
--- a/drivers/scsi/sd.c
|
|
+++ b/drivers/scsi/sd.c
|
|
@@ -118,6 +118,14 @@ static const char *sd_cache_types[] = {
|
|
"write back, no read (daft)"
|
|
};
|
|
|
|
+static const char *sd_probe_types[] = { "async", "sync" };
|
|
+
|
|
+static char sd_probe_type[6] = "async";
|
|
+module_param_string(probe, sd_probe_type, sizeof(sd_probe_type),
|
|
+ S_IRUGO|S_IWUSR);
|
|
+MODULE_PARM_DESC(probe, "async or sync. Setting to 'sync' disables asynchronous "
|
|
+ "device number assignments (sda, sdb, ...).");
|
|
+
|
|
static void sd_set_flush_flag(struct scsi_disk *sdkp)
|
|
{
|
|
bool wc = false, fua = false;
|
|
@@ -4069,6 +4077,8 @@ static int __init init_sd(void)
|
|
goto err_out_class;
|
|
}
|
|
|
|
+ if (!strcmp(sd_probe_type, "sync"))
|
|
+ sd_template.gendrv.probe_type = PROBE_FORCE_SYNCHRONOUS;
|
|
err = scsi_register_driver(&sd_template.gendrv);
|
|
if (err)
|
|
goto err_out_driver;
|
|
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
|
index e38a4124f610..0a607946e5f9 100644
|
|
--- a/drivers/usb/core/hub.c
|
|
+++ b/drivers/usb/core/hub.c
|
|
@@ -5806,6 +5806,13 @@ static void hub_event(struct work_struct *work)
|
|
(u16) hub->change_bits[0],
|
|
(u16) hub->event_bits[0]);
|
|
|
|
+ /* Don't disconnect USB-SATA on TrimSlice */
|
|
+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
|
|
+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
|
|
+ (hub->event_bits[0] == 0x2))
|
|
+ hub->event_bits[0] = 0;
|
|
+ }
|
|
+
|
|
/* Lock the device, then check to see if we were
|
|
* disconnected while waiting for the lock to succeed. */
|
|
usb_lock_device(hdev);
|
|
diff --git a/fs/afs/main.c b/fs/afs/main.c
|
|
index a14f6013e316..6c20453fdf76 100644
|
|
--- a/fs/afs/main.c
|
|
+++ b/fs/afs/main.c
|
|
@@ -199,6 +199,9 @@ static int __init afs_init(void)
|
|
goto error_proc;
|
|
}
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ mark_partner_supported(KBUILD_MODNAME, THIS_MODULE);
|
|
+#endif
|
|
return ret;
|
|
|
|
error_proc:
|
|
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
|
|
index 9b4b66dcdd4f..f51cc9a24e63 100644
|
|
--- a/fs/erofs/super.c
|
|
+++ b/fs/erofs/super.c
|
|
@@ -591,6 +591,9 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
|
|
struct inode *inode;
|
|
struct erofs_sb_info *sbi;
|
|
struct erofs_fs_context *ctx = fc->fs_private;
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ static bool printed = false;
|
|
+#endif
|
|
int err;
|
|
|
|
sb->s_magic = EROFS_SUPER_MAGIC;
|
|
@@ -709,6 +712,12 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
|
|
return err;
|
|
|
|
erofs_info(sb, "mounted with root inode @ nid %llu.", sbi->root_nid);
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ if (!printed) {
|
|
+ mark_tech_preview("EROFS filesystem", NULL);
|
|
+ printed = true;
|
|
+ }
|
|
+#endif
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
|
|
index a8ba84eabab2..bf17694658cb 100644
|
|
--- a/fs/ext4/super.c
|
|
+++ b/fs/ext4/super.c
|
|
@@ -5611,6 +5611,17 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
|
|
atomic_set(&sbi->s_warning_count, 0);
|
|
atomic_set(&sbi->s_msg_count, 0);
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ if (ext4_has_feature_verity(sb)) {
|
|
+ static bool printed = false;
|
|
+
|
|
+ if (!printed) {
|
|
+ mark_tech_preview("fs-verity on ext4", NULL);
|
|
+ printed = true;
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
+
|
|
return 0;
|
|
|
|
failed_mount10:
|
|
diff --git a/include/linux/crypto.h b/include/linux/crypto.h
|
|
index b164da5e129e..59021b8609a7 100644
|
|
--- a/include/linux/crypto.h
|
|
+++ b/include/linux/crypto.h
|
|
@@ -133,6 +133,7 @@
|
|
#define CRYPTO_TFM_REQ_FORBID_WEAK_KEYS 0x00000100
|
|
#define CRYPTO_TFM_REQ_MAY_SLEEP 0x00000200
|
|
#define CRYPTO_TFM_REQ_MAY_BACKLOG 0x00000400
|
|
+#define CRYPTO_TFM_REQ_NEED_RESEED 0x00000800
|
|
|
|
/*
|
|
* Miscellaneous stuff.
|
|
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
|
index c74f47711f0b..e7bbf3b7a938 100644
|
|
--- a/include/linux/efi.h
|
|
+++ b/include/linux/efi.h
|
|
@@ -45,6 +45,8 @@ struct screen_info;
|
|
#define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
|
|
#define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
|
|
|
|
+#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1)))
|
|
+
|
|
typedef unsigned long efi_status_t;
|
|
typedef u8 efi_bool_t;
|
|
typedef u16 efi_char16_t; /* UNICODE character */
|
|
@@ -865,6 +867,14 @@ static inline int efi_range_is_wc(unsigned long start, unsigned long len)
|
|
#define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
|
|
#define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */
|
|
#define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */
|
|
+#define EFI_SECURE_BOOT 13 /* Are we in Secure Boot mode? */
|
|
+
|
|
+enum efi_secureboot_mode {
|
|
+ efi_secureboot_mode_unset,
|
|
+ efi_secureboot_mode_unknown,
|
|
+ efi_secureboot_mode_disabled,
|
|
+ efi_secureboot_mode_enabled,
|
|
+};
|
|
|
|
#ifdef CONFIG_EFI
|
|
/*
|
|
@@ -876,6 +886,8 @@ static inline bool efi_enabled(int feature)
|
|
}
|
|
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
|
|
|
|
+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
|
|
+
|
|
bool __pure __efi_soft_reserve_enabled(void);
|
|
|
|
static inline bool __pure efi_soft_reserve_enabled(void)
|
|
@@ -897,6 +909,8 @@ static inline bool efi_enabled(int feature)
|
|
static inline void
|
|
efi_reboot(enum reboot_mode reboot_mode, const char *__unused) {}
|
|
|
|
+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
|
|
+
|
|
static inline bool efi_soft_reserve_enabled(void)
|
|
{
|
|
return false;
|
|
@@ -911,6 +925,7 @@ static inline void efi_find_mirror(void) {}
|
|
#endif
|
|
|
|
extern int efi_status_to_err(efi_status_t status);
|
|
+extern const char *efi_status_to_str(efi_status_t status);
|
|
|
|
/*
|
|
* Variable Attributes
|
|
@@ -1127,13 +1142,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
|
|
extern void efi_call_virt_check_flags(unsigned long flags, const void *caller);
|
|
extern unsigned long efi_call_virt_save_flags(void);
|
|
|
|
-enum efi_secureboot_mode {
|
|
- efi_secureboot_mode_unset,
|
|
- efi_secureboot_mode_unknown,
|
|
- efi_secureboot_mode_disabled,
|
|
- efi_secureboot_mode_enabled,
|
|
-};
|
|
-
|
|
static inline
|
|
enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)
|
|
{
|
|
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
|
|
index d9ad21058eed..fce9d22d3080 100644
|
|
--- a/include/linux/kernel.h
|
|
+++ b/include/linux/kernel.h
|
|
@@ -441,4 +441,20 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
|
|
/* OTHER_WRITABLE? Generally considered a bad idea. */ \
|
|
BUILD_BUG_ON_ZERO((perms) & 2) + \
|
|
(perms))
|
|
+
|
|
+struct module;
|
|
+
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+void mark_hardware_unmaintained(const char *driver_name, char *fmt, ...);
|
|
+void mark_hardware_deprecated(const char *driver_name, char *fmt, ...);
|
|
+void mark_tech_preview(const char *msg, struct module *mod);
|
|
+void mark_partner_supported(const char *msg, struct module *mod);
|
|
+void init_rh_check_status(char *fn_name);
|
|
+#else
|
|
+static inline void mark_hardware_unmaintained(const char *driver_name, char *fmt, ...) { }
|
|
+static inline void mark_hardware_deprecated(const char *driver_name, char *fmt, ...) { }
|
|
+static inline void mark_tech_preview(const char *msg, struct module *mod) { }
|
|
+static inline void mark_partner_supported(const char *msg, struct module *mod) { }
|
|
+#endif
|
|
+
|
|
#endif
|
|
diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h
|
|
index 76458b6d53da..b80d5835be72 100644
|
|
--- a/include/linux/lsm_hook_defs.h
|
|
+++ b/include/linux/lsm_hook_defs.h
|
|
@@ -411,6 +411,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux)
|
|
#endif /* CONFIG_BPF_SYSCALL */
|
|
|
|
LSM_HOOK(int, 0, locked_down, enum lockdown_reason what)
|
|
+LSM_HOOK(int, 0, lock_kernel_down, const char *where, enum lockdown_reason level)
|
|
+
|
|
|
|
#ifdef CONFIG_PERF_EVENTS
|
|
LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type)
|
|
diff --git a/include/linux/module.h b/include/linux/module.h
|
|
index 1153b0d99a80..7e7b12225a92 100644
|
|
--- a/include/linux/module.h
|
|
+++ b/include/linux/module.h
|
|
@@ -418,6 +418,7 @@ struct module {
|
|
struct module_attribute *modinfo_attrs;
|
|
const char *version;
|
|
const char *srcversion;
|
|
+ const char *rhelversion;
|
|
struct kobject *holders_dir;
|
|
|
|
/* Exported symbols */
|
|
@@ -990,4 +991,8 @@ static inline unsigned long find_kallsyms_symbol_value(struct module *mod,
|
|
|
|
#endif /* CONFIG_MODULES && CONFIG_KALLSYMS */
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+void module_rh_check_status(const char * module_name);
|
|
+#endif
|
|
+
|
|
#endif /* _LINUX_MODULE_H */
|
|
diff --git a/include/linux/panic.h b/include/linux/panic.h
|
|
index 6717b15e798c..8e1d3eae1686 100644
|
|
--- a/include/linux/panic.h
|
|
+++ b/include/linux/panic.h
|
|
@@ -73,7 +73,23 @@ static inline void set_arch_panic_timeout(int timeout, int arch_default_timeout)
|
|
#define TAINT_AUX 16
|
|
#define TAINT_RANDSTRUCT 17
|
|
#define TAINT_TEST 18
|
|
-#define TAINT_FLAGS_COUNT 19
|
|
+/* Start of Red Hat-specific taint flags */
|
|
+#define TAINT_19 19
|
|
+#define TAINT_20 20
|
|
+#define TAINT_21 21
|
|
+#define TAINT_22 22
|
|
+#define TAINT_23 23
|
|
+#define TAINT_24 24
|
|
+#define TAINT_25 25
|
|
+#define TAINT_PARTNER_SUPPORTED 26
|
|
+#define TAINT_SUPPORT_REMOVED 27
|
|
+/* Bits 28 - 31 are reserved for Red Hat use only */
|
|
+#define TAINT_RESERVED28 28
|
|
+#define TAINT_RESERVED29 29
|
|
+#define TAINT_RESERVED30 30
|
|
+#define TAINT_UNPRIVILEGED_BPF 31
|
|
+/* End of Red Hat-specific taint flags */
|
|
+#define TAINT_FLAGS_COUNT 32
|
|
#define TAINT_FLAGS_MAX ((1UL << TAINT_FLAGS_COUNT) - 1)
|
|
|
|
struct taint_flag {
|
|
diff --git a/include/linux/pci.h b/include/linux/pci.h
|
|
index 7ab0d13672da..c39d66bd2123 100644
|
|
--- a/include/linux/pci.h
|
|
+++ b/include/linux/pci.h
|
|
@@ -1621,6 +1621,7 @@ int pci_add_dynid(struct pci_driver *drv,
|
|
unsigned long driver_data);
|
|
const struct pci_device_id *pci_match_id(const struct pci_device_id *ids,
|
|
struct pci_dev *dev);
|
|
+
|
|
int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
|
|
int pass);
|
|
|
|
@@ -2681,6 +2682,10 @@ static inline bool pci_is_thunderbolt_attached(struct pci_dev *pdev)
|
|
return false;
|
|
}
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+bool pci_rh_check_status(struct pci_dev *pci_dev);
|
|
+#endif
|
|
+
|
|
#if defined(CONFIG_PCIEPORTBUS) || defined(CONFIG_EEH)
|
|
void pci_uevent_ers(struct pci_dev *pdev, enum pci_ers_result err_type);
|
|
#endif
|
|
diff --git a/include/linux/random.h b/include/linux/random.h
|
|
index b0a940af4fff..8a52424fd0d5 100644
|
|
--- a/include/linux/random.h
|
|
+++ b/include/linux/random.h
|
|
@@ -9,6 +9,13 @@
|
|
|
|
#include <uapi/linux/random.h>
|
|
|
|
+struct iov_iter;
|
|
+
|
|
+struct random_extrng {
|
|
+ ssize_t (*extrng_read_iter)(struct iov_iter *iter, bool reseed);
|
|
+ struct module *owner;
|
|
+};
|
|
+
|
|
struct notifier_block;
|
|
|
|
void add_device_randomness(const void *buf, size_t len);
|
|
@@ -157,6 +164,9 @@ int random_prepare_cpu(unsigned int cpu);
|
|
int random_online_cpu(unsigned int cpu);
|
|
#endif
|
|
|
|
+void random_register_extrng(const struct random_extrng *rng);
|
|
+void random_unregister_extrng(void);
|
|
+
|
|
#ifndef MODULE
|
|
extern const struct file_operations random_fops, urandom_fops;
|
|
#endif
|
|
diff --git a/include/linux/rh_kabi.h b/include/linux/rh_kabi.h
|
|
new file mode 100644
|
|
index 000000000000..5139cb2cabdc
|
|
--- /dev/null
|
|
+++ b/include/linux/rh_kabi.h
|
|
@@ -0,0 +1,541 @@
|
|
+/*
|
|
+ * rh_kabi.h - Red Hat kABI abstraction header
|
|
+ *
|
|
+ * Copyright (c) 2014 Don Zickus
|
|
+ * Copyright (c) 2015-2020 Jiri Benc
|
|
+ * Copyright (c) 2015 Sabrina Dubroca, Hannes Frederic Sowa
|
|
+ * Copyright (c) 2016-2018 Prarit Bhargava
|
|
+ * Copyright (c) 2017 Paolo Abeni, Larry Woodman
|
|
+ *
|
|
+ * This file is released under the GPLv2.
|
|
+ * See the file COPYING for more details.
|
|
+ *
|
|
+ * These kabi macros hide the changes from the kabi checker and from the
|
|
+ * process that computes the exported symbols' checksums.
|
|
+ * They have 2 variants: one (defined under __GENKSYMS__) used when
|
|
+ * generating the checksums, and the other used when building the kernel's
|
|
+ * binaries.
|
|
+ *
|
|
+ * The use of these macros does not guarantee that the usage and modification
|
|
+ * of code is correct. As with all Red Hat only changes, an engineer must
|
|
+ * explain why the use of the macro is valid in the patch containing the
|
|
+ * changes.
|
|
+ *
|
|
+ */
|
|
+
|
|
+#ifndef _LINUX_RH_KABI_H
|
|
+#define _LINUX_RH_KABI_H
|
|
+
|
|
+#include <linux/kconfig.h>
|
|
+#include <linux/compiler.h>
|
|
+#include <linux/stringify.h>
|
|
+
|
|
+/*
|
|
+ * NOTE
|
|
+ * Unless indicated otherwise, don't use ';' after these macros as it
|
|
+ * messes up the kABI checker by changing what the resulting token string
|
|
+ * looks like. Instead let the macros add the ';' so it can be properly
|
|
+ * hidden from the kABI checker (mainly for RH_KABI_EXTEND, but applied to
|
|
+ * most macros for uniformity).
|
|
+ *
|
|
+ *
|
|
+ * RH_KABI_CONST
|
|
+ * Adds a new const modifier to a function parameter preserving the old
|
|
+ * checksum.
|
|
+ *
|
|
+ * RH_KABI_ADD_MODIFIER
|
|
+ * Adds a new modifier to a function parameter or a typedef, preserving
|
|
+ * the old checksum. Useful e.g. for adding rcu annotations or changing
|
|
+ * int to unsigned. Beware that this may change the semantics; if you're
|
|
+ * sure this is safe, always explain why binary compatibility with 3rd
|
|
+ * party modules is retained.
|
|
+ *
|
|
+ * RH_KABI_DEPRECATE
|
|
+ * Marks the element as deprecated and make it unusable by modules while
|
|
+ * keeping a hole in its place to preserve binary compatibility.
|
|
+ *
|
|
+ * RH_KABI_DEPRECATE_FN
|
|
+ * Marks the function pointer as deprecated and make it unusable by modules
|
|
+ * while keeping a hole in its place to preserve binary compatibility.
|
|
+ *
|
|
+ * RH_KABI_EXTEND
|
|
+ * Adds a new field to a struct. This must always be added to the end of
|
|
+ * the struct. Before using this macro, make sure this is actually safe
|
|
+ * to do - there is a number of conditions under which it is *not* safe.
|
|
+ * In particular (but not limited to), this macro cannot be used:
|
|
+ * - if the struct in question is embedded in another struct, or
|
|
+ * - if the struct is allocated by drivers either statically or
|
|
+ * dynamically, or
|
|
+ * - if the struct is allocated together with driver data (an example of
|
|
+ * such behavior is struct net_device or struct request).
|
|
+ *
|
|
+ * RH_KABI_EXTEND_WITH_SIZE
|
|
+ * Adds a new element (usually a struct) to a struct and reserves extra
|
|
+ * space for the new element. The provided 'size' is the total space to
|
|
+ * be added in longs (i.e. it's 8 * 'size' bytes), including the size of
|
|
+ * the added element. It is automatically checked that the new element
|
|
+ * does not overflow the reserved space, now nor in the future. However,
|
|
+ * no attempt is done to check the content of the added element (struct)
|
|
+ * for kABI conformance - kABI checking inside the added element is
|
|
+ * effectively switched off.
|
|
+ * For any struct being added by RH_KABI_EXTEND_WITH_SIZE, it is
|
|
+ * recommended its content to be documented as not covered by kABI
|
|
+ * guarantee.
|
|
+ *
|
|
+ * RH_KABI_FILL_HOLE
|
|
+ * Fills a hole in a struct.
|
|
+ *
|
|
+ * Warning: only use if a hole exists for _all_ arches. Use pahole to verify.
|
|
+ *
|
|
+ * RH_KABI_RENAME
|
|
+ * Renames an element without changing its type. This macro can be used in
|
|
+ * bitfields, for example.
|
|
+ *
|
|
+ * NOTE: this macro does not add the final ';'
|
|
+ *
|
|
+ * RH_KABI_REPLACE
|
|
+ * Replaces the _orig field by the _new field. The size of the occupied
|
|
+ * space is preserved, it's fine if the _new field is smaller than the
|
|
+ * _orig field. If a _new field is larger or has a different alignment,
|
|
+ * compilation will abort.
|
|
+ *
|
|
+ * RH_KABI_REPLACE_SPLIT
|
|
+ * Works the same as RH_KABI_REPLACE but replaces a single _orig field by
|
|
+ * multiple new fields. The checks for size and alignment done by
|
|
+ * RH_KABI_REPLACE are still applied.
|
|
+ *
|
|
+ * RH_KABI_HIDE_INCLUDE
|
|
+ * Hides the given include file from kABI checksum computations. This is
|
|
+ * used when a newly added #include makes a previously opaque struct
|
|
+ * visible.
|
|
+ *
|
|
+ * Example usage:
|
|
+ * #include RH_KABI_HIDE_INCLUDE(<linux/poll.h>)
|
|
+ *
|
|
+ * RH_KABI_FAKE_INCLUDE
|
|
+ * Pretends inclusion of the given file for kABI checksum computations.
|
|
+ * This is used when upstream removed a particular #include but that made
|
|
+ * some structures opaque that were previously visible and is causing kABI
|
|
+ * checker failures.
|
|
+ *
|
|
+ * Example usage:
|
|
+ * #include RH_KABI_FAKE_INCLUDE(<linux/rhashtable.h>)
|
|
+ *
|
|
+ * RH_KABI_RESERVE
|
|
+ * Adds a reserved field to a struct. This is done prior to kABI freeze
|
|
+ * for structs that cannot be expanded later using RH_KABI_EXTEND (for
|
|
+ * example because they are embedded in another struct or because they are
|
|
+ * allocated by drivers or because they use unusual memory layout). The
|
|
+ * size of the reserved field is 'unsigned long' and is assumed to be
|
|
+ * 8 bytes.
|
|
+ *
|
|
+ * The argument is a number unique for the given struct; usually, multiple
|
|
+ * RH_KABI_RESERVE macros are added to a struct with numbers starting from
|
|
+ * one.
|
|
+ *
|
|
+ * Example usage:
|
|
+ * struct foo {
|
|
+ * int a;
|
|
+ * RH_KABI_RESERVE(1)
|
|
+ * RH_KABI_RESERVE(2)
|
|
+ * RH_KABI_RESERVE(3)
|
|
+ * RH_KABI_RESERVE(4)
|
|
+ * };
|
|
+ *
|
|
+ * RH_KABI_USE
|
|
+ * Uses a previously reserved field or multiple fields. The arguments are
|
|
+ * one or more numbers assigned to RH_KABI_RESERVE, followed by a field to
|
|
+ * be put in their place. The compiler ensures that the new field is not
|
|
+ * larger than the reserved area.
|
|
+ *
|
|
+ * Example usage:
|
|
+ * struct foo {
|
|
+ * int a;
|
|
+ * RH_KABI_USE(1, int b)
|
|
+ * RH_KABI_USE(2, 3, int c[3])
|
|
+ * RH_KABI_RESERVE(4)
|
|
+ * };
|
|
+ *
|
|
+ * RH_KABI_USE_SPLIT
|
|
+ * Works the same as RH_KABI_USE but replaces a single reserved field by
|
|
+ * multiple new fields.
|
|
+ *
|
|
+ * RH_KABI_AUX_EMBED
|
|
+ * RH_KABI_AUX_PTR
|
|
+ * Adds an extenstion of a struct in the form of "auxiliary structure".
|
|
+ * This is done prior to kABI freeze for structs that cannot be expanded
|
|
+ * later using RH_KABI_EXTEND. See also RH_KABI_RESERVED, these two
|
|
+ * approaches can (and often are) combined.
|
|
+ *
|
|
+ * To use this for 'struct foo' (the "base structure"), define a new
|
|
+ * structure called 'struct foo_rh'; this new struct is called "auxiliary
|
|
+ * structure". Then add RH_KABI_AUX_EMBED or RH_KABI_AUX_PTR to the end
|
|
+ * of the base structure. The argument is the name of the base structure,
|
|
+ * without the 'struct' keyword.
|
|
+ *
|
|
+ * RH_KABI_AUX_PTR stores a pointer to the aux structure in the base
|
|
+ * struct. The lifecycle of the aux struct needs to be properly taken
|
|
+ * care of.
|
|
+ *
|
|
+ * RH_KABI_AUX_EMBED embeds the aux struct into the base struct. This
|
|
+ * cannot be used when the base struct is itself embedded into another
|
|
+ * struct, allocated in an array, etc.
|
|
+ *
|
|
+ * Both approaches (ptr and embed) work correctly even when the aux struct
|
|
+ * is allocated by modules. To ensure this, the code responsible for
|
|
+ * allocation/assignment of the aux struct has to properly set the size of
|
|
+ * the aux struct; see the RH_KABI_AUX_SET_SIZE and RH_KABI_AUX_INIT_SIZE
|
|
+ * macros.
|
|
+ *
|
|
+ * New fields can be later added to the auxiliary structure, always to its
|
|
+ * end. Note the auxiliary structure cannot be shrunk in size later (i.e.,
|
|
+ * fields cannot be removed, only deprecated). Any code accessing fields
|
|
+ * from the aux struct must guard the access using the RH_KABI_AUX macro.
|
|
+ * The access itself is then done via a '_rh' field in the base struct.
|
|
+ *
|
|
+ * The auxiliary structure is not guaranteed for access by modules unless
|
|
+ * explicitly commented as such in the declaration of the aux struct
|
|
+ * itself or some of its elements.
|
|
+ *
|
|
+ * Example:
|
|
+ *
|
|
+ * struct foo_rh {
|
|
+ * int newly_added;
|
|
+ * };
|
|
+ *
|
|
+ * struct foo {
|
|
+ * bool big_hammer;
|
|
+ * RH_KABI_AUX_PTR(foo)
|
|
+ * };
|
|
+ *
|
|
+ * void use(struct foo *f)
|
|
+ * {
|
|
+ * if (RH_KABI_AUX(f, foo, newly_added))
|
|
+ * f->_rh->newly_added = 123;
|
|
+ * else
|
|
+ * // the field 'newly_added' is not present in the passed
|
|
+ * // struct, fall back to old behavior
|
|
+ * f->big_hammer = true;
|
|
+ * }
|
|
+ *
|
|
+ * static struct foo_rh my_foo_rh {
|
|
+ * .newly_added = 0;
|
|
+ * }
|
|
+ *
|
|
+ * static struct foo my_foo = {
|
|
+ * .big_hammer = false,
|
|
+ * ._rh = &my_foo_rh,
|
|
+ * RH_KABI_AUX_INIT_SIZE(foo)
|
|
+ * };
|
|
+ *
|
|
+ * RH_KABI_USE_AUX_PTR
|
|
+ * Creates an auxiliary structure post kABI freeze. This works by using
|
|
+ * two reserved fields (thus there has to be two reserved fields still
|
|
+ * available) and converting them to RH_KABI_AUX_PTR.
|
|
+ *
|
|
+ * Example:
|
|
+ *
|
|
+ * struct foo_rh {
|
|
+ * };
|
|
+ *
|
|
+ * struct foo {
|
|
+ * int a;
|
|
+ * RH_KABI_RESERVE(1)
|
|
+ * RH_KABI_USE_AUX_PTR(2, 3, foo)
|
|
+ * };
|
|
+ *
|
|
+ * RH_KABI_AUX_SET_SIZE
|
|
+ * RH_KABI_AUX_INIT_SIZE
|
|
+ * Calculates and stores the size of the auxiliary structure.
|
|
+ *
|
|
+ * RH_KABI_AUX_SET_SIZE is for dynamically allocated base structs,
|
|
+ * RH_KABI_AUX_INIT_SIZE is for statically allocated case structs.
|
|
+ *
|
|
+ * These macros must be called from the allocation (RH_KABI_AUX_SET_SIZE)
|
|
+ * or declaration (RH_KABI_AUX_INIT_SIZE) site, regardless of whether
|
|
+ * that happens in the kernel or in a module. Without calling one of
|
|
+ * these macros, the aux struct will appear to have no fields to the
|
|
+ * kernel.
|
|
+ *
|
|
+ * Note: since RH_KABI_AUX_SET_SIZE is intended to be invoked outside of
|
|
+ * a struct definition, it does not add the semicolon and must be
|
|
+ * terminated by semicolon by the caller.
|
|
+ *
|
|
+ * RH_KABI_AUX
|
|
+ * Verifies that the given field exists in the given auxiliary structure.
|
|
+ * This MUST be called prior to accessing that field; failing to do that
|
|
+ * may lead to invalid memory access.
|
|
+ *
|
|
+ * The first argument is a pointer to the base struct, the second argument
|
|
+ * is the name of the base struct (without the 'struct' keyword), the
|
|
+ * third argument is the field name.
|
|
+ *
|
|
+ * This macro works for structs extended by either of RH_KABI_AUX_EMBED,
|
|
+ * RH_KABI_AUX_PTR and RH_KABI_USE_AUX_PTR.
|
|
+ *
|
|
+ * RH_KABI_FORCE_CHANGE
|
|
+ * Force change of the symbol checksum. The argument of the macro is a
|
|
+ * version for cases we need to do this more than once.
|
|
+ *
|
|
+ * This macro does the opposite: it changes the symbol checksum without
|
|
+ * actually changing anything about the exported symbol. It is useful for
|
|
+ * symbols that are not whitelisted, we're changing them in an
|
|
+ * incompatible way and want to prevent 3rd party modules to silently
|
|
+ * corrupt memory. Instead, by changing the symbol checksum, such modules
|
|
+ * won't be loaded by the kernel. This macro should only be used as a
|
|
+ * last resort when all other KABI workarounds have failed.
|
|
+ *
|
|
+ * RH_KABI_EXCLUDE
|
|
+ * !!! WARNING: DANGEROUS, DO NOT USE unless you are aware of all the !!!
|
|
+ * !!! implications. This should be used ONLY EXCEPTIONALLY and only !!!
|
|
+ * !!! under specific circumstances. Very likely, this macro does not !!!
|
|
+ * !!! do what you expect it to do. Note that any usage of this macro !!!
|
|
+ * !!! MUST be paired with a RH_KABI_FORCE_CHANGE annotation of !!!
|
|
+ * !!! a suitable symbol (or an equivalent safeguard) and the commit !!!
|
|
+ * !!! log MUST explain why the chosen solution is appropriate. !!!
|
|
+ *
|
|
+ * Exclude the element from checksum generation. Any such element is
|
|
+ * considered not to be part of the kABI whitelist and may be changed at
|
|
+ * will. Note however that it's the responsibility of the developer
|
|
+ * changing the element to ensure 3rd party drivers using this element
|
|
+ * won't panic, for example by not allowing them to be loaded. That can
|
|
+ * be achieved by changing another, non-whitelisted symbol they use,
|
|
+ * either by nature of the change or by using RH_KABI_FORCE_CHANGE.
|
|
+ *
|
|
+ * Also note that any change to the element must preserve its size. Change
|
|
+ * of the size is not allowed and would constitute a silent kABI breakage.
|
|
+ * Beware that the RH_KABI_EXCLUDE macro does not do any size checks.
|
|
+ *
|
|
+ * RH_KABI_EXCLUDE_WITH_SIZE
|
|
+ * Like RH_KABI_EXCLUDE, this macro excludes the element from
|
|
+ * checksum generation. The same warnings as for RH_KABI_EXCLUDE
|
|
+ * apply: use RH_KABI_FORCE_CHANGE.
|
|
+ *
|
|
+ * This macro is intended to be used for elements embedded inside
|
|
+ * kABI-protected structures (struct, array). In contrast with
|
|
+ * RH_KABI_EXCLUDE, this macro reserves extra space, so that the
|
|
+ * embedded element can grow without changing the offsets of the
|
|
+ * fields that follow. The provided 'size' is the total space to be
|
|
+ * added in longs (i.e. it's 8 * 'size' bytes), including the size
|
|
+ * of the added element. It is automatically checked that the new
|
|
+ * element does not overflow the reserved space, now nor in the
|
|
+ * future. The size is also included in the checksum via the
|
|
+ * reserved space, to ensure that we don't accidentally change it,
|
|
+ * which would change the offsets of the fields that follow.
|
|
+ *
|
|
+ * RH_KABI_BROKEN_INSERT
|
|
+ * RH_KABI_BROKEN_REMOVE
|
|
+ * Insert a field to the middle of a struct / delete a field from a struct.
|
|
+ * Note that this breaks kABI! It can be done only when it's certain that
|
|
+ * no 3rd party driver can validly reach into the struct. A typical
|
|
+ * example is a struct that is: both (a) referenced only through a long
|
|
+ * chain of pointers from another struct that is part of a whitelisted
|
|
+ * symbol and (b) kernel internal only, it should have never been visible
|
|
+ * to genksyms in the first place.
|
|
+ *
|
|
+ * Another example are structs that are explicitly exempt from kABI
|
|
+ * guarantee but we did not have enough foresight to use RH_KABI_EXCLUDE.
|
|
+ * In this case, the warning for RH_KABI_EXCLUDE applies.
|
|
+ *
|
|
+ * A detailed explanation of correctness of every RH_KABI_BROKEN_* macro
|
|
+ * use is especially important.
|
|
+ *
|
|
+ * RH_KABI_BROKEN_INSERT_BLOCK
|
|
+ * RH_KABI_BROKEN_REMOVE_BLOCK
|
|
+ * A version of RH_KABI_BROKEN_INSERT / REMOVE that allows multiple fields
|
|
+ * to be inserted or removed together. All fields need to be terminated
|
|
+ * by ';' inside(!) the macro parameter. The macro itself must not be
|
|
+ * terminated by ';'.
|
|
+ *
|
|
+ * RH_KABI_BROKEN_REPLACE
|
|
+ * Replace a field by a different one without doing any checking. This
|
|
+ * allows replacing a field by another with a different size. Similarly
|
|
+ * to other RH_KABI_BROKEN macros, use of this indicates a kABI breakage.
|
|
+ *
|
|
+ * RH_KABI_BROKEN_INSERT_ENUM
|
|
+ * RH_KABI_BROKEN_REMOVE_ENUM
|
|
+ * Insert a field to the middle of an enumaration type / delete a field from
|
|
+ * an enumaration type. Note that this can break kABI especially if the
|
|
+ * number of enum fields is used in an array within a structure. It can be
|
|
+ * done only when it is certain that no 3rd party driver will use the
|
|
+ * enumeration type or a structure that embeds an array with size determined
|
|
+ * by an enumeration type.
|
|
+ *
|
|
+ * RH_KABI_EXTEND_ENUM
|
|
+ * Adds a new field to an enumeration type. This must always be added to
|
|
+ * the end of the enum. Before using this macro, make sure this is actually
|
|
+ * safe to do.
|
|
+ */
|
|
+
|
|
+#undef linux
|
|
+#define linux linux
|
|
+
|
|
+#ifdef __GENKSYMS__
|
|
+
|
|
+# define RH_KABI_CONST
|
|
+# define RH_KABI_ADD_MODIFIER(_new)
|
|
+# define RH_KABI_EXTEND(_new)
|
|
+# define RH_KABI_FILL_HOLE(_new)
|
|
+# define RH_KABI_FORCE_CHANGE(ver) __attribute__((rh_kabi_change ## ver))
|
|
+# define RH_KABI_RENAME(_orig, _new) _orig
|
|
+# define RH_KABI_HIDE_INCLUDE(_file) <linux/rh_kabi.h>
|
|
+# define RH_KABI_FAKE_INCLUDE(_file) _file
|
|
+# define RH_KABI_BROKEN_INSERT(_new)
|
|
+# define RH_KABI_BROKEN_REMOVE(_orig) _orig;
|
|
+# define RH_KABI_BROKEN_INSERT_BLOCK(_new)
|
|
+# define RH_KABI_BROKEN_REMOVE_BLOCK(_orig) _orig
|
|
+# define RH_KABI_BROKEN_REPLACE(_orig, _new) _orig;
|
|
+# define RH_KABI_BROKEN_INSERT_ENUM(_new)
|
|
+# define RH_KABI_BROKEN_REMOVE_ENUM(_orig) _orig,
|
|
+# define RH_KABI_EXTEND_ENUM(_new)
|
|
+
|
|
+# define _RH_KABI_DEPRECATE(_type, _orig) _type _orig
|
|
+# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) _type (*_orig)(_args)
|
|
+# define _RH_KABI_REPLACE(_orig, _new) _orig
|
|
+# define _RH_KABI_EXCLUDE(_elem)
|
|
+
|
|
+# define __RH_KABI_CHECK_SIZE(_item, _size)
|
|
+
|
|
+#else
|
|
+
|
|
+# define RH_KABI_ALIGN_WARNING ". Disable CONFIG_RH_KABI_SIZE_ALIGN_CHECKS if debugging."
|
|
+
|
|
+# define RH_KABI_CONST const
|
|
+# define RH_KABI_ADD_MODIFIER(_new) _new
|
|
+# define RH_KABI_EXTEND(_new) _new;
|
|
+# define RH_KABI_FILL_HOLE(_new) _new;
|
|
+# define RH_KABI_FORCE_CHANGE(ver)
|
|
+# define RH_KABI_RENAME(_orig, _new) _new
|
|
+# define RH_KABI_HIDE_INCLUDE(_file) _file
|
|
+# define RH_KABI_FAKE_INCLUDE(_file) <linux/rh_kabi.h>
|
|
+# define RH_KABI_BROKEN_INSERT(_new) _new;
|
|
+# define RH_KABI_BROKEN_REMOVE(_orig)
|
|
+# define RH_KABI_BROKEN_INSERT_BLOCK(_new) _new
|
|
+# define RH_KABI_BROKEN_REMOVE_BLOCK(_orig)
|
|
+# define RH_KABI_BROKEN_REPLACE(_orig, _new) _new;
|
|
+# define RH_KABI_BROKEN_INSERT_ENUM(_new) _new,
|
|
+# define RH_KABI_BROKEN_REMOVE_ENUM(_orig)
|
|
+# define RH_KABI_EXTEND_ENUM(_new) _new,
|
|
+
|
|
+#if IS_BUILTIN(CONFIG_RH_KABI_SIZE_ALIGN_CHECKS)
|
|
+# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new) \
|
|
+ union { \
|
|
+ _Static_assert(sizeof(struct{_new;}) <= sizeof(struct{_orig;}), \
|
|
+ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_new) " is larger than " __stringify(_orig) RH_KABI_ALIGN_WARNING); \
|
|
+ _Static_assert(__alignof__(struct{_new;}) <= __alignof__(struct{_orig;}), \
|
|
+ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_orig) " is not aligned the same as " __stringify(_new) RH_KABI_ALIGN_WARNING); \
|
|
+ }
|
|
+# define __RH_KABI_CHECK_SIZE(_item, _size) \
|
|
+ _Static_assert(sizeof(struct{_item;}) <= _size, \
|
|
+ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_item) " is larger than the reserved size (" __stringify(_size) " bytes)" RH_KABI_ALIGN_WARNING);
|
|
+#else
|
|
+# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new)
|
|
+# define __RH_KABI_CHECK_SIZE(_item, _size)
|
|
+#endif
|
|
+
|
|
+#define RH_KABI_UNIQUE_ID __PASTE(rh_kabi_hidden_, __LINE__)
|
|
+
|
|
+# define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig
|
|
+# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \
|
|
+ _type (* rh_reserved_##_orig)(_args)
|
|
+# define _RH_KABI_REPLACE(_orig, _new) \
|
|
+ union { \
|
|
+ _new; \
|
|
+ struct { \
|
|
+ _orig; \
|
|
+ } RH_KABI_UNIQUE_ID; \
|
|
+ __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new); \
|
|
+ }
|
|
+
|
|
+# define _RH_KABI_EXCLUDE(_elem) _elem
|
|
+
|
|
+#endif /* __GENKSYMS__ */
|
|
+
|
|
+# define RH_KABI_DEPRECATE(_type, _orig) _RH_KABI_DEPRECATE(_type, _orig);
|
|
+# define RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \
|
|
+ _RH_KABI_DEPRECATE_FN(_type, _orig, _args);
|
|
+# define RH_KABI_REPLACE(_orig, _new) _RH_KABI_REPLACE(_orig, _new);
|
|
+
|
|
+#define _RH_KABI_REPLACE1(_new) _new;
|
|
+#define _RH_KABI_REPLACE2(_new, ...) _new; _RH_KABI_REPLACE1(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE3(_new, ...) _new; _RH_KABI_REPLACE2(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE4(_new, ...) _new; _RH_KABI_REPLACE3(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE5(_new, ...) _new; _RH_KABI_REPLACE4(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE6(_new, ...) _new; _RH_KABI_REPLACE5(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE7(_new, ...) _new; _RH_KABI_REPLACE6(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE8(_new, ...) _new; _RH_KABI_REPLACE7(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE9(_new, ...) _new; _RH_KABI_REPLACE8(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE10(_new, ...) _new; _RH_KABI_REPLACE9(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE11(_new, ...) _new; _RH_KABI_REPLACE10(__VA_ARGS__)
|
|
+#define _RH_KABI_REPLACE12(_new, ...) _new; _RH_KABI_REPLACE11(__VA_ARGS__)
|
|
+
|
|
+#define RH_KABI_REPLACE_SPLIT(_orig, ...) _RH_KABI_REPLACE(_orig, \
|
|
+ struct { __PASTE(_RH_KABI_REPLACE, COUNT_ARGS(__VA_ARGS__))(__VA_ARGS__) });
|
|
+
|
|
+# define RH_KABI_RESERVE(n) _RH_KABI_RESERVE(n);
|
|
+
|
|
+#define _RH_KABI_USE1(n, _new) _RH_KABI_RESERVE(n), _new
|
|
+#define _RH_KABI_USE2(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE1(__VA_ARGS__)
|
|
+#define _RH_KABI_USE3(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE2(__VA_ARGS__)
|
|
+#define _RH_KABI_USE4(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE3(__VA_ARGS__)
|
|
+#define _RH_KABI_USE5(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE4(__VA_ARGS__)
|
|
+#define _RH_KABI_USE6(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE5(__VA_ARGS__)
|
|
+#define _RH_KABI_USE7(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE6(__VA_ARGS__)
|
|
+#define _RH_KABI_USE8(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE7(__VA_ARGS__)
|
|
+#define _RH_KABI_USE9(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE8(__VA_ARGS__)
|
|
+#define _RH_KABI_USE10(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE9(__VA_ARGS__)
|
|
+#define _RH_KABI_USE11(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE10(__VA_ARGS__)
|
|
+#define _RH_KABI_USE12(n, ...) _RH_KABI_RESERVE(n); _RH_KABI_USE11(__VA_ARGS__)
|
|
+
|
|
+#define _RH_KABI_USE(...) _RH_KABI_REPLACE(__VA_ARGS__)
|
|
+#define RH_KABI_USE(n, ...) _RH_KABI_USE(__PASTE(_RH_KABI_USE, COUNT_ARGS(__VA_ARGS__))(n, __VA_ARGS__));
|
|
+
|
|
+# define RH_KABI_USE_SPLIT(n, ...) RH_KABI_REPLACE_SPLIT(_RH_KABI_RESERVE(n), __VA_ARGS__)
|
|
+
|
|
+# define _RH_KABI_RESERVE(n) unsigned long rh_reserved##n
|
|
+
|
|
+#define RH_KABI_EXCLUDE(_elem) _RH_KABI_EXCLUDE(_elem);
|
|
+
|
|
+#define RH_KABI_EXCLUDE_WITH_SIZE(_new, _size) \
|
|
+ union { \
|
|
+ RH_KABI_EXCLUDE(_new) \
|
|
+ unsigned long RH_KABI_UNIQUE_ID[_size]; \
|
|
+ __RH_KABI_CHECK_SIZE(_new, 8 * (_size)) \
|
|
+ };
|
|
+
|
|
+#define RH_KABI_EXTEND_WITH_SIZE(_new, _size) \
|
|
+ RH_KABI_EXTEND(union { \
|
|
+ _new; \
|
|
+ unsigned long RH_KABI_UNIQUE_ID[_size]; \
|
|
+ __RH_KABI_CHECK_SIZE(_new, 8 * (_size)) \
|
|
+ })
|
|
+
|
|
+#define _RH_KABI_AUX_PTR(_struct) \
|
|
+ size_t _struct##_size_rh; \
|
|
+ _RH_KABI_EXCLUDE(struct _struct##_rh *_rh)
|
|
+#define RH_KABI_AUX_PTR(_struct) \
|
|
+ _RH_KABI_AUX_PTR(_struct);
|
|
+
|
|
+#define _RH_KABI_AUX_EMBED(_struct) \
|
|
+ size_t _struct##_size_rh; \
|
|
+ _RH_KABI_EXCLUDE(struct _struct##_rh _rh)
|
|
+#define RH_KABI_AUX_EMBED(_struct) \
|
|
+ _RH_KABI_AUX_EMBED(_struct);
|
|
+
|
|
+#define RH_KABI_USE_AUX_PTR(n1, n2, _struct) \
|
|
+ RH_KABI_USE(n1, n2, \
|
|
+ struct { RH_KABI_AUX_PTR(_struct) })
|
|
+
|
|
+#define RH_KABI_AUX_SET_SIZE(_name, _struct) ({ \
|
|
+ (_name)->_struct##_size_rh = sizeof(struct _struct##_rh); \
|
|
+})
|
|
+
|
|
+#define RH_KABI_AUX_INIT_SIZE(_struct) \
|
|
+ ._struct##_size_rh = sizeof(struct _struct##_rh),
|
|
+
|
|
+#define RH_KABI_AUX(_ptr, _struct, _field) ({ \
|
|
+ size_t __off = offsetof(struct _struct##_rh, _field); \
|
|
+ (_ptr)->_struct##_size_rh > __off ? true : false; \
|
|
+})
|
|
+
|
|
+#endif /* _LINUX_RH_KABI_H */
|
|
diff --git a/include/linux/rmi.h b/include/linux/rmi.h
|
|
index ab7eea01ab42..fff7c5f737fc 100644
|
|
--- a/include/linux/rmi.h
|
|
+++ b/include/linux/rmi.h
|
|
@@ -364,6 +364,7 @@ struct rmi_driver_data {
|
|
|
|
struct rmi4_attn_data attn_data;
|
|
DECLARE_KFIFO(attn_fifo, struct rmi4_attn_data, 16);
|
|
+ struct work_struct attn_work;
|
|
};
|
|
|
|
int rmi_register_transport_device(struct rmi_transport_dev *xport);
|
|
diff --git a/include/linux/security.h b/include/linux/security.h
|
|
index d0eb20f90b26..a99c045730e9 100644
|
|
--- a/include/linux/security.h
|
|
+++ b/include/linux/security.h
|
|
@@ -494,6 +494,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
|
|
int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen);
|
|
int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
|
|
int security_locked_down(enum lockdown_reason what);
|
|
+int security_lock_kernel_down(const char *where, enum lockdown_reason level);
|
|
int lsm_fill_user_ctx(struct lsm_ctx __user *uctx, size_t *uctx_len,
|
|
void *val, size_t val_len, u64 id, u64 flags);
|
|
#else /* CONFIG_SECURITY */
|
|
@@ -1433,6 +1434,10 @@ static inline int security_locked_down(enum lockdown_reason what)
|
|
{
|
|
return 0;
|
|
}
|
|
+static inline int security_lock_kernel_down(const char *where, enum lockdown_reason level)
|
|
+{
|
|
+ return 0;
|
|
+}
|
|
static inline int lsm_fill_user_ctx(struct lsm_ctx __user *uctx,
|
|
size_t *uctx_len, void *val, size_t val_len,
|
|
u64 id, u64 flags)
|
|
diff --git a/init/main.c b/init/main.c
|
|
index 7dce08198b13..0e124798a5e5 100644
|
|
--- a/init/main.c
|
|
+++ b/init/main.c
|
|
@@ -1156,6 +1156,9 @@ static bool __init_or_module initcall_blacklisted(initcall_t fn)
|
|
*/
|
|
strreplace(fn_name, ' ', '\0');
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ init_rh_check_status(fn_name);
|
|
+#endif
|
|
list_for_each_entry(entry, &blacklisted_initcalls, next) {
|
|
if (!strcmp(fn_name, entry->buf)) {
|
|
pr_debug("initcall %s blacklisted\n", fn_name);
|
|
diff --git a/kernel/Makefile b/kernel/Makefile
|
|
index ce105a5558fc..2c2c468fbf91 100644
|
|
--- a/kernel/Makefile
|
|
+++ b/kernel/Makefile
|
|
@@ -12,6 +12,7 @@ obj-y = fork.o exec_domain.o panic.o \
|
|
notifier.o ksysfs.o cred.o reboot.o \
|
|
async.o range.o smpboot.o ucount.o regset.o ksyms_common.o
|
|
|
|
+obj-$(CONFIG_RHEL_DIFFERENCES) += rh_messages.o
|
|
obj-$(CONFIG_USERMODE_DRIVER) += usermode_driver.o
|
|
obj-$(CONFIG_MULTIUSER) += groups.o
|
|
obj-$(CONFIG_VHOST_TASK) += vhost_task.o
|
|
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
|
|
index a1f18681721c..22dbfd6ec0e1 100644
|
|
--- a/kernel/bpf/syscall.c
|
|
+++ b/kernel/bpf/syscall.c
|
|
@@ -26,6 +26,7 @@
|
|
#include <linux/ctype.h>
|
|
#include <linux/nospec.h>
|
|
#include <linux/audit.h>
|
|
+#include <linux/init.h>
|
|
#include <uapi/linux/btf.h>
|
|
#include <linux/pgtable.h>
|
|
#include <linux/bpf_lsm.h>
|
|
@@ -58,6 +59,23 @@ static DEFINE_SPINLOCK(map_idr_lock);
|
|
static DEFINE_IDR(link_idr);
|
|
static DEFINE_SPINLOCK(link_idr_lock);
|
|
|
|
+static int __init unprivileged_bpf_setup(char *str)
|
|
+{
|
|
+ unsigned long disabled;
|
|
+ if (!kstrtoul(str, 0, &disabled))
|
|
+ sysctl_unprivileged_bpf_disabled = !!disabled;
|
|
+
|
|
+ if (!sysctl_unprivileged_bpf_disabled) {
|
|
+ pr_warn("Unprivileged BPF has been enabled "
|
|
+ "(unprivileged_bpf_disabled=0 has been supplied "
|
|
+ "in boot parameters), tainting the kernel");
|
|
+ add_taint(TAINT_UNPRIVILEGED_BPF, LOCKDEP_STILL_OK);
|
|
+ }
|
|
+
|
|
+ return 1;
|
|
+}
|
|
+__setup("unprivileged_bpf_disabled=", unprivileged_bpf_setup);
|
|
+
|
|
int sysctl_unprivileged_bpf_disabled __read_mostly =
|
|
IS_BUILTIN(CONFIG_BPF_UNPRIV_DEFAULT_OFF) ? 2 : 0;
|
|
|
|
@@ -5776,6 +5794,11 @@ static int bpf_unpriv_handler(struct ctl_table *table, int write,
|
|
if (write && !ret) {
|
|
if (locked_state && unpriv_enable != 1)
|
|
return -EPERM;
|
|
+ if (!unpriv_enable) {
|
|
+ pr_warn("Unprivileged BPF has been enabled, "
|
|
+ "tainting the kernel");
|
|
+ add_taint(TAINT_UNPRIVILEGED_BPF, LOCKDEP_STILL_OK);
|
|
+ }
|
|
*(int *)table->data = unpriv_enable;
|
|
}
|
|
|
|
diff --git a/kernel/module/main.c b/kernel/module/main.c
|
|
index 36681911c05a..f0422a91bf7f 100644
|
|
--- a/kernel/module/main.c
|
|
+++ b/kernel/module/main.c
|
|
@@ -528,6 +528,7 @@ static struct module_attribute modinfo_##field = { \
|
|
|
|
MODINFO_ATTR(version);
|
|
MODINFO_ATTR(srcversion);
|
|
+MODINFO_ATTR(rhelversion);
|
|
|
|
static struct {
|
|
char name[MODULE_NAME_LEN + 1];
|
|
@@ -980,6 +981,7 @@ struct module_attribute *modinfo_attrs[] = {
|
|
&module_uevent,
|
|
&modinfo_version,
|
|
&modinfo_srcversion,
|
|
+ &modinfo_rhelversion,
|
|
&modinfo_initstate,
|
|
&modinfo_coresize,
|
|
#ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
|
|
@@ -2805,6 +2807,11 @@ static int early_mod_check(struct load_info *info, int flags)
|
|
return -EPERM;
|
|
}
|
|
|
|
+#ifdef CONFIG_RHEL_DIFFERENCES
|
|
+ if (get_modinfo(info, "intree"))
|
|
+ module_rh_check_status(info->name);
|
|
+#endif
|
|
+
|
|
err = rewrite_section_headers(info, flags);
|
|
if (err)
|
|
return err;
|
|
diff --git a/kernel/module/signing.c b/kernel/module/signing.c
|
|
index a2ff4242e623..f0d2be1ee4f1 100644
|
|
--- a/kernel/module/signing.c
|
|
+++ b/kernel/module/signing.c
|
|
@@ -61,10 +61,17 @@ int mod_verify_sig(const void *mod, struct load_info *info)
|
|
modlen -= sig_len + sizeof(ms);
|
|
info->len = modlen;
|
|
|
|
- return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
|
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
|
VERIFY_USE_SECONDARY_KEYRING,
|
|
VERIFYING_MODULE_SIGNATURE,
|
|
NULL, NULL);
|
|
+ if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) {
|
|
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
|
|
+ VERIFY_USE_PLATFORM_KEYRING,
|
|
+ VERIFYING_MODULE_SIGNATURE,
|
|
+ NULL, NULL);
|
|
+ }
|
|
+ return ret;
|
|
}
|
|
|
|
int module_sig_check(struct load_info *info, int flags)
|
|
diff --git a/kernel/panic.c b/kernel/panic.c
|
|
index 2807639aab51..914c2b14c184 100644
|
|
--- a/kernel/panic.c
|
|
+++ b/kernel/panic.c
|
|
@@ -483,6 +483,19 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = {
|
|
[ TAINT_AUX ] = { 'X', ' ', true },
|
|
[ TAINT_RANDSTRUCT ] = { 'T', ' ', true },
|
|
[ TAINT_TEST ] = { 'N', ' ', true },
|
|
+ [ TAINT_19 ] = { '?', '-', false },
|
|
+ [ TAINT_20 ] = { '?', '-', false },
|
|
+ [ TAINT_21 ] = { '?', '-', false },
|
|
+ [ TAINT_22 ] = { '?', '-', false },
|
|
+ [ TAINT_23 ] = { '?', '-', false },
|
|
+ [ TAINT_24 ] = { '?', '-', false },
|
|
+ [ TAINT_25 ] = { '?', '-', false },
|
|
+ [ TAINT_PARTNER_SUPPORTED ] = { 'p', ' ', true },
|
|
+ [ TAINT_SUPPORT_REMOVED ] = { 'h', ' ', false },
|
|
+ [ TAINT_RESERVED28 ] = { '?', '-', false },
|
|
+ [ TAINT_RESERVED29 ] = { '?', '-', false },
|
|
+ [ TAINT_RESERVED30 ] = { '?', '-', false },
|
|
+ [ TAINT_UNPRIVILEGED_BPF ] = { 'u', ' ', false },
|
|
};
|
|
|
|
/**
|
|
diff --git a/kernel/rh_messages.c b/kernel/rh_messages.c
|
|
new file mode 100644
|
|
index 000000000000..bb69e8965748
|
|
--- /dev/null
|
|
+++ b/kernel/rh_messages.c
|
|
@@ -0,0 +1,414 @@
|
|
+/*
|
|
+ * The following functions are used by Red Hat to indicate to users that
|
|
+ * hardware and drivers are unsupported, or have limited support in RHEL major
|
|
+ * and minor releases. These functions output loud warning messages to the end
|
|
+ * user and should be USED WITH CAUTION.
|
|
+ *
|
|
+ * Any use of these functions _MUST_ be documented in the RHEL Release Notes,
|
|
+ * and have approval of management.
|
|
+ *
|
|
+ * Generally, the process of disabling a driver or device in RHEL requires the
|
|
+ * driver or device to be marked as 'deprecated' in all existing releases, and
|
|
+ * then either 'unmaintained' or 'disabled' in a future release.
|
|
+ *
|
|
+ * In general, deprecated and unmaintained drivers continue to receive security
|
|
+ * related fixes until they are disabled.
|
|
+ */
|
|
+
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/module.h>
|
|
+#include <linux/pci.h>
|
|
+#include "rh_messages.h"
|
|
+
|
|
+/**
|
|
+ * mark_hardware_unmaintained() - Mark hardware as unmaintained.
|
|
+ * @driver_name: driver name
|
|
+ * @fmt: format for device description
|
|
+ * @...: args for device description
|
|
+ *
|
|
+ * Called to notify users that the device will no longer be tested on a routine
|
|
+ * basis and driver code associated with this device is no longer being updated.
|
|
+ * Red Hat may, at their own discretion, fix security-related and critical
|
|
+ * issues. Support for this device will be disabled in a future major release
|
|
+ * and users deploying this device should plan to replace the device in
|
|
+ * production systems.
|
|
+ *
|
|
+ * This function should be used when the driver's usage can be tied to a
|
|
+ * specific hardware device. For example, a network device driver loading on a
|
|
+ * specific device that is no longer maintained by the manufacturer.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused mark_hardware_unmaintained(const char *driver_name, char *fmt, ...)
|
|
+{
|
|
+ char device_description[DEV_DESC_LEN];
|
|
+ va_list args;
|
|
+
|
|
+ va_start(args, fmt);
|
|
+ vsnprintf(device_description, DEV_DESC_LEN, fmt, args);
|
|
+ pr_crit(RH_UNMAINT_HW,
|
|
+ driver_name, device_description);
|
|
+ va_end(args);
|
|
+}
|
|
+EXPORT_SYMBOL(mark_hardware_unmaintained);
|
|
+
|
|
+/**
|
|
+ * mark_hardware_deprecated() - Mark hardware as deprecated.
|
|
+ * @driver_name: driver name
|
|
+ * @fmt: format for device description
|
|
+ * @...: args for device description
|
|
+ *
|
|
+ * Called to notify users that support for the device is planned to be
|
|
+ * unmaintained in a future major release, and will eventually be disabled in a
|
|
+ * future major release. This device should not be used in new production
|
|
+ * environments and users should replace the device in production systems.
|
|
+ *
|
|
+ * This function should be used when the driver's usage can be tied to a
|
|
+ * specific hardware device. For example, a network device driver loading on a
|
|
+ * specific device that is no longer maintained by the manufacturer.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused mark_hardware_deprecated(const char *driver_name, char *fmt, ...)
|
|
+{
|
|
+ char device_description[DEV_DESC_LEN];
|
|
+ va_list args;
|
|
+
|
|
+ va_start(args, fmt);
|
|
+ vsnprintf(device_description, DEV_DESC_LEN, fmt, args);
|
|
+ pr_crit(RH_DEPRECATED_HW,
|
|
+ driver_name, device_description);
|
|
+ va_end(args);
|
|
+}
|
|
+
|
|
+/**
|
|
+ * mark_hardware_disabled() - Mark a driver as removed.
|
|
+ * @driver_name: driver name
|
|
+ * @fmt: format for device description
|
|
+ * @...: args for device description
|
|
+ *
|
|
+ * Called to notify users that a device's support has been completely disabled
|
|
+ * and no future support updates will occur. This device cannot be used in new
|
|
+ * production environments, and users must replace the device in production
|
|
+ * systems.
|
|
+ *
|
|
+ * This function should be used when the driver's usage can be tied to a
|
|
+ * specific hardware device. For example, a network device driver loading on a
|
|
+ * specific device that is no longer maintained by the manufacturer.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void __maybe_unused mark_hardware_disabled(const char *driver_name, char *fmt, ...)
|
|
+{
|
|
+ char device_description[DEV_DESC_LEN];
|
|
+ va_list args;
|
|
+
|
|
+ va_start(args, fmt);
|
|
+ vsnprintf(device_description, DEV_DESC_LEN, fmt, args);
|
|
+ pr_crit(RH_DISABLED_HW,
|
|
+ driver_name, device_description);
|
|
+ va_end(args);
|
|
+}
|
|
+
|
|
+#ifdef CONFIG_PCI
|
|
+/**
|
|
+ * pci_hw_deprecated() - Mark a PCI device deprecated.
|
|
+ * @dev: the PCI device structure to match against
|
|
+ *
|
|
+ * Called to check if this @dev is in the list of deprecated devices.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void __maybe_unused pci_hw_deprecated(struct pci_dev *dev)
|
|
+{
|
|
+ const struct pci_device_id *ret = pci_match_id(rh_deprecated_pci_devices, dev);
|
|
+
|
|
+ if (!ret)
|
|
+ return;
|
|
+
|
|
+ mark_hardware_deprecated(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
|
|
+ dev->device, dev->vendor, pci_name(dev));
|
|
+}
|
|
+
|
|
+/**
|
|
+ * pci_hw_unmaintained() - Mark a PCI device unmaintained.
|
|
+ * @dev: the PCI device structure to match against
|
|
+ *
|
|
+ * Called to check if this @dev is in the list of unmaintained devices.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void pci_hw_unmaintained(struct pci_dev *dev)
|
|
+{
|
|
+ const struct pci_device_id *ret = pci_match_id(rh_unmaintained_pci_devices, dev);
|
|
+
|
|
+ if (!ret)
|
|
+ return;
|
|
+
|
|
+ mark_hardware_unmaintained(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
|
|
+ dev->device, dev->vendor, pci_name(dev));
|
|
+}
|
|
+
|
|
+/**
|
|
+ * pci_hw_disabled() - Mark a PCI device disabled.
|
|
+ * @dev: the PCI device structure to match against
|
|
+ *
|
|
+ * Called to check if this @dev is in the list of disabled devices.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static bool __maybe_unused pci_hw_disabled(struct pci_dev *dev)
|
|
+{
|
|
+ const struct pci_device_id *ret = pci_match_id(rh_disabled_pci_devices, dev);
|
|
+
|
|
+ if (!ret)
|
|
+ return false;
|
|
+
|
|
+ mark_hardware_disabled(dev_driver_string(&dev->dev), "%04X:%04X @ %s",
|
|
+ dev->device, dev->vendor, pci_name(dev));
|
|
+ return true;
|
|
+}
|
|
+#endif
|
|
+
|
|
+/**
|
|
+ * driver_unmaintained() - check to see if a driver is unmaintained
|
|
+ * @module_name: module name
|
|
+ *
|
|
+ * Called to notify users that a driver will no longer be tested on a routine
|
|
+ * basis and the driver code is no longer being updated. Red Hat may fix
|
|
+ * security-related and critical issues. Support for this driver will be
|
|
+ * disabled in a future major release, and users should replace any affected
|
|
+ * devices in production systems.
|
|
+ *
|
|
+ * This function should be used when a driver's usage cannot be tied to a
|
|
+ * specific hardware device. For example, a network bonding driver or a higher
|
|
+ * level storage layer driver that is no longer maintained upstream.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void __maybe_unused driver_unmaintained(const char* module_name)
|
|
+{
|
|
+ int i = 0;
|
|
+
|
|
+ while (rh_unmaintained_drivers[i]) {
|
|
+ if (strcmp(rh_unmaintained_drivers[i], module_name) == 0) {
|
|
+ pr_crit(RH_UNMAINT_DR, module_name);
|
|
+ return;
|
|
+ }
|
|
+ i++;
|
|
+ }
|
|
+}
|
|
+
|
|
+/**
|
|
+ * driver_deprecated() - check to see if a driver is deprecated
|
|
+ * @driver_name: module name
|
|
+ *
|
|
+ * Called to notify users that support for this driver is planned to be
|
|
+ * unmaintained in a future major release, and will eventually be disabled in a
|
|
+ * future major release. This driver should not be used in new production
|
|
+ * environments and users should replace any affected devices in production
|
|
+ * systems.
|
|
+ *
|
|
+ * This function should be used when a driver's usage cannot be tied to a
|
|
+ * specific hardware device. For example, a network bonding driver or a higher
|
|
+ * level storage layer driver that is no longer maintained upstream.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void __maybe_unused driver_deprecated(const char* module_name)
|
|
+{
|
|
+ int i = 0;
|
|
+
|
|
+ while (rh_deprecated_drivers[i]) {
|
|
+ if (strcmp(rh_deprecated_drivers[i], module_name) == 0) {
|
|
+ pr_crit(RH_DEPRECATED_DR, module_name);
|
|
+ return;
|
|
+ }
|
|
+ i++;
|
|
+ }
|
|
+}
|
|
+
|
|
+/* There is no driver_disabled() function. Disabled drivers are configured off ;). */
|
|
+
|
|
+/**
|
|
+ * init_fn_unmaintained - check to see if a built-in driver is unmaintained.
|
|
+ * @fn_name: module's module_init function name
|
|
+ *
|
|
+ * Called to notify users that a built-in driver will no longer be tested on a routine
|
|
+ * basis and the built-in driver code is no longer being updated. Red Hat may fix
|
|
+ * security-related and critical issues. Support for this built-in driver will be
|
|
+ * disabled in a future major release, and users should replace any affected
|
|
+ * devices in production systems.
|
|
+ *
|
|
+ * This function should be used when a built-in driver's usage cannot be tied to a
|
|
+ * specific hardware device. For example, a network bonding driver or a higher
|
|
+ * level storage layer driver that is no longer maintained upstream.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+
|
|
+static void __maybe_unused init_fn_unmaintained(char* fn_name)
|
|
+{
|
|
+ int i = 0;
|
|
+
|
|
+ while (rh_unmaintained_init_fns[i]) {
|
|
+ if (strcmp(rh_unmaintained_init_fns[i], fn_name) == 0) {
|
|
+ pr_crit(RH_UNMAINT_DR, fn_name);
|
|
+ return;
|
|
+ }
|
|
+ i++;
|
|
+ }
|
|
+}
|
|
+
|
|
+/**
|
|
+ * init_fn_deprecated() - check to see if a built-in driver is deprecated
|
|
+ * @fn_name: module's module_init function name
|
|
+ *
|
|
+ * Called to notify users that support for this built-in driver is planned to be
|
|
+ * unmaintained in a future major release, and will eventually be disabled in a
|
|
+ * future major release. This driver should not be used in new production
|
|
+ * environments and users should replace any affected devices in production
|
|
+ * systems.
|
|
+ *
|
|
+ * This function should be used when a built-in driver's usage cannot be tied to a
|
|
+ * specific hardware device. For example, a network bonding driver or a higher
|
|
+ * level storage layer driver that is no longer maintained upstream.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+static void __maybe_unused init_fn_deprecated(char* fn_name)
|
|
+{
|
|
+ int i = 0;
|
|
+
|
|
+ while (rh_deprecated_init_fns[i]) {
|
|
+ if (strcmp(rh_deprecated_init_fns[i], fn_name) == 0) {
|
|
+ pr_crit(RH_DEPRECATED_DR, fn_name);
|
|
+ return;
|
|
+ }
|
|
+ i++;
|
|
+ }
|
|
+}
|
|
+
|
|
+/**
|
|
+ * mark_tech_preview() - Mark driver or kernel subsystem as 'Tech Preview'
|
|
+ * @msg: Driver or kernel subsystem name
|
|
+ *
|
|
+ * Called to minimize the support status of a new driver. This does TAINT the
|
|
+ * kernel. Calling this function indicates that the driver or subsystem has
|
|
+ * had limited testing and is not marked for full support within this RHEL
|
|
+ * minor release. The next RHEL minor release may contain full support for
|
|
+ * this driver. Red Hat does not guarantee that bugs reported against this
|
|
+ * driver or subsystem will be resolved.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused mark_tech_preview(const char *msg, struct module *mod)
|
|
+{
|
|
+ const char *str = NULL;
|
|
+
|
|
+ if (msg)
|
|
+ str = msg;
|
|
+#ifdef CONFIG_MODULES
|
|
+ else if (mod)
|
|
+ str = mod->name;
|
|
+#endif
|
|
+
|
|
+ pr_warn(RH_TECH_PREVIEW, (str ? str : "kernel"));
|
|
+ add_taint(TAINT_AUX, LOCKDEP_STILL_OK);
|
|
+#ifdef CONFIG_MODULES
|
|
+ if (mod)
|
|
+ mod->taints |= (1U << TAINT_AUX);
|
|
+#endif
|
|
+}
|
|
+EXPORT_SYMBOL(mark_tech_preview);
|
|
+
|
|
+/**
|
|
+ * mark_partner_supported() - Mark driver or kernel subsystem as 'Partner Supported'
|
|
+ * @msg: Driver or kernel subsystem name
|
|
+ *
|
|
+ * Called to minimize the support status of a new driver. This does TAINT the
|
|
+ * kernel. Calling this function indicates that the driver or subsystem
|
|
+ * is not supported directly by Red Hat but by a partner engineer.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused mark_partner_supported(const char *msg, struct module *mod)
|
|
+{
|
|
+ const char *str = NULL;
|
|
+
|
|
+ if (msg)
|
|
+ str = msg;
|
|
+#ifdef CONFIG_MODULES
|
|
+ else if (mod)
|
|
+ str = mod->name;
|
|
+#endif
|
|
+
|
|
+ pr_warn(RH_PARTNER_SUPPORTED, (str ? str : "kernel"));
|
|
+ add_taint(TAINT_PARTNER_SUPPORTED, LOCKDEP_STILL_OK);
|
|
+#ifdef CONFIG_MODULES
|
|
+ if (mod)
|
|
+ mod->taints |= (1U << TAINT_PARTNER_SUPPORTED);
|
|
+#endif
|
|
+}
|
|
+EXPORT_SYMBOL(mark_partner_supported);
|
|
+
|
|
+/*
|
|
+ *
|
|
+ * Functions called by 'main' kernel code.
|
|
+ *
|
|
+ */
|
|
+
|
|
+#ifdef CONFIG_PCI
|
|
+/**
|
|
+ * pci_rh_check_status - checks the status of a PCI device.
|
|
+ * @pci_dev: PCI device to be examined
|
|
+ *
|
|
+ * This function is called by the PCI driver subsystem to check the status of a
|
|
+ * PCI device.
|
|
+ *
|
|
+ * This function returns true if the PCI device is disabled, and false otherwise.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+bool __maybe_unused pci_rh_check_status(struct pci_dev *pci_dev)
|
|
+{
|
|
+ if (pci_dev->driver->driver.owner != NULL) {
|
|
+ if (!test_bit(TAINT_OOT_MODULE, &pci_dev->driver->driver.owner->taints)) {
|
|
+ pci_hw_unmaintained(pci_dev);
|
|
+ pci_hw_deprecated(pci_dev);
|
|
+ return pci_hw_disabled(pci_dev);
|
|
+ }
|
|
+ }
|
|
+ return false;
|
|
+}
|
|
+#endif
|
|
+
|
|
+/** module_rh_check_status - checks the status of a module.
|
|
+ * @module_name: Name of module to be examined
|
|
+ *
|
|
+ * This function is called by the module loading code to check the status of a
|
|
+ * module.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused module_rh_check_status(const char * module_name)
|
|
+{
|
|
+ driver_unmaintained(module_name);
|
|
+ driver_deprecated(module_name);
|
|
+}
|
|
+
|
|
+/**
|
|
+ * init_rh_check_status - checks the status of a built-in module.
|
|
+ * @fn_name: init function of module to be examined
|
|
+ *
|
|
+ * This function is called by the init code to check the status of a built-in module.
|
|
+ * When a module is built-in, the module_init() function is converted into an initcall.
|
|
+ * The initcall is the called during boot with the other system initcalls.
|
|
+ *
|
|
+ * Reserved for Internal Red Hat use only.
|
|
+ */
|
|
+void __maybe_unused init_rh_check_status(char *fn_name)
|
|
+{
|
|
+ init_fn_deprecated(fn_name);
|
|
+ init_fn_unmaintained(fn_name);
|
|
+}
|
|
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
|
|
new file mode 100644
|
|
index 000000000000..616692b1ac11
|
|
--- /dev/null
|
|
+++ b/kernel/rh_messages.h
|
|
@@ -0,0 +1,109 @@
|
|
+/*
|
|
+ * WARNING: This file is auto-generated by an internal Red Hat script and,
|
|
+ * in general, should not be modified by hand.
|
|
+ */
|
|
+
|
|
+/*
|
|
+ * The following tables are used by Red Hat to define what hardware and drivers
|
|
+ * are unsupported, or have limited support in RHEL major and minor releases.
|
|
+ *
|
|
+ * Generally, the process of disabling a driver or device in RHEL requires the
|
|
+ * driver or device to be marked as 'deprecated' in all existing releases, and
|
|
+ * then either 'unmaintained' or 'disabled' in a future release.
|
|
+ *
|
|
+ * In general, deprecated and unmaintained drivers continue to receive security
|
|
+ * related fixes until they are disabled.
|
|
+ */
|
|
+
|
|
+#ifndef __RH_MESSAGES_H
|
|
+#define __RH_MESSAGES_H
|
|
+
|
|
+#include <linux/version.h>
|
|
+#include <linux/pci.h>
|
|
+
|
|
+#define DEV_DESC_LEN 256
|
|
+
|
|
+#define RH_UNMAINT_HW "Warning: Unmaintained Hardware is detected: %s:%s\n"
|
|
+
|
|
+#define RH_UNMAINT_DR "Warning: Unmaintained driver is detected: %s\n"
|
|
+
|
|
+#define RH_DEPRECATED_HW "Warning: Deprecated Hardware is detected: %s:%s " \
|
|
+ "will not be maintained in a future major release " \
|
|
+ "and may be disabled\n"
|
|
+
|
|
+#define RH_DEPRECATED_DR "Warning: Deprecated Driver is detected: %s will " \
|
|
+ "not be maintained in a future major release and " \
|
|
+ "may be disabled\n"
|
|
+
|
|
+#define RH_DISABLED_HW "Warning: Disabled Hardware is detected: %s:%s is " \
|
|
+ "no longer enabled in this release.\n"
|
|
+
|
|
+#define RH_TECH_PREVIEW "TECH PREVIEW: %s may not be fully supported.\n" \
|
|
+ "Please review provided documentation for " \
|
|
+ "limitations.\n"
|
|
+
|
|
+#define RH_PARTNER_SUPPORTED "Warning: %s is a Partner supported GPL " \
|
|
+ "module and not supported directly by Red Hat.\n"
|
|
+
|
|
+#if RHEL_MAJOR == 9
|
|
+
|
|
+static const char *rh_deprecated_drivers[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_deprecated_init_fns[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_unmaintained_drivers[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_unmaintained_init_fns[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_disabled_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+
|
|
+#else /* RHEL-10 */
|
|
+
|
|
+static const char *rh_deprecated_drivers[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_deprecated_init_fns[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_unmaintained_drivers[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const char *rh_unmaintained_init_fns[] = {
|
|
+ 0 /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_disabled_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+
|
|
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
|
+ {0} /* Terminating entry */
|
|
+};
|
|
+#endif /* RHEL_MAJOR */
|
|
+
|
|
+#endif /* __RH_MESSAGES_H */
|
|
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
|
|
index bf7c4b4b5ff4..31b9d3e4faf7 100644
|
|
--- a/scripts/mod/modpost.c
|
|
+++ b/scripts/mod/modpost.c
|
|
@@ -22,6 +22,7 @@
|
|
#include <errno.h>
|
|
#include "modpost.h"
|
|
#include "../../include/linux/license.h"
|
|
+#include "../../include/generated/uapi/linux/version.h"
|
|
|
|
static bool module_enabled;
|
|
/* Are we using CONFIG_MODVERSIONS? */
|
|
@@ -1992,6 +1993,12 @@ static void write_buf(struct buffer *b, const char *fname)
|
|
}
|
|
}
|
|
|
|
+static void add_rhelversion(struct buffer *b, struct module *mod)
|
|
+{
|
|
+ buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR,
|
|
+ RHEL_MINOR);
|
|
+}
|
|
+
|
|
static void write_if_changed(struct buffer *b, const char *fname)
|
|
{
|
|
char *tmp;
|
|
@@ -2052,6 +2059,7 @@ static void write_mod_c_file(struct module *mod)
|
|
add_depends(&buf, mod);
|
|
add_moddevtable(&buf, mod);
|
|
add_srcversion(&buf, mod);
|
|
+ add_rhelversion(&buf, mod);
|
|
|
|
ret = snprintf(fname, sizeof(fname), "%s.mod.c", mod->name);
|
|
if (ret >= sizeof(fname)) {
|
|
diff --git a/scripts/tags.sh b/scripts/tags.sh
|
|
index 191e0461d6d5..e6f418b3e948 100755
|
|
--- a/scripts/tags.sh
|
|
+++ b/scripts/tags.sh
|
|
@@ -16,6 +16,8 @@ fi
|
|
ignore="$(echo "$RCS_FIND_IGNORE" | sed 's|\\||g' )"
|
|
# tags and cscope files should also ignore MODVERSION *.mod.c files
|
|
ignore="$ignore ( -name *.mod.c ) -prune -o"
|
|
+# RHEL tags and cscope should also ignore redhat/rpm
|
|
+ignore="$ignore ( -path redhat/rpm ) -prune -o"
|
|
|
|
# ignore arbitrary directories
|
|
if [ -n "${IGNORE_DIRS}" ]; then
|
|
diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c
|
|
index d1fdd113450a..182e8090cfe8 100644
|
|
--- a/security/integrity/platform_certs/load_uefi.c
|
|
+++ b/security/integrity/platform_certs/load_uefi.c
|
|
@@ -74,7 +74,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
|
return NULL;
|
|
|
|
if (*status != EFI_BUFFER_TOO_SMALL) {
|
|
- pr_err("Couldn't get size: 0x%lx\n", *status);
|
|
+ pr_err("Couldn't get size: %s (0x%lx)\n",
|
|
+ efi_status_to_str(*status), *status);
|
|
return NULL;
|
|
}
|
|
|
|
@@ -85,7 +86,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
|
|
*status = efi.get_variable(name, guid, NULL, &lsize, db);
|
|
if (*status != EFI_SUCCESS) {
|
|
kfree(db);
|
|
- pr_err("Error reading db var: 0x%lx\n", *status);
|
|
+ pr_err("Error reading db var: %s (0x%lx)\n",
|
|
+ efi_status_to_str(*status), *status);
|
|
return NULL;
|
|
}
|
|
|
|
diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig
|
|
index e84ddf484010..d0501353a4b9 100644
|
|
--- a/security/lockdown/Kconfig
|
|
+++ b/security/lockdown/Kconfig
|
|
@@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY
|
|
subsystem is fully initialised. If enabled, lockdown will
|
|
unconditionally be called before any other LSMs.
|
|
|
|
+config LOCK_DOWN_IN_EFI_SECURE_BOOT
|
|
+ bool "Lock down the kernel in EFI Secure Boot mode"
|
|
+ default n
|
|
+ depends on EFI && SECURITY_LOCKDOWN_LSM_EARLY
|
|
+ help
|
|
+ UEFI Secure Boot provides a mechanism for ensuring that the firmware
|
|
+ will only load signed bootloaders and kernels. Secure boot mode may
|
|
+ be determined from EFI variables provided by the system firmware if
|
|
+ not indicated by the boot parameters.
|
|
+
|
|
+ Enabling this option results in kernel lockdown being triggered if
|
|
+ EFI Secure Boot is set.
|
|
+
|
|
choice
|
|
prompt "Kernel default lockdown mode"
|
|
default LOCK_DOWN_KERNEL_FORCE_NONE
|
|
diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c
|
|
index cd84d8ea1dfb..e4c70a0312bc 100644
|
|
--- a/security/lockdown/lockdown.c
|
|
+++ b/security/lockdown/lockdown.c
|
|
@@ -74,6 +74,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what)
|
|
|
|
static struct security_hook_list lockdown_hooks[] __ro_after_init = {
|
|
LSM_HOOK_INIT(locked_down, lockdown_is_locked_down),
|
|
+ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down),
|
|
};
|
|
|
|
const struct lsm_id lockdown_lsmid = {
|
|
diff --git a/security/security.c b/security/security.c
|
|
index 7035ee35a393..e1d54a896ef9 100644
|
|
--- a/security/security.c
|
|
+++ b/security/security.c
|
|
@@ -5511,6 +5511,18 @@ int security_locked_down(enum lockdown_reason what)
|
|
}
|
|
EXPORT_SYMBOL(security_locked_down);
|
|
|
|
+/**
|
|
+ * security_lock_kernel_down() - Put the kernel into lock-down mode.
|
|
+ *
|
|
+ * @where: Where the lock-down is originating from (e.g. command line option)
|
|
+ * @level: The lock-down level (can only increase)
|
|
+ */
|
|
+int security_lock_kernel_down(const char *where, enum lockdown_reason level)
|
|
+{
|
|
+ return call_int_hook(lock_kernel_down, 0, where, level);
|
|
+}
|
|
+EXPORT_SYMBOL(security_lock_kernel_down);
|
|
+
|
|
#ifdef CONFIG_PERF_EVENTS
|
|
/**
|
|
* security_perf_event_open() - Check if a perf event open is allowed
|