From 8db3d1f47fd8f9dfa6c83e5e6c20dde1109899cf Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Fri, 1 Apr 2022 14:48:13 -0500 Subject: kernel-5.17.1-200 * Fri Apr 01 2022 Justin M. Forbes [5.17.1-200] - Update Fix 'mem_section' will never be NULL gcc 12 warning to V4 (Justin M. Forbes) - NFSv4.1 provide mount option to toggle trunking discovery (Olga Kornievskaia) - Add the Revert patch so that it can be applied when building dist-git for F34 and F35 (Justin M. Forbes) - redhat/configs/process_configs.sh: Avoid race with find (Prarit Bhargava) - redhat/configs/process_configs.sh: Remove CONTINUEONERROR (Prarit Bhargava) - redhat/configs/process_configs.sh: Fix race with tools generation (Prarit Bhargava) - Bluetooth: hci_core: Rate limit the logging of invalid SCO handle (Luiz Augusto von Dentz) - Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len (Luiz Augusto von Dentz) - Update mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 (Justin M. Forbes) - net: bcmgenet: Use stronger register read/writes to assure ordering (Jeremy Linton) - We actually needed the previous patch from os-build (Justin M. Forbes) - redhat: Fix release tagging (Prarit Bhargava) - Fix up changelog generation for stable releases (Justin M. Forbes) - Remove i686 configs and filters (Justin M. Forbes) - redhat/self-test: Fix shellcheck test (Prarit Bhargava) - redhat/configs: Set CONFIG_X86_AMD_PSTATE built-in on Fedora (Prarit Bhargava) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- Patchlist.changelog | 183 +- filter-i686.sh.fedora | 14 - filter-i686.sh.rhel | 0 filter-modules.sh.fedora | 18 +- filter-modules.sh.rhel | 2 +- generate_crashkernel_default.sh | 25 - kernel-aarch64-debug-fedora.config | 146 +- kernel-aarch64-debug-rhel.config | 119 +- kernel-aarch64-fedora.config | 141 +- kernel-aarch64-rhel.config | 118 +- kernel-armv7hl-debug-fedora.config | 135 +- kernel-armv7hl-fedora.config | 130 +- kernel-armv7hl-lpae-debug-fedora.config | 137 +- kernel-armv7hl-lpae-fedora.config | 132 +- kernel-i686-debug-fedora.config | 7791 ------------------------------- kernel-i686-fedora.config | 7766 ------------------------------ kernel-ppc64le-debug-fedora.config | 115 +- kernel-ppc64le-debug-rhel.config | 112 +- kernel-ppc64le-fedora.config | 110 +- kernel-ppc64le-rhel.config | 111 +- kernel-s390x-debug-fedora.config | 116 +- kernel-s390x-debug-rhel.config | 115 +- kernel-s390x-fedora.config | 111 +- kernel-s390x-rhel.config | 114 +- kernel-s390x-zfcpdump-rhel.config | 117 +- kernel-x86_64-debug-fedora.config | 144 +- kernel-x86_64-debug-rhel.config | 119 +- kernel-x86_64-fedora.config | 139 +- kernel-x86_64-rhel.config | 118 +- kernel.spec | 1375 +++++- mod-internal.list | 8 +- patch-5.16-redhat.patch | 1851 -------- patch-5.17-redhat.patch | 2212 +++++++++ process_configs.sh | 191 +- rpminspect.yaml | 8 + sources | 6 +- x509.genkey.centos | 16 + 37 files changed, 5904 insertions(+), 18161 deletions(-) delete mode 100644 filter-i686.sh.fedora delete mode 100644 filter-i686.sh.rhel delete mode 100755 generate_crashkernel_default.sh delete mode 100644 kernel-i686-debug-fedora.config delete mode 100644 kernel-i686-fedora.config delete mode 100644 patch-5.16-redhat.patch create mode 100644 patch-5.17-redhat.patch create mode 100644 x509.genkey.centos diff --git a/Patchlist.changelog b/Patchlist.changelog index 35abf21f5..b7004c582 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,138 +1,135 @@ -https://gitlab.com/cki-project/kernel-ark/-/commit/c759148911ab75991555a2dde4682d9a0badba29 - c759148911ab75991555a2dde4682d9a0badba29 Revert "drm/i915: Flush TLBs before releasing backing store" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/363f7c429a6526e005366aae4e1eaa8e3b34fc1d + 363f7c429a6526e005366aae4e1eaa8e3b34fc1d Update Fix 'mem_section' will never be NULL gcc 12 warning to V4 -https://gitlab.com/cki-project/kernel-ark/-/commit/caf0c7ca6fe0e84e0ca85aa89a5c881ba46b5fb2 - caf0c7ca6fe0e84e0ca85aa89a5c881ba46b5fb2 drm/i915: Flush TLBs before releasing backing store +"https://gitlab.com/cki-project/kernel-ark/-/commit"/c5539841799051d17639fb1b832f7e5fc0c1c818 + c5539841799051d17639fb1b832f7e5fc0c1c818 NFSv4.1 provide mount option to toggle trunking discovery -https://gitlab.com/cki-project/kernel-ark/-/commit/933f8e20d77088ff01589f9a625a1f8e69681c1b - 933f8e20d77088ff01589f9a625a1f8e69681c1b Revert "[scsi] megaraid_sas: re-add certain pci-ids" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/1526e96221f95f1dfc53d819cdf62ceecb87e8bd + 1526e96221f95f1dfc53d819cdf62ceecb87e8bd Add the Revert patch so that it can be applied when building dist-git for F34 and F35 -https://gitlab.com/cki-project/kernel-ark/-/commit/75d150b4f21dc262f30e552afd5264cd632ea738 - 75d150b4f21dc262f30e552afd5264cd632ea738 Revert "wireguard: disable in FIPS mode" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/8ddc4fc30e26b182187aaf1dbcf1ed0eb99b2b11 + 8ddc4fc30e26b182187aaf1dbcf1ed0eb99b2b11 Bluetooth: hci_core: Rate limit the logging of invalid SCO handle -https://gitlab.com/cki-project/kernel-ark/-/commit/79cb6c7a857b0fbe827e089f447310d025398bf8 - 79cb6c7a857b0fbe827e089f447310d025398bf8 Revert "mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/d5a6eac9a6da1b26edd8d387a3a5883cefd7e5c5 + d5a6eac9a6da1b26edd8d387a3a5883cefd7e5c5 Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len -https://gitlab.com/cki-project/kernel-ark/-/commit/69f8ef6282e92fe7b9d73bea4b633624f0c81130 - 69f8ef6282e92fe7b9d73bea4b633624f0c81130 Revert "[fs] dax: mark tech preview" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/709cbda1fe263ee37d446ad989fd7f8c4bd1f618 + 709cbda1fe263ee37d446ad989fd7f8c4bd1f618 Update mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 -https://gitlab.com/cki-project/kernel-ark/-/commit/38628fda65d468915582dfaad81a859727d128e2 - 38628fda65d468915582dfaad81a859727d128e2 Revert "wireguard: mark as Tech Preview" +"https://gitlab.com/cki-project/kernel-ark/-/commit"/b6493d3f05a910b5a094a256395c9587760d73d4 + b6493d3f05a910b5a094a256395c9587760d73d4 net: bcmgenet: Use stronger register read/writes to assure ordering -https://gitlab.com/cki-project/kernel-ark/-/commit/79b09200275b1ff9e25f1a18c0362fc62a71d318 - 79b09200275b1ff9e25f1a18c0362fc62a71d318 drm/amdgpu: don't do resets on APUs which don't support it +"https://gitlab.com/cki-project/kernel-ark/-/commit"/442a5cb0498230a157a4f482de2d53796a400435 + 442a5cb0498230a157a4f482de2d53796a400435 Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" -https://gitlab.com/cki-project/kernel-ark/-/commit/f344d2d608cb557f983dd45563e1a6dcc05792de - f344d2d608cb557f983dd45563e1a6dcc05792de netfilter: nat: force port remap to prevent shadowing well-known ports +"https://gitlab.com/cki-project/kernel-ark/-/commit"/2151233ebcc5c33b39ed3ba2b5a848f7205d5159 + 2151233ebcc5c33b39ed3ba2b5a848f7205d5159 drm/i915: Temporarily disable selective fetch for PSR2 on ADL-P -https://gitlab.com/cki-project/kernel-ark/-/commit/d713b4695db56e1f5e11d760613981d70fd2f161 - d713b4695db56e1f5e11d760613981d70fd2f161 netfilter: conntrack: tag conntracks picked up in local out hook +"https://gitlab.com/cki-project/kernel-ark/-/commit"/9db0837f0d0b5ddd9b81e1feb1bcbff21ae93106 + 9db0837f0d0b5ddd9b81e1feb1bcbff21ae93106 mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning -https://gitlab.com/cki-project/kernel-ark/-/commit/b6de004a38742064da89b9d69a240e12622e15f8 - b6de004a38742064da89b9d69a240e12622e15f8 x86/PCI: Ignore E820 reservations for bridge windows on newer systems +"https://gitlab.com/cki-project/kernel-ark/-/commit"/f2725627148ae8c46e9d740f8b93aa2fcd1739ec + f2725627148ae8c46e9d740f8b93aa2fcd1739ec Revert "PCI/MSI: Mask MSI-X vectors only on success" -https://gitlab.com/cki-project/kernel-ark/-/commit/95a6dbc9384ba9d4870560fe32ae1a2dffaf77e4 - 95a6dbc9384ba9d4870560fe32ae1a2dffaf77e4 arm64: use common CONFIG_MAX_ZONEORDER for arm kernel +"https://gitlab.com/cki-project/kernel-ark/-/commit"/2d071cdb802a028b5d3a406587b84793a4f9f141 + 2d071cdb802a028b5d3a406587b84793a4f9f141 arm64: use common CONFIG_MAX_ZONEORDER for arm kernel -https://gitlab.com/cki-project/kernel-ark/-/commit/d21b7de5e9aa9dc5998e2b6fd875ce1ef4f1048d - d21b7de5e9aa9dc5998e2b6fd875ce1ef4f1048d [fs] dax: mark tech preview +"https://gitlab.com/cki-project/kernel-ark/-/commit"/738aa194128ecb4b9c90db8509cfdce9db50ef3a + 738aa194128ecb4b9c90db8509cfdce9db50ef3a crypto: rng - Override drivers/char/random in FIPS mode -https://gitlab.com/cki-project/kernel-ark/-/commit/cf23bdfc4b25c03e4d303e6d0eced0b587925e77 - cf23bdfc4b25c03e4d303e6d0eced0b587925e77 [scsi] megaraid_sas: re-add certain pci-ids +"https://gitlab.com/cki-project/kernel-ark/-/commit"/cc927bb8f58a4a87394aeafc9688a2a3ac30fed0 + cc927bb8f58a4a87394aeafc9688a2a3ac30fed0 random: Add hook to override device reads and getrandom(2) -https://gitlab.com/cki-project/kernel-ark/-/commit/f1cda7a3c762da52c1dcba0a34e0f5e6a8bfc66e - f1cda7a3c762da52c1dcba0a34e0f5e6a8bfc66e crypto: rng - Override drivers/char/random in FIPS mode +"https://gitlab.com/cki-project/kernel-ark/-/commit"/bf41f6c72439c34bfbcad7264beda9d617442362 + bf41f6c72439c34bfbcad7264beda9d617442362 RHEL: disable io_uring support -https://gitlab.com/cki-project/kernel-ark/-/commit/d82babc4809c14c5e4a784319df2751ce4644bfb - d82babc4809c14c5e4a784319df2751ce4644bfb random: Add hook to override device reads and getrandom(2) +"https://gitlab.com/cki-project/kernel-ark/-/commit"/1429761073806cf785dfdad697ce771a3fafb617 + 1429761073806cf785dfdad697ce771a3fafb617 nvme: nvme_mpath_init remove multipath check -https://gitlab.com/cki-project/kernel-ark/-/commit/3e256af249bfbb0c3589c88f5510b32eb1ec858e - 3e256af249bfbb0c3589c88f5510b32eb1ec858e nvme: nvme_mpath_init remove multipath check +"https://gitlab.com/cki-project/kernel-ark/-/commit"/2a6a9d6664d8cd6b68560551f8a80898f0867364 + 2a6a9d6664d8cd6b68560551f8a80898f0867364 nvme: decouple basic ANA log page re-read support from native multipathing -https://gitlab.com/cki-project/kernel-ark/-/commit/d24b20e121e90c6f5a94865ac14c99f5b2401bd6 - d24b20e121e90c6f5a94865ac14c99f5b2401bd6 mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos +"https://gitlab.com/cki-project/kernel-ark/-/commit"/cc464f9399e463d2eb01bf2cb02bd94f5e888745 + cc464f9399e463d2eb01bf2cb02bd94f5e888745 nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT -https://gitlab.com/cki-project/kernel-ark/-/commit/2e97fe58abee8f9cebf536c70e72f26c6b0f86b4 - 2e97fe58abee8f9cebf536c70e72f26c6b0f86b4 wireguard: disable in FIPS mode +"https://gitlab.com/cki-project/kernel-ark/-/commit"/9ac12152fb791934f6da2a48b14023e8d919a281 + 9ac12152fb791934f6da2a48b14023e8d919a281 nvme: Return BLK_STS_TARGET if the DNR bit is set -https://gitlab.com/cki-project/kernel-ark/-/commit/d69df95459bf21680fb4ca2c3963ae5a769ad25e - d69df95459bf21680fb4ca2c3963ae5a769ad25e nvme: decouple basic ANA log page re-read support from native multipathing +"https://gitlab.com/cki-project/kernel-ark/-/commit"/dbfc0e9f500e611ff0b81de7e8097493a09e252e + dbfc0e9f500e611ff0b81de7e8097493a09e252e REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 -https://gitlab.com/cki-project/kernel-ark/-/commit/f0d403e93c65aa0eb1031fefb01d865227802f57 - f0d403e93c65aa0eb1031fefb01d865227802f57 nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT +"https://gitlab.com/cki-project/kernel-ark/-/commit"/911eee5c10b84a68308bd7b66cd8eae863befe4f + 911eee5c10b84a68308bd7b66cd8eae863befe4f KEYS: Make use of platform keyring for module signature verify -https://gitlab.com/cki-project/kernel-ark/-/commit/c2b9f006472271c988ed240d53dc625d8604e0e1 - c2b9f006472271c988ed240d53dc625d8604e0e1 nvme: Return BLK_STS_TARGET if the DNR bit is set +"https://gitlab.com/cki-project/kernel-ark/-/commit"/b180dc9bfe0a7e2311e96d8ece0d3a76877801bd + b180dc9bfe0a7e2311e96d8ece0d3a76877801bd Input: rmi4 - remove the need for artificial IRQ in case of HID -https://gitlab.com/cki-project/kernel-ark/-/commit/697b2e87a7524b0581bb7e94b927d3958054ce41 - 697b2e87a7524b0581bb7e94b927d3958054ce41 wireguard: mark as Tech Preview +"https://gitlab.com/cki-project/kernel-ark/-/commit"/cb3795056f925c08d2ef291e28503cec42a76c99 + cb3795056f925c08d2ef291e28503cec42a76c99 ARM: tegra: usb no reset -https://gitlab.com/cki-project/kernel-ark/-/commit/ead96f910a8afb37eef5fee0b62b6c37a29245de - ead96f910a8afb37eef5fee0b62b6c37a29245de REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 +"https://gitlab.com/cki-project/kernel-ark/-/commit"/bc1953d9a3f7084a7e06d0ce52d801393002dd5d + bc1953d9a3f7084a7e06d0ce52d801393002dd5d arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT -https://gitlab.com/cki-project/kernel-ark/-/commit/e24de0c401d8765d923a196b72b7920de87c5cbe - e24de0c401d8765d923a196b72b7920de87c5cbe KEYS: Make use of platform keyring for module signature verify +"https://gitlab.com/cki-project/kernel-ark/-/commit"/5db68e40dbdafebe457a6f3a4c2956e744ec33fc + 5db68e40dbdafebe457a6f3a4c2956e744ec33fc Add option of 13 for FORCE_MAX_ZONEORDER -https://gitlab.com/cki-project/kernel-ark/-/commit/9aa13415dcbe2f9c92e15f792cabf831f82d76ee - 9aa13415dcbe2f9c92e15f792cabf831f82d76ee Input: rmi4 - remove the need for artificial IRQ in case of HID +"https://gitlab.com/cki-project/kernel-ark/-/commit"/cb780b02a945bac79ffdebd87eeab665b4ad4d64 + cb780b02a945bac79ffdebd87eeab665b4ad4d64 s390: Lock down the kernel when the IPL secure flag is set -https://gitlab.com/cki-project/kernel-ark/-/commit/66a0862a142655881bb5239bb021c8bd92bb4a79 - 66a0862a142655881bb5239bb021c8bd92bb4a79 ARM: tegra: usb no reset +"https://gitlab.com/cki-project/kernel-ark/-/commit"/969761f2e44ee74124393c9262c43aa411ef9010 + 969761f2e44ee74124393c9262c43aa411ef9010 efi: Lock down the kernel if booted in secure boot mode -https://gitlab.com/cki-project/kernel-ark/-/commit/850fd3dea5f5b172eaac629baaedd03501887823 - 850fd3dea5f5b172eaac629baaedd03501887823 arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT +"https://gitlab.com/cki-project/kernel-ark/-/commit"/5b082b5e93ac0da9eccd3ebc307c3870dcfa8693 + 5b082b5e93ac0da9eccd3ebc307c3870dcfa8693 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode -https://gitlab.com/cki-project/kernel-ark/-/commit/dd94fe9759ef9bbdf5dc6ef8306635569a524742 - dd94fe9759ef9bbdf5dc6ef8306635569a524742 Add option of 13 for FORCE_MAX_ZONEORDER +"https://gitlab.com/cki-project/kernel-ark/-/commit"/67cf2dc78797e7f6676d4867a75f0dccc182bf4e + 67cf2dc78797e7f6676d4867a75f0dccc182bf4e security: lockdown: expose a hook to lock the kernel down -https://gitlab.com/cki-project/kernel-ark/-/commit/dd43b8d0ccab396ad3396a160436371707e99d08 - dd43b8d0ccab396ad3396a160436371707e99d08 s390: Lock down the kernel when the IPL secure flag is set +"https://gitlab.com/cki-project/kernel-ark/-/commit"/6636a5e389455100ffe774c548e25f65d68dc831 + 6636a5e389455100ffe774c548e25f65d68dc831 Make get_cert_list() use efi_status_to_str() to print error messages. -https://gitlab.com/cki-project/kernel-ark/-/commit/beab9fe7cef6739db1dcc56f0b3697b13c4eb4cd - beab9fe7cef6739db1dcc56f0b3697b13c4eb4cd efi: Lock down the kernel if booted in secure boot mode +"https://gitlab.com/cki-project/kernel-ark/-/commit"/df6297f5d662243a3aceb51505ae395316ed4e92 + df6297f5d662243a3aceb51505ae395316ed4e92 Add efi_status_to_str() and rework efi_status_to_err(). -https://gitlab.com/cki-project/kernel-ark/-/commit/915abdf4a3daedf42640de8f99263b8401801166 - 915abdf4a3daedf42640de8f99263b8401801166 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode +"https://gitlab.com/cki-project/kernel-ark/-/commit"/927292870f81cdd73f2fc25f63e224455cd882b3 + 927292870f81cdd73f2fc25f63e224455cd882b3 arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT -https://gitlab.com/cki-project/kernel-ark/-/commit/261963f8dff272afb4f6b756f156ef99de4f796b - 261963f8dff272afb4f6b756f156ef99de4f796b security: lockdown: expose a hook to lock the kernel down +"https://gitlab.com/cki-project/kernel-ark/-/commit"/f0dbf9b43d38b054812b2f69cff81c110edcf348 + f0dbf9b43d38b054812b2f69cff81c110edcf348 iommu/arm-smmu: workaround DMA mode issues -https://gitlab.com/cki-project/kernel-ark/-/commit/8259edd660c74acc68d1981600f9eb6ced4c6bf2 - 8259edd660c74acc68d1981600f9eb6ced4c6bf2 Make get_cert_list() use efi_status_to_str() to print error messages. +"https://gitlab.com/cki-project/kernel-ark/-/commit"/d6f9d6b208a2378f12a5ebb214844b0924500d70 + d6f9d6b208a2378f12a5ebb214844b0924500d70 ipmi: do not configure ipmi for HPE m400 -https://gitlab.com/cki-project/kernel-ark/-/commit/6e53fcadb02f59cef8304c5ece8dc229369261ea - 6e53fcadb02f59cef8304c5ece8dc229369261ea Add efi_status_to_str() and rework efi_status_to_err(). +"https://gitlab.com/cki-project/kernel-ark/-/commit"/1d4597b7b8f1c20ac6d1d3845bb0336cedf066f3 + 1d4597b7b8f1c20ac6d1d3845bb0336cedf066f3 ahci: thunderx2: Fix for errata that affects stop engine -https://gitlab.com/cki-project/kernel-ark/-/commit/d51adb39c4b508a066df129dd410ba1451f9ae2a - d51adb39c4b508a066df129dd410ba1451f9ae2a arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT +"https://gitlab.com/cki-project/kernel-ark/-/commit"/2a4dda2b720549af21fb82c101686c59b0a9c327 + 2a4dda2b720549af21fb82c101686c59b0a9c327 Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon -https://gitlab.com/cki-project/kernel-ark/-/commit/bc7b87345d3ae8008236b44972197ed7834e5c19 - bc7b87345d3ae8008236b44972197ed7834e5c19 iommu/arm-smmu: workaround DMA mode issues +"https://gitlab.com/cki-project/kernel-ark/-/commit"/fc99e0531403fb88b37e6c61268d76efc9b1387f + fc99e0531403fb88b37e6c61268d76efc9b1387f tags.sh: Ignore redhat/rpm -https://gitlab.com/cki-project/kernel-ark/-/commit/86c2392b82ce974c62d112e9a4881217ceadad51 - 86c2392b82ce974c62d112e9a4881217ceadad51 ipmi: do not configure ipmi for HPE m400 +"https://gitlab.com/cki-project/kernel-ark/-/commit"/f73056738cf5539edc6eac008a18013937c63013 + f73056738cf5539edc6eac008a18013937c63013 put RHEL info into generated headers -https://gitlab.com/cki-project/kernel-ark/-/commit/f1eee1582b15a43476ab06f76a8d0bb8b5208e63 - f1eee1582b15a43476ab06f76a8d0bb8b5208e63 ahci: thunderx2: Fix for errata that affects stop engine +"https://gitlab.com/cki-project/kernel-ark/-/commit"/fd88613d6c9440505a1163a7d9f8ec538d174693 + fd88613d6c9440505a1163a7d9f8ec538d174693 aarch64: acpi scan: Fix regression related to X-Gene UARTs -https://gitlab.com/cki-project/kernel-ark/-/commit/fcb0428b1f158af8e07ff083dcad2ff1d080b147 - fcb0428b1f158af8e07ff083dcad2ff1d080b147 Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon +"https://gitlab.com/cki-project/kernel-ark/-/commit"/0289a4802cb35c5b020a2e29bda909196d41b829 + 0289a4802cb35c5b020a2e29bda909196d41b829 ACPI / irq: Workaround firmware issue on X-Gene based m400 -https://gitlab.com/cki-project/kernel-ark/-/commit/480ea6f96766d9022f43158563d8c3b80749f11a - 480ea6f96766d9022f43158563d8c3b80749f11a tags.sh: Ignore redhat/rpm +"https://gitlab.com/cki-project/kernel-ark/-/commit"/eb6e7ccfc9efc83233d454ff3243c51049dda35e + eb6e7ccfc9efc83233d454ff3243c51049dda35e modules: add rhelversion MODULE_INFO tag -https://gitlab.com/cki-project/kernel-ark/-/commit/c1902a19717b7f3e262e805f0a0731aadd963545 - c1902a19717b7f3e262e805f0a0731aadd963545 aarch64: acpi scan: Fix regression related to X-Gene UARTs +"https://gitlab.com/cki-project/kernel-ark/-/commit"/a46e7d8d11b3506b198e3a6c358950c5309638a8 + a46e7d8d11b3506b198e3a6c358950c5309638a8 ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support -https://gitlab.com/cki-project/kernel-ark/-/commit/bc4a4c917b1e710cfcf48e433b64ed11824ad9f9 - bc4a4c917b1e710cfcf48e433b64ed11824ad9f9 ACPI / irq: Workaround firmware issue on X-Gene based m400 +"https://gitlab.com/cki-project/kernel-ark/-/commit"/fab8720f02633b2d8b1d0df2351a73c6b5db6449 + fab8720f02633b2d8b1d0df2351a73c6b5db6449 Introduce CONFIG_RH_DISABLE_DEPRECATED -https://gitlab.com/cki-project/kernel-ark/-/commit/43eda8d5b31a012edc724761e940d1996e679afc - 43eda8d5b31a012edc724761e940d1996e679afc ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support +"https://gitlab.com/cki-project/kernel-ark/-/commit"/ef2ae19ad4a99580b912338c8b2b5ad44c784578 + ef2ae19ad4a99580b912338c8b2b5ad44c784578 Pull the RHEL version defines out of the Makefile -https://gitlab.com/cki-project/kernel-ark/-/commit/51dfaf8dc482e9568e86d89c0ef910fe34716d5d - 51dfaf8dc482e9568e86d89c0ef910fe34716d5d Pull the RHEL version defines out of the Makefile - -https://gitlab.com/cki-project/kernel-ark/-/commit/34c394fd1a946f96dfd7f9a6da88a3df8975c8a7 - 34c394fd1a946f96dfd7f9a6da88a3df8975c8a7 [initial commit] Add Red Hat variables in the top level makefile +"https://gitlab.com/cki-project/kernel-ark/-/commit"/5c9b05aa2b52594f00c79370ea7bc88c5bed1dc2 + 5c9b05aa2b52594f00c79370ea7bc88c5bed1dc2 [initial commit] Add Red Hat variables in the top level makefile diff --git a/filter-i686.sh.fedora b/filter-i686.sh.fedora deleted file mode 100644 index 3ab2f6325..000000000 --- a/filter-i686.sh.fedora +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -# This is the i686 override file for the core/drivers package split. The -# module directories listed here and in the generic list in filter-modules.sh -# will be moved to the resulting kernel-modules package for this arch. -# Anything not listed in those files will be in the kernel-core package. -# -# Please review the default list in filter-modules.sh before making -# modifications to the overrides below. If something should be removed across -# all arches, remove it in the default instead of per-arch. - -driverdirs="atm auxdisplay bcma bluetooth firewire fpga infiniband leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio w1" - -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation hid-sensor-temperature hid-sensor-humidity target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw hid-asus" diff --git a/filter-i686.sh.rhel b/filter-i686.sh.rhel deleted file mode 100644 index e69de29bb..000000000 diff --git a/filter-modules.sh.fedora b/filter-modules.sh.fedora index fa7298599..2e77c34ee 100755 --- a/filter-modules.sh.fedora +++ b/filter-modules.sh.fedora @@ -25,6 +25,10 @@ netdrvs="appletalk can dsa hamradio ieee802154 ppp slip usb wireless" ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex marvell mellanox neterion nvidia packetengines qlogic rdc sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" +iiodrvs="accel light pressure proximity" + +iiocommondrvs="cros_ec_sensors" + inputdrvs="gameport tablet touchscreen" hiddrvs="surface-hid" @@ -39,7 +43,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dsa ieee802154 l2t drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl nct6775 hid-playstation hid-nintendo" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl nct6775 hid-playstation hid-nintendo asus_wmi_sensors asus_wmi_ec_sensors" # Grab the arch-specific filter list overrides source ./filter-$2.sh @@ -108,6 +112,18 @@ do filter_dir $1 drivers/scsi/${scsi} done +# IIO +for iio in ${iiodrvs} +do + filter_dir $1 drivers/iio/${iio} +done + +# IIO Common +for iio in ${iiocommondrvs} +do + filter_dir $1 drivers/iio/common/${iio} +done + # Input for input in ${inputdrvs} do diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel index 3e22dba11..cc976bb9a 100755 --- a/filter-modules.sh.rhel +++ b/filter-modules.sh.rhel @@ -37,7 +37,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee80215 drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via " -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775 ntc_thermistor" # Grab the arch-specific filter list overrides source ./filter-$2.sh diff --git a/generate_crashkernel_default.sh b/generate_crashkernel_default.sh deleted file mode 100755 index 46d454607..000000000 --- a/generate_crashkernel_default.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -kernelver=$1 && shift -arch=$1 && shift -rootfs=$1 && shift - -output="${rootfs}/lib/modules/${kernelver}/crashkernel.default" - -case $arch in -x86_64|s390*) - ck_cmdline="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" - ;; -arm64|aarch64) - ck_cmdline="crashkernel=2G-:448M" - ;; -powerpc|ppc64*) - ck_cmdline="crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G" - ;; -*) - ck_cmdline="" - ;; -esac - -cat > "$output" <= 20150904-56.git6ebf5d57\ +Requires(pre): ((linux-firmware >= 20150904-56.git6ebf5d57) if linux-firmware)\ +Recommends: linux-firmware\ Requires(preun): systemd >= 200\ Conflicts: xfsprogs < 4.3.0-1\ Conflicts: xorg-x11-drv-vmmouse < 13.0.99\ @@ -1386,8 +1387,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.16.4 -c -mv linux-5.16.4 linux-%{KVERREL} +%setup -q -n kernel-5.17.1 -c +mv linux-5.17.1 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . @@ -1499,6 +1500,18 @@ done cp %{SOURCE82} . RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh %{primary_target} +# We may want to override files from the primary target in case of building +# against a flavour of it (eg. centos not rhel), thus override it here if +# necessary +if [ "%{primary_target}" == "rhel" ]; then +%if 0%{?centos} + echo "Updating scripts/sources to centos version" + RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh centos +%else + echo "Not updating scripts/sources to centos version" +%endif +fi + # end of kernel config %endif @@ -1946,12 +1959,11 @@ BuildKernel() { # Clean up intermediate tools files find $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools \( -iname "*.o" -o -iname "*.cmd" \) -exec rm -f {} + - # Make sure the Makefile and version.h have a matching timestamp so that - # external modules can be built - touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h - - # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. - cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf + # Make sure the Makefile, version.h, and auto.conf have a matching + # timestamp so that external modules can be built + touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile \ + $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h \ + $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf %if %{with_debuginfo} eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id @@ -2075,7 +2087,14 @@ BuildKernel() { # Cleanup rm System.map - cp -r restore/* lib/modules/$KernelVer/. + # Just "cp -r" can be very slow: here, it rewrites _existing files_ + # with open(O_TRUNC). Many filesystems synchronously wait for metadata + # update for such file rewrites (seen in strace as final close syscall + # taking a long time). On a rotational disk, cp was observed to take + # more than 5 minutes on ext4 and more than 15 minutes (!) on xfs. + # With --remove-destination, we avoid this, and copying + # (with enough RAM to cache it) takes 5 seconds: + cp -r --remove-destination restore/* lib/modules/$KernelVer/. rm -rf restore popd @@ -2120,9 +2139,6 @@ BuildKernel() { # prune junk from kernel-devel find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete - # Generate crashkernel default config - %{SOURCE83} "$KernelVer" "$Arch" "$RPM_BUILD_ROOT" - # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer %ifarch x86_64 aarch64 @@ -2664,9 +2680,20 @@ fi\ %define kernel_modules_post() \ %{expand:%%post %{?1:%{1}-}modules}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +if [ ! -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?1:+%{1}} ]; then\ + mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\ + touch %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\ +fi\ %{nil}\ %{expand:%%postun %{?1:%{1}-}modules}\ /sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%posttrans %{?1:%{1}-}modules}\ +if [ -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}} ]; then\ + rm -f %{_localstatedir}/lib/rpm-state/%{name}/need_to_run_dracut_%{KVERREL}%{?1:+%{1}}\ + echo "Running: dracut -f --kver %{KVERREL}%{?1:+%{1}}"\ + dracut -f --kver "%{KVERREL}%{?1:+%{1}}" || exit $?\ +fi\ %{nil} # This macro defines a %%posttrans script for a kernel package. @@ -2681,6 +2708,7 @@ then\ %{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\ fi\ %endif\ +rm -f %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?1:+%{1}}\ /bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\ %{nil} @@ -2701,6 +2729,8 @@ if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\ [ -f /etc/sysconfig/kernel ]; then\ /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\ fi}\ +mkdir -p %{_localstatedir}/lib/rpm-state/%{name}\ +touch %{_localstatedir}/lib/rpm-state/%{name}/installing_core_%{KVERREL}%{?1:+%{1}}\ %{nil} # @@ -2929,7 +2959,6 @@ fi /lib/modules/%{KVERREL}%{?3:+%{3}}/source\ /lib/modules/%{KVERREL}%{?3:+%{3}}/updates\ /lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\ -/lib/modules/%{KVERREL}%{?3:+%{3}}/crashkernel.default\ /lib/modules/%{KVERREL}%{?3:+%{3}}/systemtap\ %{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\ %if %{1}\ @@ -2986,37 +3015,1289 @@ fi # # %changelog -* Sat Jan 29 2022 Justin M. Forbes [5.16.4-0] -- Revert "drm/i915: Flush TLBs before releasing backing store" (Justin M. Forbes) -- Fix up changelog (Justin M. Forbes) -- Add file forgotten in simpledrm revert (Justin M. Forbes) +* Fri Apr 01 2022 Justin M. Forbes [5.17.1-200] +- Update Fix 'mem_section' will never be NULL gcc 12 warning to V4 (Justin M. Forbes) +- NFSv4.1 provide mount option to toggle trunking discovery (Olga Kornievskaia) +- Add the Revert patch so that it can be applied when building dist-git for F34 and F35 (Justin M. Forbes) +- redhat/configs/process_configs.sh: Avoid race with find (Prarit Bhargava) +- redhat/configs/process_configs.sh: Remove CONTINUEONERROR (Prarit Bhargava) +- redhat/configs/process_configs.sh: Fix race with tools generation (Prarit Bhargava) +- Bluetooth: hci_core: Rate limit the logging of invalid SCO handle (Luiz Augusto von Dentz) +- Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len (Luiz Augusto von Dentz) +- Update mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 (Justin M. Forbes) +- net: bcmgenet: Use stronger register read/writes to assure ordering (Jeremy Linton) +- We actually needed the previous patch from os-build (Justin M. Forbes) +- redhat: Fix release tagging (Prarit Bhargava) +- Fix up changelog generation for stable releases (Justin M. Forbes) +- Remove i686 configs and filters (Justin M. Forbes) +- redhat/self-test: Fix shellcheck test (Prarit Bhargava) +- redhat/configs: Set CONFIG_X86_AMD_PSTATE built-in on Fedora (Prarit Bhargava) + +* Mon Mar 28 2022 Justin M. Forbes [5.17.1-300] +- Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" (Linus Torvalds) +- drm/i915: Temporarily disable selective fetch for PSR2 on ADL-P (Lyude Paul) [2065794] +- Fix RHDISTGIT for Fedora (Justin M. Forbes) + +* Wed Mar 23 2022 Justin M. Forbes [5.17.0-300] +- mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning (Waiman Long) +- Turn on RANDOM_TRUST_BOOTLOADER (Justin M. Forbes) +- Revert "PCI/MSI: Mask MSI-X vectors only on success" (Justin M. Forbes) +- Define SNAPSHOT correctly for VERSION_ON_UPSTREAM=0 (Justin M. Forbes) +- Config fixups after some RHEL specific patches were reverted (Justin M. Forbes) +- Basic Fedora Branch setup (Justin M. Forbes) +- Reset Makefile.rhelver for the 5.18 cycle (Justin M. Forbes) + +* Sat Mar 19 2022 Fedora Kernel Team [5.17-0.rc8.34e047aa16c0.124] +- 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) + +* Fri Mar 18 2022 Fedora Kernel Team [5.17-0.rc8.551acdc3c3d2.124] +- Set CONFIG_SND_SOC_SOF_MT8195 for Fedora and turn on VDPA_SIM_BLOCK (Justin M. Forbes) + +* Wed Mar 16 2022 Fedora Kernel Team [5.17-0.rc8.56e337f2cf13.123] +- Add asus_wmi_sensors modules to filters for Fedora (Justin M. Forbes) +- redhat: spec: trigger dracut when modules are installed separately (Jan Stancek) + +* Sat Mar 12 2022 Fedora Kernel Team [5.17-0.rc7.68453767131a.120] +- 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) + +* Fri Mar 11 2022 Fedora Kernel Team [5.17-0.rc7.79b00034e9dc.119] +- 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) + +* Thu Mar 10 2022 Fedora Kernel Team [5.17-0.rc7.3bf7edc84a9e.118] +- 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) + +* Tue Mar 08 2022 Fedora Kernel Team [5.17-0.rc7.ea4424be1688.116] +- redhat: Unify genspec.sh and kernel.spec variable names (Prarit Bhargava) +- redhat/genspec.sh: Remove options and use Makefile variables (Prarit Bhargava) + +* Sat Mar 05 2022 Fedora Kernel Team [5.17-0.rc6.ac84e82f78cb.113] +- Add rebase note for 5.17 on Fedora stable (Justin M. Forbes) +- More Fedora config updates for 5.17 (Justin M. Forbes) + +* Thu Mar 03 2022 Fedora Kernel Team [5.17-0.rc6.5859a2b19911.111] +- redhat/configs: Disable CONFIG_MACINTOSH_DRIVERS in RHEL. (Prarit Bhargava) + +* Wed Mar 02 2022 Fedora Kernel Team [5.17-0.rc6.fb184c4af9b9.110] +- redhat: Fix "make dist-release-finish" to use the correct NVR variables (Neal Gompa) [2053836] + +* Tue Mar 01 2022 Fedora Kernel Team [5.17-0.rc6.719fce7539cd.109] +- Build CROS_EC Modules (Jason Montleon) + +* Mon Feb 28 2022 Fedora Kernel Team [5.17-0.rc6.108] +- redhat: configs: change aarch64 default dma domain to lazy (Jerry Snitselaar) +- redhat: configs: disable ATM protocols (Davide Caratti) + +* Sat Feb 26 2022 Fedora Kernel Team [5.17-0.rc5.9137eda53752.106] +- configs/fedora: Enable the interconnect SC7180 driver built-in (Enric Balletbo i Serra) + +* Fri Feb 25 2022 Fedora Kernel Team [5.17-0.rc5.53ab78cd6d5a.105] +- 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) + +* Thu Feb 24 2022 Fedora Kernel Team [5.17-0.rc5.23d04328444a.104] +- configs/process_configs.sh: Remove orig files (Prarit Bhargava) + +* Wed Feb 23 2022 Fedora Kernel Team [5.17-0.rc5.5c1ee569660d.103] +- redhat: configs: Disable CONFIG_MPLS for s390x/zfcpdump (Guillaume Nault) +- Fedora 5.17 configs round 1 (Justin M. Forbes) + +* Tue Feb 22 2022 Fedora Kernel Team [5.17-0.rc5.038101e6b2cd.102] +- redhat: configs: disable the surface platform (David Arcari) + +* Fri Feb 18 2022 Fedora Kernel Team [5.17-0.rc4.9195e5e0adbb.99] +- redhat: configs: Disable team driver (Hangbin Liu) [1945477] + +* Thu Feb 17 2022 Fedora Kernel Team [5.17-0.rc4.f71077a4d84b.98] +- configs: enable LOGITECH_FF for RHEL/CentOS too (Benjamin Tissoires) +- redhat/configs: Disable CONFIG_SENSORS_NCT6683 in RHEL for arm/aarch64 (Dean Nelson) [2041186] + +* Sun Feb 13 2022 Fedora Kernel Team [5.17-0.rc3.b81b1829e7e3.94] +- redhat: fix make {distg-brew,distg-koji} (Andrea Claudi) + +* Sat Feb 12 2022 Fedora Kernel Team [5.17-0.rc3.83e396641110.93] +- [fedora] Turn on CONFIG_VIDEO_OV5693 for sensor support (Dave Olsthoorn) + +* Fri Feb 11 2022 Fedora Kernel Team [5.17-0.rc3.f1baf68e1383.92] +- Cleanup 'disabled' config options for RHEL (Prarit Bhargava) + +* Thu Feb 10 2022 Fedora Kernel Team [5.17-0.rc3.f4bc5bbb5fef.91] +- redhat: move CONFIG_ARM64_MTE to aarch64 config directory (Herton R. Krzesinski) + +* Wed Feb 09 2022 Fedora Kernel Team [5.17-0.rc3.e6251ab4551f.90] +- 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) + +* Tue Feb 08 2022 Fedora Kernel Team [5.17-0.rc3.555f3d7be91a.89] +- 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) + +* Sat Feb 05 2022 Fedora Kernel Team [5.17-0.rc2.20220205git0457e5153e0e.86] +- Enable iSER on s390x (Stefan Schulze Frielinghaus) + +* Thu Feb 03 2022 Fedora Kernel Team [5.17-0.rc2.20220203git88808fbbead4.84] +- 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] + +* Wed Feb 02 2022 Fedora Kernel Team [5.17-0.rc2.20220202git9f7fb8de5d9b.83] +- spec: don't overwrite auto.conf with .config (Ondrej Mosnacek) + +* Sat Jan 29 2022 Fedora Kernel Team [5.17-0.rc1.20220129git169387e2aa29.80] +- New configs in drivers/crypto (Fedora Kernel Team) + +* Fri Jan 28 2022 Fedora Kernel Team [5.17-0.rc1.20220128git145d9b498fc8.79] +- Add test_hash to the mod-internal.list (Justin M. Forbes) +- configs: disable CONFIG_CRAMFS (Abhi Das) [2041184] + +* Thu Jan 27 2022 Fedora Kernel Team [5.17-0.rc1.20220127git626b2dda7651.78] +- 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) + +* Tue Jan 25 2022 Fedora Kernel Team [5.17-0.rc1.20220125gita08b41ab9e2e.76] +- objtool: check: give big enough buffer for pv_ops (Sergei Trofimovich) + +* Sat Jan 22 2022 Fedora Kernel Team [5.17-0.rc0.20220122git1c52283265a4.73] +- 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) + +* Thu Jan 20 2022 Fedora Kernel Team [5.17-0.rc0.20220120gitfa2e1ba3e9e3.71] +- Fixup merge in random.c (Justin M. Forbes) + +* Wed Jan 19 2022 Fedora Kernel Team [5.17-0.rc0.20220118gitfe81ba137ebc.69] +- lib/crypto: add prompts back to crypto libraries (Justin M. Forbes) +- Add packaged but empty /lib/modules//systemtap/ (Justin M. Forbes) +- filter-modules.sh.rhel: Add ntc_thermistor to singlemods (Prarit Bhargava) -* Thu Jan 27 2022 Justin M. Forbes [5.16.3-0] -- Revert "fedora: Disable fbdev drivers and use simpledrm instead" (Justin M. Forbes) +* Tue Jan 18 2022 Fedora Kernel Team [5.17-0.rc0.20220118gitfe81ba137ebc.68] +- Move CONFIG_SND_SOC_TLV320AIC31XX as it is now selected by CONFIG_SND_SOC_FSL_ASOC_CARD (Justin M. Forbes) -* Thu Jan 20 2022 Justin M. Forbes [5.16.2-0] -- Add packaged but empty /lib/modules//systemtap/ (Justin M. Forbes) -- Revert "[scsi] megaraid_sas: re-add certain pci-ids" (Justin M. Forbes) -- Revert "wireguard: disable in FIPS mode" (Justin M. Forbes) -- Revert "mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos" (Justin M. Forbes) -- Revert "[fs] dax: mark tech preview" (Justin M. Forbes) -- Revert "wireguard: mark as Tech Preview" (Justin M. Forbes) -- drm/amdgpu: don't do resets on APUs which don't support it (Alex Deucher) -- Reset release (Justin M. Forbes) - -* Sun Jan 16 2022 Justin M. Forbes [5.16.1-60] -- netfilter: nat: force port remap to prevent shadowing well-known ports (Florian Westphal) -- netfilter: conntrack: tag conntracks picked up in local out hook (Florian Westphal) +* Fri Jan 14 2022 Fedora Kernel Team [5.17-0.rc0.20220114gitfb3b0673b7d5.64] +- Add dev_addr_lists_test to mod-internal.list (Justin M. Forbes) + +* Thu Jan 13 2022 Fedora Kernel Team [5.17-0.rc0.20220113git455e73a07f6e.63] - configs/fedora: Enable CONFIG_NFC_PN532_UART for use PN532 NFC module (Ziqian SUN (Zamir)) -- Add PATCHLIST_URL to Makefile.variables (Justin M. Forbes) -- x86/PCI: Ignore E820 reservations for bridge windows on newer systems (Hans de Goede) -- Updates to configure for stable branch (Justin M. Forbes) + +* Wed Jan 12 2022 Fedora Kernel Team [5.17-0.rc0.20220112gitdaadb3bd0e8d.62] +- redhat: ignore ksamples and kselftests on the badfuncs rpminspect test (Herton R. Krzesinski) +- redhat: disable upstream check for rpminspect (Herton R. Krzesinski) + +* Tue Jan 11 2022 Fedora Kernel Team [5.17-0.rc0.20220111gitfe8152b38d3a.61] - 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) +- Revert "Force DWARF4 because crash does not support DWARF5 yet" (Lianbo Jiang) +- 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) +- Reset RHEL_RELEASE for 5.16 (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) +- [fs] dax: mark tech preview (Bill O'Donnell) +- ark: wireless: enable all rtw88 pcie wirless variants (Peter Robinson) +- wireless: rtw88: move debug options to common/debug (Peter Robinson) +- fedora: minor PTP clock driver cleanups (Peter Robinson) +- common: x86: enable VMware PTP support on ark (Peter Robinson) +- [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] +- crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) +- random: Add hook to override device reads and getrandom(2) (Herbert Xu) +- redhat/configs: Disable Soft-RoCE driver (Kamal Heib) +- redhat/configs/evaluate_configs: Update help output (Prarit Bhargava) +- redhat/configs: Double MAX_LOCKDEP_CHAINS (Justin M. Forbes) +- fedora: configs: Fix WM5102 Kconfig (Hans de Goede) +- powerpc: enable CONFIG_POWER9_CPU (Diego Domingos) [1876436] +- redhat/configs: Fix CONFIG_VIRTIO_IOMMU to 'y' on aarch64 (Eric Auger) [1972795] +- filter-modules.sh: add more sound modules to filter (Jaroslav Kysela) +- redhat/configs: sound configuration cleanups and updates (Jaroslav Kysela) +- common: Update for CXL (Compute Express Link) configs (Peter Robinson) +- redhat: configs: disable CRYPTO_SM modules (Herton R. Krzesinski) [1990040] +- Remove fedora version of the LOCKDEP_BITS, we should use common (Justin M. Forbes) +- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) +- Fedora 5.14 configs round 1 (Justin M. Forbes) +- redhat: add gating configuration for centos stream/rhel9 (Herton R. Krzesinski) +- x86: configs: Enable CONFIG_TEST_FPU for debug kernels (Vitaly Kuznetsov) [1988384] +- redhat/configs: Move CHACHA and POLY1305 to core kernel to allow BIG_KEYS=y (root) [1983298] +- kernel.spec: fix build of samples/bpf (Jiri Benc) +- Enable OSNOISE_TRACER and TIMERLAT_TRACER (Jerome Marchand) [1979379] +- rpmspec: switch iio and gpio tools to use tools_make (Herton R. Krzesinski) [1956988] +- configs/process_configs.sh: Handle config items with no help text (Patrick Talbert) +- fedora: sound config updates for 5.14 (Peter Robinson) +- fedora: Only enable FSI drivers on POWER platform (Peter Robinson) +- The CONFIG_RAW_DRIVER has been removed from upstream (Peter Robinson) +- fedora: updates for 5.14 with a few disables for common from pending (Peter Robinson) +- fedora: migrate from MFD_TPS68470 -> INTEL_SKL_INT3472 (Peter Robinson) +- fedora: Remove STAGING_GASKET_FRAMEWORK (Peter Robinson) +- Fedora: move DRM_VMWGFX configs from ark -> common (Peter Robinson) +- fedora: arm: disabled unused FB drivers (Peter Robinson) +- fedora: don't enable FB_VIRTUAL (Peter Robinson) +- redhat/configs: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1940075] +- rpmspec: fix verbose output on kernel-devel installation (Herton R. Krzesinski) [1981406] +- Build Fedora x86s kernels with bytcr-wm5102 (Marius Hoch) +- Deleted redhat/configs/fedora/generic/x86/CONFIG_FB_HYPERV (Patrick Lang) +- rpmspec: correct the ghost initramfs attributes (Herton R. Krzesinski) [1977056] +- rpmspec: amend removal of depmod created files to include modules.builtin.alias.bin (Herton R. Krzesinski) [1977056] +- configs: remove duplicate CONFIG_DRM_HYPERV file (Patrick Talbert) +- CI: use common code for merge and release (Don Zickus) +- rpmspec: add release string to kernel doc directory name (Jan Stancek) +- redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_MFD_INTEL_PMT (Michael Petlan) [1880486] +- redhat/configs: enable CONFIG_BLK_DEV_ZONED (Ming Lei) [1638087] +- Add --with clang_lto option to build the kernel with Link Time Optimizations (Tom Stellard) +- common: disable DVB_AV7110 and associated pieces (Peter Robinson) +- Fix fedora-only config updates (Don Zickus) +- Fedor config update for new option (Justin M. Forbes) +- redhat/configs: Enable stmmac NIC for x86_64 (Mark Salter) +- all: hyperv: use the DRM driver rather than FB (Peter Robinson) +- all: hyperv: unify the Microsoft HyperV configs (Peter Robinson) +- all: VMWare: clean up VMWare configs (Peter Robinson) +- Update CONFIG_ARM_FFA_TRANSPORT (Patrick Talbert) +- CI: Handle all mirrors (Veronika Kabatova) +- Turn on CONFIG_STACKTRACE for s390x zfpcdump kernels (Justin M. Forbes) +- arm64: switch ark kernel to 4K pagesize (Mark Salter) +- Disable AMIGA_PARTITION and KARMA_PARTITION (Prarit Bhargava) [1802694] +- all: unify and cleanup i2c TPM2 modules (Peter Robinson) +- redhat/configs: Set CONFIG_VIRTIO_IOMMU on aarch64 (Eric Auger) [1972795] +- redhat/configs: Disable CONFIG_RT_GROUP_SCHED in rhel config (Phil Auld) +- redhat/configs: enable KEXEC_SIG which is already enabled in RHEL8 for s390x and x86_64 (Coiby Xu) [1976835] +- rpmspec: do not BuildRequires bpftool on noarch (Herton R. Krzesinski) +- redhat/configs: disable {IMA,EVM}_LOAD_X509 (Bruno Meneguele) [1977529] +- redhat: add secureboot CA certificate to trusted kernel keyring (Bruno Meneguele) +- redhat/configs: enable IMA_ARCH_POLICY for aarch64 and s390x (Bruno Meneguele) +- redhat/configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1858599] +- common: enable STRICT_MODULE_RWX everywhere (Peter Robinson) +- COMMON_CLK_STM32MP157_SCMI is bool and selects COMMON_CLK_SCMI (Justin M. Forbes) +- kernel.spec: Add kernel{,-debug}-devel-matched meta packages (Timothée Ravier) +- Turn off with_selftests for Fedora (Justin M. Forbes) +- Don't build bpftool on Fedora (Justin M. Forbes) +- Fix location of syscall scripts for kernel-devel (Justin M. Forbes) +- fedora: arm: Enable some i.MX8 options (Peter Robinson) +- Enable Landlock for Fedora (Justin M. Forbes) +- Filter update for Fedora aarch64 (Justin M. Forbes) +- rpmspec: only build debug meta packages where we build debug ones (Herton R. Krzesinski) +- rpmspec: do not BuildRequires bpftool on nobuildarches (Herton R. Krzesinski) +- redhat/configs: Consolidate CONFIG_HMC_DRV in the common s390x folder (Thomas Huth) [1976270] +- redhat/configs: Consolidate CONFIG_EXPOLINE_OFF in the common folder (Thomas Huth) [1976270] +- redhat/configs: Move CONFIG_HW_RANDOM_S390 into the s390x/ subfolder (Thomas Huth) [1976270] +- redhat/configs: Disable CONFIG_HOTPLUG_PCI_SHPC in the Fedora settings (Thomas Huth) [1976270] +- redhat/configs: Remove the non-existent CONFIG_NO_BOOTMEM switch (Thomas Huth) [1976270] +- redhat/configs: Compile the virtio-console as a module on s390x (Thomas Huth) [1976270] +- redhat/configs: Enable CONFIG_S390_CCW_IOMMU and CONFIG_VFIO_CCW for ARK, too (Thomas Huth) [1976270] +- Revert "Merge branch 'ec_fips' into 'os-build'" (Vladis Dronov) [1947240] +- Fix typos in fedora filters (Justin M. Forbes) +- More filtering for Fedora (Justin M. Forbes) +- Fix Fedora module filtering for spi-altera-dfl (Justin M. Forbes) +- Fedora 5.13 config updates (Justin M. Forbes) +- fedora: cleanup TCG_TIS_I2C_CR50 (Peter Robinson) +- fedora: drop duplicate configs (Peter Robinson) +- More Fedora config updates for 5.13 (Justin M. Forbes) +- redhat/configs: Enable needed drivers for BlueField SoC on aarch64 (Alaa Hleihel) [1858592 1858594 1858596] +- redhat: Rename mod-blacklist.sh to mod-denylist.sh (Prarit Bhargava) +- redhat/configs: enable CONFIG_NET_ACT_MPLS (Marcelo Ricardo Leitner) +- configs: Enable CONFIG_DEBUG_KERNEL for zfcpdump (Jiri Olsa) +- kernel.spec: Add support to use vmlinux.h (Don Zickus) +- spec: Add vmlinux.h to kernel-devel package (Jiri Olsa) +- Turn off DRM_XEN_FRONTEND for Fedora as we had DRM_XEN off already (Justin M. Forbes) +- Fedora 5.13 config updates pt 3 (Justin M. Forbes) +- all: enable ath11k wireless modules (Peter Robinson) +- all: Enable WWAN and associated MHI bus pieces (Peter Robinson) +- spec: Enable sefltests rpm build (Jiri Olsa) +- spec: Allow bpf selftest/samples to fail (Jiri Olsa) +- kvm: Add kvm_stat.service file and kvm_stat logrotate config to the tools (Jiri Benc) +- kernel.spec: Add missing source files to kernel-selftests-internal (Jiri Benc) +- kernel.spec: selftests: add net/forwarding to TARGETS list (Jiri Benc) +- kernel.spec: selftests: add build requirement on libmnl-devel (Jiri Benc) +- kernel.spec: add action.o to kernel-selftests-internal (Jiri Benc) +- kernel.spec: avoid building bpftool repeatedly (Jiri Benc) +- kernel.spec: selftests require python3 (Jiri Benc) +- kernel.spec: skip selftests that failed to build (Jiri Benc) +- kernel.spec: fix installation of bpf selftests (Jiri Benc) +- redhat: fix samples and selftests make options (Jiri Benc) +- kernel.spec: enable mptcp selftests for kernel-selftests-internal (Jiri Benc) +- kernel.spec: Do not export shared objects from libexecdir to RPM Provides (Jiri Benc) +- kernel.spec: add missing dependency for the which package (Jiri Benc) +- kernel.spec: add netfilter selftests to kernel-selftests-internal (Jiri Benc) +- kernel.spec: move slabinfo and page_owner_sort debuginfo to tools-debuginfo (Jiri Benc) +- kernel.spec: package and ship VM tools (Jiri Benc) +- configs: enable CONFIG_PAGE_OWNER (Jiri Benc) +- kernel.spec: add coreutils (Jiri Benc) +- kernel.spec: add netdevsim driver selftests to kernel-selftests-internal (Jiri Benc) +- redhat/Makefile: Clean out the --without flags from the baseonly rule (Jiri Benc) +- kernel.spec: Stop building unnecessary rpms for baseonly builds (Jiri Benc) +- kernel.spec: disable more kabi switches for gcov build (Jiri Benc) +- kernel.spec: Rename kabi-dw base (Jiri Benc) +- kernel.spec: Fix error messages during build of zfcpdump kernel (Jiri Benc) +- kernel.spec: perf: remove bpf examples (Jiri Benc) +- kernel.spec: selftests should not depend on modules-internal (Jiri Benc) +- kernel.spec: build samples (Jiri Benc) +- kernel.spec: tools: sync missing options with RHEL 8 (Jiri Benc) +- redhat/configs: nftables: Enable extra flowtable symbols (Phil Sutter) +- redhat/configs: Sync netfilter options with RHEL8 (Phil Sutter) +- Fedora 5.13 config updates pt 2 (Justin M. Forbes) +- Move CONFIG_ARCH_INTEL_SOCFPGA up a level for Fedora (Justin M. Forbes) +- fedora: enable the Rockchip rk3399 pcie drivers (Peter Robinson) +- Fedora 5.13 config updates pt 1 (Justin M. Forbes) +- Fix version requirement from opencsd-devel buildreq (Justin M. Forbes) +- configs/ark/s390: set CONFIG_MARCH_Z14 and CONFIG_TUNE_Z15 (Philipp Rudo) [1876435] +- configs/common/s390: Clean up CONFIG_{MARCH,TUNE}_Z* (Philipp Rudo) +- configs/process_configs.sh: make use of dummy-tools (Philipp Rudo) +- configs/common: disable CONFIG_INIT_STACK_ALL_{PATTERN,ZERO} (Philipp Rudo) +- configs/common/aarch64: disable CONFIG_RELR (Philipp Rudo) +- redhat/config: enable STMICRO nic for RHEL (Mark Salter) +- redhat/configs: Enable ARCH_TEGRA on RHEL (Mark Salter) +- redhat/configs: enable IMA_KEXEC for supported arches (Bruno Meneguele) +- redhat/configs: enable INTEGRITY_SIGNATURE to all arches (Bruno Meneguele) +- configs: enable CONFIG_LEDS_BRIGHTNESS_HW_CHANGED (Benjamin Tissoires) +- RHEL: disable io_uring support (Jeff Moyer) +- all: Changing CONFIG_UV_SYSFS to build uv_sysfs.ko as a loadable module. (Frank Ramsay) +- Enable NITRO_ENCLAVES on RHEL (Vitaly Kuznetsov) +- Update the Quick Start documentation (David Ward) +- redhat/configs: Set PVPANIC_MMIO for x86 and PVPANIC_PCI for aarch64 (Eric Auger) [1961178] +- bpf: Fix unprivileged_bpf_disabled setup (Jiri Olsa) +- Enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Jiri Olsa) +- configs/common/s390: disable CONFIG_QETH_{OSN,OSX} (Philipp Rudo) [1903201] +- nvme: nvme_mpath_init remove multipath check (Mike Snitzer) +- team: mark team driver as deprecated (Hangbin Liu) [1945477] +- Make CRYPTO_EC also builtin (Simo Sorce) [1947240] +- Do not hard-code a default value for DIST (David Ward) +- Override %%{debugbuildsenabled} if the --with-release option is used (David Ward) +- Improve comments in SPEC file, and move some option tests and macros (David Ward) +- configs: enable CONFIG_EXFAT_FS (Pavel Reichl) [1943423] +- Revert s390x/zfcpdump part of a9d179c40281 and ecbfddd98621 (Vladis Dronov) +- Embed crypto algos, modes and templates needed in the FIPS mode (Vladis Dronov) [1947240] +- configs: Add and enable CONFIG_HYPERV_TESTING for debug kernels (Mohammed Gamal) +- mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos (David Hildenbrand) [1945002] +- configs: enable CONFIG_CMA on x86_64 in ARK (David Hildenbrand) [1945002] +- rpmspec: build debug-* meta-packages if debug builds are disabled (Herton R. Krzesinski) +- UIO: disable unused config options (Aristeu Rozanski) [1957819] +- ARK-config: Make amd_pinctrl module builtin (Hans de Goede) +- rpmspec: revert/drop content hash for kernel-headers (Herton R. Krzesinski) +- rpmspec: fix check that calls InitBuildVars (Herton R. Krzesinski) +- fedora: enable zonefs (Damien Le Moal) +- redhat: load specific ARCH keys to INTEGRITY_PLATFORM_KEYRING (Bruno Meneguele) +- redhat: enable INTEGRITY_TRUSTED_KEYRING across all variants (Bruno Meneguele) +- redhat: enable SYSTEM_BLACKLIST_KEYRING across all variants (Bruno Meneguele) +- redhat: enable INTEGRITY_ASYMMETRIC_KEYS across all variants (Bruno Meneguele) +- Remove unused boot loader specification files (David Ward) +- redhat/configs: Enable mlx5 IPsec and TLS offloads (Alaa Hleihel) [1869674 1957636] +- Force DWARF4 because crash does not support DWARF5 yet (Justin M. Forbes) +- common: disable Apple Silicon generally (Peter Robinson) +- cleanup Intel's FPGA configs (Peter Robinson) +- common: move PTP KVM support from ark to common (Peter Robinson) +- Enable CONFIG_DRM_AMDGPU_USERPTR for everyone (Justin M. Forbes) +- redhat: add initial rpminspect configuration (Herton R. Krzesinski) +- fedora: arm updates for 5.13 (Peter Robinson) +- fedora: Enable WWAN and associated MHI bits (Peter Robinson) +- Update CONFIG_MODPROBE_PATH to /usr/sbin (Justin Forbes) +- Fedora set modprobe path (Justin M. Forbes) +- Keep sctp and l2tp modules in modules-extra (Don Zickus) +- Fix ppc64le cross build packaging (Don Zickus) +- Fedora: Make amd_pinctrl module builtin (Hans de Goede) +- Keep CONFIG_KASAN_HW_TAGS off for aarch64 debug configs (Justin M. Forbes) +- New configs in drivers/bus (Fedora Kernel Team) +- RHEL: Don't build KVM PR module on ppc64 (David Gibson) [1930649] +- Flip CONFIG_USB_ROLE_SWITCH from m to y (Justin M. Forbes) +- Set valid options for CONFIG_FW_LOADER_USER_HELPER (Justin M. Forbes) +- Clean up CONFIG_FB_MODE_HELPERS (Justin M. Forbes) +- Turn off CONFIG_VFIO for the s390x zfcpdump kernel (Justin M. Forbes) +- Delete unused CONFIG_SND_SOC_MAX98390 pending-common (Justin M. Forbes) +- Update pending-common configs, preparing to set correctly (Justin M. Forbes) +- Update fedora filters for surface (Justin M. Forbes) +- Build CONFIG_CRYPTO_ECDSA inline for s390x zfcpdump (Justin M. Forbes) +- Replace "flavour" where "variant" is meant instead (David Ward) +- Drop the %%{variant} macro and fix --with-vanilla (David Ward) +- Fix syntax of %%kernel_variant_files (David Ward) +- Change description of --without-vdso-install to fix typo (David Ward) +- Config updates to work around mismatches (Justin M. Forbes) +- CONFIG_SND_SOC_FSL_ASOC_CARD selects CONFIG_MFD_WM8994 now (Justin M. Forbes) +- wireguard: disable in FIPS mode (Hangbin Liu) [1940794] +- Enable mtdram for fedora (rhbz 1955916) (Justin M. Forbes) +- Remove reference to bpf-helpers man page (Justin M. Forbes) +- Fedora: enable more modules for surface devices (Dave Olsthoorn) +- Fix Fedora config mismatch for CONFIG_FSL_ENETC_IERB (Justin M. Forbes) +- hardlink is in /usr/bin/ now (Justin M. Forbes) +- Ensure CONFIG_KVM_BOOK3S_64_PR stays on in Fedora, even if it is turned off in RHEL (Justin M. Forbes) +- Set date in package release from repository commit, not system clock (David Ward) +- Use a better upstream tarball filename for snapshots (David Ward) +- Don't create empty pending-common files on pending-fedora commits (Don Zickus) +- nvme: decouple basic ANA log page re-read support from native multipathing (Mike Snitzer) +- nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT (Mike Snitzer) +- nvme: Return BLK_STS_TARGET if the DNR bit is set (Mike Snitzer) +- Add redhat/configs/pending-common/generic/s390x/zfcpdump/CONFIG_NETFS_SUPPORT (Justin M. Forbes) +- Create ark-latest branch last for CI scripts (Don Zickus) +- Replace /usr/libexec/platform-python with /usr/bin/python3 (David Ward) +- Turn off ADI_AXI_ADC and AD9467 which now require CONFIG_OF (Justin M. Forbes) +- Export ark infrastructure files (Don Zickus) +- docs: Update docs to reflect newer workflow. (Don Zickus) +- Use upstream/master for merge-base with fallback to master (Don Zickus) +- Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede) +- filter-modules.sh.fedora: clean up "netprots" (Paul Bolle) +- filter-modules.sh.fedora: clean up "scsidrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "ethdrvs" (Paul Bolle) +- filter-*.sh.fedora: clean up "driverdirs" (Paul Bolle) +- filter-*.sh.fedora: remove incorrect entries (Paul Bolle) +- filter-*.sh.fedora: clean up "singlemods" (Paul Bolle) +- filter-modules.sh.fedora: drop unused list "iiodrvs" (Paul Bolle) +- Update mod-internal to fix depmod issue (Nico Pache) +- Turn on CONFIG_VDPA_SIM_NET (rhbz 1942343) (Justin M. Forbes) +- New configs in drivers/power (Fedora Kernel Team) +- Turn on CONFIG_NOUVEAU_DEBUG_PUSH for debug configs (Justin M. Forbes) +- Turn off KFENCE sampling by default for Fedora (Justin M. Forbes) +- Fedora config updates round 2 (Justin M. Forbes) +- New configs in drivers/soc (Jeremy Cline) +- filter-modules.sh: Fix copy/paste error 'input' (Paul Bolle) +- Update module filtering for 5.12 kernels (Justin M. Forbes) +- Fix genlog.py to ensure that comments retain "%%" characters. (Mark Mielke) +- New configs in drivers/leds (Fedora Kernel Team) +- Limit CONFIG_USB_CDNS_SUPPORT to x86_64 and arm in Fedora (David Ward) +- Fedora: Enable CHARGER_GPIO on aarch64 too (Peter Robinson) +- Fedora config updates (Justin M. Forbes) +- wireguard: mark as Tech Preview (Hangbin Liu) [1613522] +- configs: enable CONFIG_WIREGUARD in ARK (Hangbin Liu) [1613522] +- Remove duplicate configs acroos fedora, ark and common (Don Zickus) +- Combine duplicate configs across ark and fedora into common (Don Zickus) +- common/ark: cleanup and unify the parport configs (Peter Robinson) +- iommu/vt-d: enable INTEL_IDXD_SVM for both fedora and rhel (Jerry Snitselaar) +- REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 (Jeremy Linton) +- configs/common/generic: disable CONFIG_SLAB_MERGE_DEFAULT (Rafael Aquini) +- Remove _legacy_common_support (Justin M. Forbes) +- redhat/mod-blacklist.sh: Fix floppy blacklisting (Hans de Goede) +- New configs in fs/pstore (CKI@GitLab) +- New configs in arch/powerpc (Fedora Kernel Team) +- configs: enable BPF LSM on Fedora and ARK (Ondrej Mosnacek) +- configs: clean up LSM configs (Ondrej Mosnacek) +- New configs in drivers/platform (CKI@GitLab) +- New configs in drivers/firmware (CKI@GitLab) +- New configs in drivers/mailbox (Fedora Kernel Team) +- New configs in drivers/net/phy (Justin M. Forbes) +- Update CONFIG_DM_MULTIPATH_IOA (Augusto Caringi) +- New configs in mm/Kconfig (CKI@GitLab) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in arch/powerpc (Jeremy Cline) +- New configs in drivers/input (Fedora Kernel Team) +- New configs in net/bluetooth (Justin M. Forbes) +- New configs in drivers/clk (Fedora Kernel Team) +- New configs in init/Kconfig (Jeremy Cline) +- redhat: allow running fedora-configs and rh-configs targets outside of redhat/ (Herton R. Krzesinski) +- all: unify the disable of goldfish (android emulation platform) (Peter Robinson) +- common: minor cleanup/de-dupe of dma/dmabuf debug configs (Peter Robinson) +- common/ark: these drivers/arches were removed in 5.12 (Peter Robinson) +- Correct kernel-devel make prepare build for 5.12. (Paulo E. Castro) +- redhat: add initial support for centos stream dist-git sync on Makefiles (Herton R. Krzesinski) +- redhat/configs: Enable CONFIG_SCHED_STACK_END_CHECK for Fedora and ARK (Josh Poimboeuf) [1856174] +- CONFIG_VFIO now selects IOMMU_API instead of depending on it, causing several config mismatches for the zfcpdump kernel (Justin M. Forbes) +- Turn off weak-modules for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_FW_LOADER_COMPRESS for ARK (Herton R. Krzesinski) [1939095] +- Fedora: filters: update to move dfl-emif to modules (Peter Robinson) +- drop duplicate DEVFREQ_GOV_SIMPLE_ONDEMAND config (Peter Robinson) +- efi: The EFI_VARS is legacy and now x86 only (Peter Robinson) +- common: enable RTC_SYSTOHC to supplement update_persistent_clock64 (Peter Robinson) +- generic: arm: enable SCMI for all options (Peter Robinson) +- fedora: the PCH_CAN driver is x86-32 only (Peter Robinson) +- common: disable legacy CAN device support (Peter Robinson) +- common: Enable Microchip MCP251x/MCP251xFD CAN controllers (Peter Robinson) +- common: Bosch MCAN support for Intel Elkhart Lake (Peter Robinson) +- common: enable CAN_PEAK_PCIEFD PCI-E driver (Peter Robinson) +- common: disable CAN_PEAK_PCIEC PCAN-ExpressCard (Peter Robinson) +- common: enable common CAN layer 2 protocols (Peter Robinson) +- ark: disable CAN_LEDS option (Peter Robinson) +- Fedora: Turn on SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC option (Hans de Goede) +- Fedora: enable modules for surface devices (Dave Olsthoorn) +- Turn on SND_SOC_INTEL_SOUNDWIRE_SOF_MACH for Fedora again (Justin M. Forbes) +- common: fix WM8804 codec dependencies (Peter Robinson) +- Build SERIO_SERPORT as a module (Peter Robinson) +- input: touchscreen: move ELO and Wacom serial touchscreens to x86 (Peter Robinson) +- Sync serio touchscreens for non x86 architectures to the same as ARK (Peter Robinson) +- Only enable SERIO_LIBPS2 on x86 (Peter Robinson) +- Only enable PC keyboard controller and associated keyboard on x86 (Peter Robinson) +- Generic: Mouse: Tweak generic serial mouse options (Peter Robinson) +- Only enable PS2 Mouse options on x86 (Peter Robinson) +- Disable bluetooth highspeed by default (Peter Robinson) +- Fedora: A few more general updates for 5.12 window (Peter Robinson) +- Fedora: Updates for 5.12 merge window (Peter Robinson) +- Fedora: remove dead options that were removed upstream (Peter Robinson) +- redhat: remove CONFIG_DRM_PANEL_XINGBANGDA_XBD599 (Herton R. Krzesinski) +- New configs in arch/powerpc (Fedora Kernel Team) +- Turn on CONFIG_PPC_QUEUED_SPINLOCKS as it is default upstream now (Justin M. Forbes) +- Update pending-common configs to address new upstream config deps (Justin M. Forbes) +- rpmspec: ship gpio-watch.debug in the proper debuginfo package (Herton R. Krzesinski) +- Removed description text as a comment confuses the config generation (Justin M. Forbes) +- New configs in drivers/dma-buf (Jeremy Cline) +- Fedora: ARMv7: build for 16 CPUs. (Peter Robinson) +- Fedora: only enable DEBUG_HIGHMEM on debug kernels (Peter Robinson) +- process_configs.sh: fix find/xargs data flow (Ondrej Mosnacek) +- Fedora config update (Justin M. Forbes) +- fedora: minor arm sound config updates (Peter Robinson) +- Fix trailing white space in redhat/configs/fedora/generic/CONFIG_SND_INTEL_BYT_PREFER_SOF (Justin M. Forbes) +- Add a redhat/rebase-notes.txt file (Hans de Goede) +- Turn on SND_INTEL_BYT_PREFER_SOF for Fedora (Hans de Goede) +- CI: Drop MR ID from the name variable (Veronika Kabatova) +- redhat: add DUP and kpatch certificates to system trusted keys for RHEL build (Herton R. Krzesinski) +- The comments in CONFIG_USB_RTL8153_ECM actually turn off CONFIG_USB_RTL8152 (Justin M. Forbes) +- Update CKI pipeline project (Veronika Kabatova) +- Turn off additional KASAN options for Fedora (Justin M. Forbes) +- Rename the master branch to rawhide for Fedora (Justin M. Forbes) +- Makefile targets for packit integration (Ben Crocker) +- Turn off KASAN for rawhide debug builds (Justin M. Forbes) +- New configs in arch/arm64 (Justin Forbes) +- Remove deprecated Intel MIC config options (Peter Robinson) +- redhat: replace inline awk script with genlog.py call (Herton R. Krzesinski) +- redhat: add genlog.py script (Herton R. Krzesinski) +- kernel.spec.template - fix use_vdso usage (Ben Crocker) +- redhat: remove remaining references of CONFIG_RH_DISABLE_DEPRECATED (Herton R. Krzesinski) +- Turn off vdso_install for ppc (Justin M. Forbes) +- Remove bpf-helpers.7 from bpftool package (Jiri Olsa) +- New configs in lib/Kconfig.debug (Fedora Kernel Team) +- Turn off CONFIG_VIRTIO_CONSOLE for s390x zfcpdump (Justin M. Forbes) +- New configs in drivers/clk (Justin M. Forbes) +- Keep VIRTIO_CONSOLE on s390x available. (Jakub Čajka) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- Fedora 5.11 config updates part 4 (Justin M. Forbes) +- Fedora 5.11 config updates part 3 (Justin M. Forbes) +- Fedora 5.11 config updates part 2 (Justin M. Forbes) +- Update internal (test) module list from RHEL-8 (Joe Lawrence) [1915073] +- Fix USB_XHCI_PCI regression (Justin M. Forbes) +- fedora: fixes for ARMv7 build issue by disabling HIGHPTE (Peter Robinson) +- all: s390x: Increase CONFIG_PCI_NR_FUNCTIONS to 512 (#1888735) (Dan Horák) +- Fedora 5.11 configs pt 1 (Justin M. Forbes) +- redhat: avoid conflict with mod-blacklist.sh and released_kernel defined (Herton R. Krzesinski) +- redhat: handle certificate files conditionally as done for src.rpm (Herton R. Krzesinski) +- specfile: add %%{?_smp_mflags} to "make headers_install" in tools/testing/selftests (Denys Vlasenko) +- specfile: add %%{?_smp_mflags} to "make samples/bpf/" (Denys Vlasenko) +- Run MR testing in CKI pipeline (Veronika Kabatova) +- Reword comment (Nicolas Chauvet) +- Add with_cross_arm conditional (Nicolas Chauvet) +- Redefines __strip if with_cross (Nicolas Chauvet) +- fedora: only enable ACPI_CONFIGFS, ACPI_CUSTOM_METHOD in debug kernels (Peter Robinson) +- fedora: User the same EFI_CUSTOM_SSDT_OVERLAYS as ARK (Peter Robinson) +- all: all arches/kernels enable the same DMI options (Peter Robinson) +- all: move SENSORS_ACPI_POWER to common/generic (Peter Robinson) +- fedora: PCIE_HISI_ERR is already in common (Peter Robinson) +- all: all ACPI platforms enable ATA_ACPI so move it to common (Peter Robinson) +- all: x86: move shared x86 acpi config options to generic (Peter Robinson) +- All: x86: Move ACPI_VIDEO to common/x86 (Peter Robinson) +- All: x86: Enable ACPI_DPTF (Intel DPTF) (Peter Robinson) +- All: enable ACPI_BGRT for all ACPI platforms. (Peter Robinson) +- All: Only build ACPI_EC_DEBUGFS for debug kernels (Peter Robinson) +- All: Disable Intel Classmate PC ACPI_CMPC option (Peter Robinson) +- cleanup: ACPI_PROCFS_POWER was removed upstream (Peter Robinson) +- All: ACPI: De-dupe the ACPI options that are the same across ark/fedora on x86/arm (Peter Robinson) +- Enable the vkms module in Fedora (Jeremy Cline) +- Fedora: arm updates for 5.11 and general cross Fedora cleanups (Peter Robinson) +- Add gcc-c++ to BuildRequires (Justin M. Forbes) +- Update CONFIG_KASAN_HW_TAGS (Justin M. Forbes) +- fedora: arm: move generic power off/reset to all arm (Peter Robinson) +- fedora: ARMv7: build in DEVFREQ_GOV_SIMPLE_ONDEMAND until I work out why it's changed (Peter Robinson) +- fedora: cleanup joystick_adc (Peter Robinson) +- fedora: update some display options (Peter Robinson) +- fedora: arm: enable TI PRU options (Peter Robinson) +- fedora: arm: minor exynos plaform updates (Peter Robinson) +- arm: SoC: disable Toshiba Visconti SoC (Peter Robinson) +- common: disable ARCH_BCM4908 (NFC) (Peter Robinson) +- fedora: minor arm config updates (Peter Robinson) +- fedora: enable Tegra 234 SoC (Peter Robinson) +- fedora: arm: enable new Hikey 3xx options (Peter Robinson) +- Fedora: USB updates (Peter Robinson) +- fedora: enable the GNSS receiver subsystem (Peter Robinson) +- Remove POWER_AVS as no longer upstream (Peter Robinson) +- Cleanup RESET_RASPBERRYPI (Peter Robinson) +- Cleanup GPIO_CDEV_V1 options. (Peter Robinson) +- fedora: arm crypto updates (Peter Robinson) +- CONFIG_KASAN_HW_TAGS for aarch64 (Justin M. Forbes) +- Fedora: cleanup PCMCIA configs, move to x86 (Peter Robinson) +- New configs in drivers/rtc (Fedora Kernel Team) +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGIN_STRUCTLEAK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_GCC_PLUGINS on ARK (Josh Poimboeuf) [1856176] +- redhat/configs: Enable CONFIG_KASAN on Fedora (Josh Poimboeuf) [1856176] +- New configs in init/Kconfig (Fedora Kernel Team) +- build_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- genspec.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- mod-blacklist.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Enable Speakup accessibility driver (Justin M. Forbes) +- New configs in init/Kconfig (Fedora Kernel Team) +- Fix fedora config mismatch due to dep changes (Justin M. Forbes) +- New configs in drivers/crypto (Jeremy Cline) +- Remove duplicate ENERGY_MODEL configs (Peter Robinson) +- This is selected by PCIE_QCOM so must match (Justin M. Forbes) +- drop unused BACKLIGHT_GENERIC (Peter Robinson) +- Remove cp instruction already handled in instruction below. (Paulo E. Castro) +- Add all the dependencies gleaned from running `make prepare` on a bloated devel kernel. (Paulo E. Castro) +- Add tools to path mangling script. (Paulo E. Castro) +- Remove duplicate cp statement which is also not specific to x86. (Paulo E. Castro) +- Correct orc_types failure whilst running `make prepare` https://bugzilla.redhat.com/show_bug.cgi?id=1882854 (Paulo E. Castro) +- redhat: ark: enable CONFIG_IKHEADERS (Jiri Olsa) +- Add missing '$' sign to (GIT) in redhat/Makefile (Augusto Caringi) +- Remove filterdiff and use native git instead (Don Zickus) +- New configs in net/sched (Justin M. Forbes) +- New configs in drivers/mfd (CKI@GitLab) +- New configs in drivers/mfd (Fedora Kernel Team) +- New configs in drivers/firmware (Fedora Kernel Team) +- Temporarily backout parallel xz script (Justin M. Forbes) +- redhat: explicitly disable CONFIG_IMA_APPRAISE_SIGNED_INIT (Bruno Meneguele) +- redhat: enable CONFIG_EVM_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM_ATTR_FSUUID on ARK (Bruno Meneguele) +- redhat: enable CONFIG_EVM in all arches and flavors (Bruno Meneguele) +- redhat: enable CONFIG_IMA_LOAD_X509 on ARK (Bruno Meneguele) +- redhat: set CONFIG_IMA_DEFAULT_HASH to SHA256 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT (Bruno Meneguele) +- redhat: enable CONFIG_IMA_READ_POLICY on ARK (Bruno Meneguele) +- redhat: set default IMA template for all ARK arches (Bruno Meneguele) +- redhat: enable CONFIG_IMA_DEFAULT_HASH_SHA256 for all flavors (Bruno Meneguele) +- redhat: disable CONFIG_IMA_DEFAULT_HASH_SHA1 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_ARCH_POLICY for ppc and x86 (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_MODSIG (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE_BOOTPARAM (Bruno Meneguele) +- redhat: enable CONFIG_IMA_APPRAISE (Bruno Meneguele) +- redhat: enable CONFIG_INTEGRITY for aarch64 (Bruno Meneguele) +- kernel: Update some missing KASAN/KCSAN options (Jeremy Linton) +- kernel: Enable coresight on aarch64 (Jeremy Linton) +- Update CONFIG_INET6_ESPINTCP (Justin Forbes) +- New configs in net/ipv6 (Justin M. Forbes) +- fedora: move CONFIG_RTC_NVMEM options from ark to common (Peter Robinson) +- configs: Enable CONFIG_DEBUG_INFO_BTF (Don Zickus) +- fedora: some minor arm audio config tweaks (Peter Robinson) +- Ship xpad with default modules on Fedora and RHEL (Bastien Nocera) +- Fedora: Only enable legacy serial/game port joysticks on x86 (Peter Robinson) +- Fedora: Enable the options required for the Librem 5 Phone (Peter Robinson) +- Fedora config update (Justin M. Forbes) +- Fedora config change because CONFIG_FSL_DPAA2_ETH now selects CONFIG_FSL_XGMAC_MDIO (Justin M. Forbes) +- redhat: generic enable CONFIG_INET_MPTCP_DIAG (Davide Caratti) +- Fedora config update (Justin M. Forbes) +- Enable NANDSIM for Fedora (Justin M. Forbes) +- Re-enable CONFIG_ACPI_TABLE_UPGRADE for Fedora since upstream disables this if secureboot is active (Justin M. Forbes) +- Ath11k related config updates (Justin M. Forbes) +- Fedora config updates for ath11k (Justin M. Forbes) +- Turn on ATH11K for Fedora (Justin M. Forbes) +- redhat: enable CONFIG_INTEL_IOMMU_SVM (Jerry Snitselaar) +- More Fedora config fixes (Justin M. Forbes) +- Fedora 5.10 config updates (Justin M. Forbes) +- Fedora 5.10 configs round 1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Allow kernel-tools to build without selftests (Don Zickus) +- Allow building of kernel-tools standalone (Don Zickus) +- redhat: ark: disable CONFIG_NET_ACT_CTINFO (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_TEQL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_SFB (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_QFQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PLUG (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_PIE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_HHF (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DSMARK (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_DRR (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CODEL (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CHOKE (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_CBQ (Davide Caratti) +- redhat: ark: disable CONFIG_NET_SCH_ATM (Davide Caratti) +- redhat: ark: disable CONFIG_NET_EMATCH and sub-targets (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_TCINDEX (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP6 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_RSVP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_ROUTE4 (Davide Caratti) +- redhat: ark: disable CONFIG_NET_CLS_BASIC (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SKBMOD (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_SIMP (Davide Caratti) +- redhat: ark: disable CONFIG_NET_ACT_NAT (Davide Caratti) +- arm64/defconfig: Enable CONFIG_KEXEC_FILE (Bhupesh Sharma) [1821565] +- redhat/configs: Cleanup CONFIG_CRYPTO_SHA512 (Prarit Bhargava) +- New configs in drivers/mfd (Fedora Kernel Team) +- Fix LTO issues with kernel-tools (Don Zickus) +- Point pathfix to the new location for gen_compile_commands.py (Justin M. Forbes) +- configs: Disable CONFIG_SECURITY_SELINUX_DISABLE (Ondrej Mosnacek) +- [Automatic] Handle config dependency changes (Don Zickus) +- configs/iommu: Add config comment to empty CONFIG_SUN50I_IOMMU file (Jerry Snitselaar) +- New configs in kernel/trace (Fedora Kernel Team) +- Fix Fedora config locations (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- configs: enable CONFIG_CRYPTO_CTS=y so cts(cbc(aes)) is available in FIPS mode (Vladis Dronov) [1855161] +- Partial revert: Add master merge check (Don Zickus) +- Update Maintainers doc to reflect workflow changes (Don Zickus) +- WIP: redhat/docs: Update documentation for single branch workflow (Prarit Bhargava) +- Add CONFIG_ARM64_MTE which is not picked up by the config scripts for some reason (Justin M. Forbes) +- Disable Speakup synth DECEXT (Justin M. Forbes) +- Enable Speakup for Fedora since it is out of staging (Justin M. Forbes) +- Modify patchlist changelog output (Don Zickus) +- process_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- generate_all_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- redhat/self-test: Initial commit (Ben Crocker) +- Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL only (Peter Robinson) +- arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava) +- redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava) [1810301] +- x86: Fix compile issues with rh_check_supported() (Don Zickus) +- KEYS: Make use of platform keyring for module signature verify (Robert Holmes) +- Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires) +- ARM: tegra: usb no reset (Peter Robinson) +- arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters) +- redhat: rh_kabi: deduplication friendly structs (Jiri Benc) +- redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc) +- redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc) +- redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile) +- redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso) +- redhat: rh_kabi: Add macros to size and extend structs (Prarit Bhargava) +- Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) +- mptsas: pci-id table changes (Laura Abbott) +- mptsas: Taint kernel if mptsas is loaded (Laura Abbott) +- mptspi: pci-id table changes (Laura Abbott) +- qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline) +- be2iscsi: remove unsupported device IDs (Chris Leech) +- mptspi: Taint kernel if mptspi is loaded (Laura Abbott) +- hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) +- qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) +- aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) +- megaraid_sas: remove deprecated pci-ids (Tomas Henzl) +- mpt*: remove certain deprecated pci-ids (Jeremy Cline) +- kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) +- Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES (Don Zickus) +- Add option of 13 for FORCE_MAX_ZONEORDER (Peter Robinson) +- s390: Lock down the kernel when the IPL secure flag is set (Jeremy Cline) +- efi: Lock down the kernel if booted in secure boot mode (David Howells) +- efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells) +- security: lockdown: expose a hook to lock the kernel down (Jeremy Cline) +- Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones) +- Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones) +- Add support for deprecating processors (Laura Abbott) [1565717 1595918 1609604 1610493] +- arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline) +- iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) +- rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) +- ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [1670017] +- kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] +- add pci_hw_vendor_status() (Maurizio Lombardi) +- ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) +- Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) +- bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] +- add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] +- tags.sh: Ignore redhat/rpm (Jeremy Cline) +- put RHEL info into generated headers (Laura Abbott) [1663728] +- acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] +- aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] +- ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] +- modules: add rhelversion MODULE_INFO tag (Laura Abbott) +- ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] +- Add Red Hat tainting (Laura Abbott) [1565704] +- Introduce CONFIG_RH_DISABLE_DEPRECATED (Laura Abbott) +- Stop merging ark-patches for release (Don Zickus) +- Fix path location for ark-update-configs.sh (Don Zickus) +- Combine Red Hat patches into single patch (Don Zickus) +- New configs in drivers/misc (Jeremy Cline) +- New configs in drivers/net/wireless (Justin M. Forbes) +- New configs in drivers/phy (Fedora Kernel Team) +- New configs in drivers/tty (Fedora Kernel Team) +- Set SquashFS decompression options for all flavors to match RHEL (Bohdan Khomutskyi) +- configs: Enable CONFIG_ENERGY_MODEL (Phil Auld) +- New configs in drivers/pinctrl (Fedora Kernel Team) +- Update CONFIG_THERMAL_NETLINK (Justin Forbes) +- Separate merge-upstream and release stages (Don Zickus) +- Re-enable CONFIG_IR_SERIAL on Fedora (Prarit Bhargava) +- Create Patchlist.changelog file (Don Zickus) +- Filter out upstream commits from changelog (Don Zickus) +- Merge Upstream script fixes (Don Zickus) +- kernel.spec: Remove kernel-keys directory on rpm erase (Prarit Bhargava) +- Add mlx5_vdpa to module filter for Fedora (Justin M. Forbes) +- Add python3-sphinx_rtd_theme buildreq for docs (Justin M. Forbes) +- redhat/configs/process_configs.sh: Remove *.config.orig files (Prarit Bhargava) +- redhat/configs/process_configs.sh: Add process_configs_known_broken flag (Prarit Bhargava) +- redhat/Makefile: Fix '*-configs' targets (Prarit Bhargava) +- dist-merge-upstream: Checkout known branch for ci scripts (Don Zickus) +- kernel.spec: don't override upstream compiler flags for ppc64le (Dan Horák) +- Fedora config updates (Justin M. Forbes) +- Fedora confi gupdate (Justin M. Forbes) +- mod-sign.sh: Fix syntax flagged by shellcheck (Ben Crocker) +- Swap how ark-latest is built (Don Zickus) +- Add extra version bump to os-build branch (Don Zickus) +- dist-release: Avoid needless version bump. (Don Zickus) +- Add dist-fedora-release target (Don Zickus) +- Remove redundant code in dist-release (Don Zickus) +- Makefile.common rename TAG to _TAG (Don Zickus) +- Fedora config change (Justin M. Forbes) +- Fedora filter update (Justin M. Forbes) +- Config update for Fedora (Justin M. Forbes) +- enable PROTECTED_VIRTUALIZATION_GUEST for all s390x kernels (Dan Horák) +- redhat: ark: enable CONFIG_NET_SCH_TAPRIO (Davide Caratti) +- redhat: ark: enable CONFIG_NET_SCH_ETF (Davide Caratti) +- More Fedora config updates (Justin M. Forbes) +- New config deps (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- First half of config updates for Fedora (Justin M. Forbes) +- Updates for Fedora arm architectures for the 5.9 window (Peter Robinson) +- Merge 5.9 config changes from Peter Robinson (Justin M. Forbes) +- Add config options that only show up when we prep on arm (Justin M. Forbes) +- Config updates for Fedora (Justin M. Forbes) +- fedora: enable enery model (Peter Robinson) +- Use the configs/generic config for SND_HDA_INTEL everywhere (Peter Robinson) +- Enable ZSTD compression algorithm on all kernels (Peter Robinson) +- Enable ARM_SMCCC_SOC_ID on all aarch64 kernels (Peter Robinson) +- iio: enable LTR-559 light and proximity sensor (Peter Robinson) +- iio: chemical: enable some popular chemical and partical sensors (Peter Robinson) +- More mismatches (Justin M. Forbes) +- Fedora config change due to deps (Justin M. Forbes) +- CONFIG_SND_SOC_MAX98390 is now selected by SND_SOC_INTEL_DA7219_MAX98357A_GENERIC (Justin M. Forbes) +- Config change required for build part 2 (Justin M. Forbes) +- Config change required for build (Justin M. Forbes) +- Fedora config update (Justin M. Forbes) +- Add ability to sync upstream through Makefile (Don Zickus) +- Add master merge check (Don Zickus) +- Replace hardcoded values 'os-build' and project id with variables (Don Zickus) +- redhat/Makefile.common: Fix MARKER (Prarit Bhargava) +- gitattributes: Remove unnecesary export restrictions (Prarit Bhargava) +- Add new certs for dual signing with boothole (Justin M. Forbes) +- Update secureboot signing for dual keys (Justin M. Forbes) +- fedora: enable LEDS_SGM3140 for arm configs (Peter Robinson) +- Enable CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG (Justin M. Forbes) +- redhat/configs: Fix common CONFIGs (Prarit Bhargava) +- redhat/configs: General CONFIG cleanups (Prarit Bhargava) +- redhat/configs: Update & generalize evaluate_configs (Prarit Bhargava) +- fedora: arm: Update some meson config options (Peter Robinson) +- redhat/docs: Add Fedora RPM tagging date (Prarit Bhargava) +- Update config for renamed panel driver. (Peter Robinson) +- Enable SERIAL_SC16IS7XX for SPI interfaces (Peter Robinson) +- s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus) +- Fedora config updates (Justin M. Forbes) +- redhat/configs: Add .tmp files to .gitignore (Prarit Bhargava) +- disable uncommon TCP congestion control algorithms (Davide Caratti) +- Add new bpf man pages (Justin M. Forbes) +- Add default option for CONFIG_ARM64_BTI_KERNEL to pending-common so that eln kernels build (Justin M. Forbes) +- redhat/Makefile: Add fedora-configs and rh-configs make targets (Prarit Bhargava) +- redhat/configs: Use SHA512 for module signing (Prarit Bhargava) +- genspec.sh: 'touch' empty Patchlist file for single tarball (Don Zickus) +- Fedora config update for rc1 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- redhat/Makefile.common: fix RPMKSUBLEVEL condition (Ondrej Mosnacek) +- redhat/Makefile: silence KABI tar output (Ondrej Mosnacek) +- One more Fedora config update (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix PATCHLEVEL for merge window (Justin M. Forbes) +- Change ark CONFIG_COMMON_CLK to yes, it is selected already by other options (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More module filtering for Fedora (Justin M. Forbes) +- Update filters for rnbd in Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix up module filtering for 5.8 (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- More Fedora config work (Justin M. Forbes) +- RTW88BE and CE have been extracted to their own modules (Justin M. Forbes) +- Set CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK for Fedora (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Arm64 Use Branch Target Identification for kernel (Justin M. Forbes) +- Change value of CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE (Justin M. Forbes) +- Fedora config updates (Justin M. Forbes) +- Fix configs for Fedora (Justin M. Forbes) +- Add zero-commit to format-patch options (Justin M. Forbes) +- Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline) +- Move the sed to clear the patch templating outside of conditionals (Justin M. Forbes) +- Match template format in kernel.spec.template (Justin M. Forbes) +- Break out the Patches into individual files for dist-git (Justin M. Forbes) +- Break the Red Hat patch into individual commits (Jeremy Cline) +- Fix update_scripts.sh unselective pattern sub (David Howells) +- Add cec to the filter overrides (Justin M. Forbes) +- Add overrides to filter-modules.sh (Justin M. Forbes) +- redhat/configs: Enable CONFIG_SMC91X and disable CONFIG_SMC911X (Prarit Bhargava) [1722136] +- Include bpftool-struct_ops man page in the bpftool package (Jeremy Cline) +- Add sharedbuffer_configuration.py to the pathfix.py script (Jeremy Cline) +- Use __make macro instead of make (Tom Stellard) +- Sign off generated configuration patches (Jeremy Cline) +- Drop the static path configuration for the Sphinx docs (Jeremy Cline) +- redhat: Add dummy-module kernel module (Prarit Bhargava) +- redhat: enable CONFIG_LWTUNNEL_BPF (Jiri Benc) +- Remove typoed config file aarch64CONFIG_SM_GCC_8150 (Justin M. Forbes) +- Add Documentation back to kernel-devel as it has Kconfig now (Justin M. Forbes) +- Copy distro files rather than moving them (Jeremy Cline) +- kernel.spec: fix 'make scripts' for kernel-devel package (Brian Masney) +- Makefile: correct help text for dist-cross--rpms (Brian Masney) +- redhat/Makefile: Fix RHEL8 python warning (Prarit Bhargava) +- redhat: Change Makefile target names to dist- (Prarit Bhargava) +- configs: Disable Serial IR driver (Prarit Bhargava) +- Fix "multiple %%files for package kernel-tools" (Pablo Greco) +- Introduce a Sphinx documentation project (Jeremy Cline) +- Build ARK against ELN (Don Zickus) +- Drop the requirement to have a remote called linus (Jeremy Cline) +- Rename 'internal' branch to 'os-build' (Don Zickus) +- Only include open merge requests with "Include in Releases" label (Jeremy Cline) +- Package gpio-watch in kernel-tools (Jeremy Cline) +- Exit non-zero if the tag already exists for a release (Jeremy Cline) +- Adjust the changelog update script to not push anything (Jeremy Cline) +- Drop --target noarch from the rh-rpms make target (Jeremy Cline) +- Add a script to generate release tags and branches (Jeremy Cline) +- Set CONFIG_VDPA for fedora (Justin M. Forbes) +- Add a README to the dist-git repository (Jeremy Cline) +- Provide defaults in ark-rebase-patches.sh (Jeremy Cline) +- Default ark-rebase-patches.sh to not report issues (Jeremy Cline) +- Drop DIST from release commits and tags (Jeremy Cline) +- Place the buildid before the dist in the release (Jeremy Cline) +- Sync up with Fedora arm configuration prior to merging (Jeremy Cline) +- Disable CONFIG_PROTECTED_VIRTUALIZATION_GUEST for zfcpdump (Jeremy Cline) +- Add RHMAINTAINERS file and supporting conf (Don Zickus) +- Add a script to test if all commits are signed off (Jeremy Cline) +- Fix make rh-configs-arch (Don Zickus) +- Drop RH_FEDORA in favor of the now-merged RHEL_DIFFERENCES (Jeremy Cline) +- Sync up Fedora configs from the first week of the merge window (Jeremy Cline) +- Migrate blacklisting floppy.ko to mod-blacklist.sh (Don Zickus) +- kernel packaging: Combine mod-blacklist.sh and mod-extra-blacklist.sh (Don Zickus) +- kernel packaging: Fix extra namespace collision (Don Zickus) +- mod-extra.sh: Rename to mod-blacklist.sh (Don Zickus) +- mod-extra.sh: Make file generic (Don Zickus) +- Fix a painfully obvious YAML syntax error in .gitlab-ci.yml (Jeremy Cline) +- Add in armv7hl kernel header support (Don Zickus) +- Disable all BuildKernel commands when only building headers (Don Zickus) +- Drop any gitlab-ci patches from ark-patches (Jeremy Cline) +- Build the srpm for internal branch CI using the vanilla tree (Jeremy Cline) +- Pull in the latest ARM configurations for Fedora (Jeremy Cline) +- Fix xz memory usage issue (Neil Horman) +- Use ark-latest instead of master for update script (Jeremy Cline) +- Move the CI jobs back into the ARK repository (Jeremy Cline) +- Sync up ARK's Fedora config with the dist-git repository (Jeremy Cline) +- Pull in the latest configuration changes from Fedora (Jeremy Cline) +- configs: enable CONFIG_NET_SCH_CBS (Marcelo Ricardo Leitner) +- Drop configuration options in fedora/ that no longer exist (Jeremy Cline) +- Set RH_FEDORA for ARK and Fedora (Jeremy Cline) +- redhat/kernel.spec: Include the release in the kernel COPYING file (Jeremy Cline) +- redhat/kernel.spec: add scripts/jobserver-exec to py3_shbang_opts list (Jeremy Cline) +- redhat/kernel.spec: package bpftool-gen man page (Jeremy Cline) +- distgit-changelog: handle multiple y-stream BZ numbers (Bruno Meneguele) +- redhat/kernel.spec: remove all inline comments (Bruno Meneguele) +- redhat/genspec: awk unknown whitespace regex pattern (Bruno Meneguele) +- Improve the readability of gen_config_patches.sh (Jeremy Cline) +- Fix some awkward edge cases in gen_config_patches.sh (Jeremy Cline) +- Update the CI environment to use Fedora 31 (Jeremy Cline) +- redhat: drop whitespace from with_gcov macro (Jan Stancek) +- configs: Enable CONFIG_KEY_DH_OPERATIONS on ARK (Ondrej Mosnacek) +- configs: Adjust CONFIG_MPLS_ROUTING and CONFIG_MPLS_IPTUNNEL (Laura Abbott) +- New configs in lib/crypto (Jeremy Cline) +- New configs in drivers/char (Jeremy Cline) +- Turn on BLAKE2B for Fedora (Jeremy Cline) +- kernel.spec.template: Clean up stray *.h.s files (Laura Abbott) +- Build the SRPM in the CI job (Jeremy Cline) +- New configs in net/tls (Jeremy Cline) +- New configs in net/tipc (Jeremy Cline) +- New configs in lib/kunit (Jeremy Cline) +- Fix up released_kernel case (Laura Abbott) +- New configs in lib/Kconfig.debug (Jeremy Cline) +- New configs in drivers/ptp (Jeremy Cline) +- New configs in drivers/nvme (Jeremy Cline) +- New configs in drivers/net/phy (Jeremy Cline) +- New configs in arch/arm64 (Jeremy Cline) +- New configs in drivers/crypto (Jeremy Cline) +- New configs in crypto/Kconfig (Jeremy Cline) +- Add label so the Gitlab to email bridge ignores the changelog (Jeremy Cline) +- Temporarily switch TUNE_DEFAULT to y (Jeremy Cline) +- Run config test for merge requests and internal (Jeremy Cline) +- Add missing licensedir line (Laura Abbott) +- redhat/scripts: Remove redhat/scripts/rh_get_maintainer.pl (Prarit Bhargava) +- configs: Take CONFIG_DEFAULT_MMAP_MIN_ADDR from Fedra (Laura Abbott) +- configs: Turn off ISDN (Laura Abbott) +- Add a script to generate configuration patches (Laura Abbott) +- Introduce rh-configs-commit (Laura Abbott) +- kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava) +- configs: Enable CONFIG_DEBUG_WX (Laura Abbott) +- configs: Disable wireless USB (Laura Abbott) +- Clean up some temporary config files (Laura Abbott) +- configs: New config in drivers/gpu for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/powerpc for v5.4-rc1 (Jeremy Cline) +- configs: New config in crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/usb for v5.4-rc1 (Jeremy Cline) +- AUTOMATIC: New configs (Jeremy Cline) +- Skip ksamples for bpf, they are broken (Jeremy Cline) +- configs: New config in fs/erofs for v5.4-rc1 (Jeremy Cline) +- configs: New config in mm for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/md for v5.4-rc1 (Jeremy Cline) +- configs: New config in init for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/fuse for v5.4-rc1 (Jeremy Cline) +- merge.pl: Avoid comments but do not skip them (Don Zickus) +- configs: New config in drivers/net/ethernet/pensando for v5.4-rc1 (Jeremy Cline) +- Update a comment about what released kernel means (Laura Abbott) +- Provide both Fedora and RHEL files in the SRPM (Laura Abbott) +- kernel.spec.template: Trim EXTRAVERSION in the Makefile (Laura Abbott) +- kernel.spec.template: Add macros for building with nopatches (Laura Abbott) +- kernel.spec.template: Add some macros for Fedora differences (Laura Abbott) +- kernel.spec.template: Consolodate the options (Laura Abbott) +- configs: Add pending direcory to Fedora (Laura Abbott) +- kernel.spec.template: Don't run hardlink if rpm-ostree is in use (Laura Abbott) +- configs: New config in net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/phy for v5.4-rc1 (Jeremy Cline) +- configs: Increase x86_64 NR_UARTS to 64 (Prarit Bhargava) [1730649] +- configs: turn on ARM64_FORCE_52BIT for debug builds (Jeremy Cline) +- kernel.spec.template: Tweak the python3 mangling (Laura Abbott) +- kernel.spec.template: Add --with verbose option (Laura Abbott) +- kernel.spec.template: Switch to using %%install instead of %%__install (Laura Abbott) +- kernel.spec.template: Make the kernel.org URL https (Laura Abbott) +- kernel.spec.template: Update message about secure boot signing (Laura Abbott) +- kernel.spec.template: Move some with flags definitions up (Laura Abbott) +- kernel.spec.template: Update some BuildRequires (Laura Abbott) +- kernel.spec.template: Get rid of %%clean (Laura Abbott) +- configs: New config in drivers/char for v5.4-rc1 (Jeremy Cline) +- configs: New config in net/sched for v5.4-rc1 (Jeremy Cline) +- configs: New config in lib for v5.4-rc1 (Jeremy Cline) +- configs: New config in fs/verity for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/aarch64 for v5.4-rc4 (Jeremy Cline) +- configs: New config in arch/arm64 for v5.4-rc1 (Jeremy Cline) +- Flip off CONFIG_ARM64_VA_BITS_52 so the bundle that turns it on applies (Jeremy Cline) +- New configuration options for v5.4-rc4 (Jeremy Cline) +- Correctly name tarball for single tarball builds (Laura Abbott) +- configs: New config in drivers/pci for v5.4-rc1 (Jeremy Cline) +- Allow overriding the dist tag on the command line (Laura Abbott) +- Allow scratch branch target to be overridden (Laura Abbott) +- Remove long dead BUILD_DEFAULT_TARGET (Laura Abbott) +- Amend the changelog when rebasing (Laura Abbott) +- configs: New config in drivers/platform for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/pinctrl for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/wireless for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/ethernet/mellanox for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/net/can for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hid for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/dma-buf for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in block for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/cpuidle for v5.4-rc1 (Jeremy Cline) +- redhat: configs: Split CONFIG_CRYPTO_SHA512 (Laura Abbott) +- redhat: Set Fedora options (Laura Abbott) +- Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline) +- configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline) +- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) +- configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline) +- Add option to allow mismatched configs on the command line (Laura Abbott) +- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline) +- configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline) +- gitlab: Add CI job for packaging scripts (Major Hayden) +- Speed up CI with CKI image (Major Hayden) +- Disable e1000 driver in ARK (Neil Horman) +- configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline) +- configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline) +- configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline) +- Add an initial CI configuration for the internal branch (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- New drop of configuration options for v5.4-rc1 (Jeremy Cline) +- Pull the RHEL version defines out of the Makefile (Jeremy Cline) +- Sync up the ARK build scripts (Jeremy Cline) +- Sync up the Fedora Rawhide configs (Jeremy Cline) +- Sync up the ARK config files (Jeremy Cline) +- configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott) +- configs: Add README for some other arches (Laura Abbott) +- configs: Sync up Fedora configs (Laura Abbott) +- [initial commit] Add structure for building with git (Laura Abbott) +- [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott) +- [initial commit] Red Hat gitignore and attributes (Laura Abbott) +- [initial commit] Add changelog (Laura Abbott) +- [initial commit] Add makefile (Laura Abbott) +- [initial commit] Add files for generating the kernel.spec (Laura Abbott) +- [initial commit] Add rpm directory (Laura Abbott) +- [initial commit] Add files for packaging (Laura Abbott) +- [initial commit] Add kabi files (Laura Abbott) +- [initial commit] Add scripts (Laura Abbott) +- [initial commit] Add configs (Laura Abbott) +- [initial commit] Add Makefiles (Laura Abbott) * Sun Jan 09 2022 Fedora Kernel Team [5.16-0.rc8.20220109git4634129ad9fd.59] - redhat/configs: Migrate ZRAM_DEF_* configs to common/ (Neal Gompa) diff --git a/mod-internal.list b/mod-internal.list index e912efa6f..67a4f7349 100644 --- a/mod-internal.list +++ b/mod-internal.list @@ -18,11 +18,14 @@ test_bits test_kasan time_test fat_test +lib_test rational-test test_list_sort slub_kunit -lib_test +memcpy_kunit +dev_addr_lists_test kfence_test +test_hash locktorture mac80211_hwsim netdevsim @@ -43,3 +46,6 @@ test_klp_state3 torture refscale memcpy_kunit +dev_addr_lists_test +test_hash +test_bpf diff --git a/patch-5.16-redhat.patch b/patch-5.16-redhat.patch deleted file mode 100644 index be01419fa..000000000 --- a/patch-5.16-redhat.patch +++ /dev/null @@ -1,1851 +0,0 @@ - Makefile | 4 + - arch/arm/Kconfig | 4 +- - arch/arm64/Kconfig | 3 +- - arch/s390/include/asm/ipl.h | 1 + - arch/s390/kernel/ipl.c | 5 + - arch/s390/kernel/setup.c | 4 + - arch/x86/kernel/resource.c | 23 +++- - arch/x86/kernel/setup.c | 22 ++-- - crypto/rng.c | 73 +++++++++++- - 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 | 115 +++++++++++++++++++ - drivers/firmware/efi/Makefile | 1 + - drivers/firmware/efi/efi.c | 124 +++++++++++++++------ - drivers/firmware/efi/secureboot.c | 38 +++++++ - drivers/hid/hid-rmi.c | 64 ----------- - drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++ - drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++--------- - drivers/iommu/iommu.c | 22 ++++ - drivers/nvme/host/core.c | 22 +++- - drivers/nvme/host/multipath.c | 19 ++-- - drivers/nvme/host/nvme.h | 4 + - drivers/pci/quirks.c | 24 ++++ - drivers/usb/core/hub.c | 7 ++ - include/linux/efi.h | 22 ++-- - include/linux/lsm_hook_defs.h | 2 + - include/linux/lsm_hooks.h | 6 + - include/linux/random.h | 7 ++ - include/linux/rmi.h | 1 + - include/linux/security.h | 5 + - include/net/netfilter/nf_conntrack.h | 1 + - kernel/module_signing.c | 9 +- - net/netfilter/nf_conntrack_core.c | 3 + - net/netfilter/nf_nat_core.c | 43 ++++++- - scripts/tags.sh | 2 + - security/integrity/platform_certs/load_uefi.c | 6 +- - security/lockdown/Kconfig | 13 +++ - security/lockdown/lockdown.c | 1 + - security/security.c | 6 + - tools/testing/selftests/netfilter/nft_nat.sh | 5 +- - 44 files changed, 746 insertions(+), 191 deletions(-) - -diff --git a/Makefile b/Makefile -index 36ff4ed4763b..1779878aa037 100644 ---- a/Makefile -+++ b/Makefile -@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ - PHONY := __all - __all: - -+# Set RHEL variables -+# Use this spot to avoid future merge conflicts -+include Makefile.rhelver -+ - # We are using a recursive build, so we need to do a little thinking - # to get the ordering right. - # -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index c2724d986fa0..8063dcef65f7 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -1479,9 +1479,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 c4207cf9bb17..9e440657f15e 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -1023,7 +1023,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 -@@ -1277,6 +1277,7 @@ config XEN - config FORCE_MAX_ZONEORDER - int - default "14" if ARM64_64K_PAGES -+ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES) - default "12" if ARM64_16K_PAGES - default "11" - help -diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h -index 3f8ee257f9aa..3ab92feb6241 100644 ---- a/arch/s390/include/asm/ipl.h -+++ b/arch/s390/include/asm/ipl.h -@@ -128,6 +128,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 5ad1dde23dc5..b6192d58eed3 100644 ---- a/arch/s390/kernel/ipl.c -+++ b/arch/s390/kernel/ipl.c -@@ -2216,3 +2216,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 225ab2d0a4c6..6a06cde25ca2 100644 ---- a/arch/s390/kernel/setup.c -+++ b/arch/s390/kernel/setup.c -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -963,6 +964,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/resource.c b/arch/x86/kernel/resource.c -index 9b9fb7882c20..9ae64f9af956 100644 ---- a/arch/x86/kernel/resource.c -+++ b/arch/x86/kernel/resource.c -@@ -1,4 +1,5 @@ - // SPDX-License-Identifier: GPL-2.0 -+#include - #include - #include - -@@ -23,11 +24,31 @@ static void resource_clip(struct resource *res, resource_size_t start, - res->start = end + 1; - } - -+/* -+ * Some BIOS-es contain a bug where they add addresses which map to -+ * system RAM in the PCI host bridge window returned by the ACPI _CRS -+ * method, see commit 4dc2287c1805 ("x86: avoid E820 regions when -+ * allocating address space"). To avoid this Linux by default excludes -+ * E820 reservations when allocating addresses since 2010. -+ * In 2019 some systems have shown-up with E820 reservations which cover -+ * the entire _CRS returned PCI host bridge window, causing all attempts -+ * to assign memory to PCI BARs to fail if Linux uses E820 reservations. -+ * -+ * Ideally Linux would fully stop using E820 reservations, but then -+ * the old systems this was added for will regress. -+ * Instead keep the old behavior for old systems, while ignoring the -+ * E820 reservations for any systems from now on. -+ */ - static void remove_e820_regions(struct resource *avail) - { -- int i; -+ int i, year = dmi_get_bios_year(); - struct e820_entry *entry; - -+ if (year >= 2018) -+ return; -+ -+ pr_info_once("PCI: Removing E820 reservations from host bridge windows\n"); -+ - for (i = 0; i < e820_table->nr_entries; i++) { - entry = &e820_table->entries[i]; - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index e04f5e6eb33f..8015e3d2dc9a 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -929,6 +930,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 -+ - dmi_setup(); - - /* -@@ -1094,19 +1102,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(); - -diff --git a/crypto/rng.c b/crypto/rng.c -index fea082b25fe4..50a9d040bed1 100644 ---- a/crypto/rng.c -+++ b/crypto/rng.c -@@ -11,14 +11,17 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include - #include -+#include -+#include - #include - #include - #include --#include - #include - - #include "internal.h" -@@ -224,5 +227,73 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count) - } - EXPORT_SYMBOL_GPL(crypto_unregister_rngs); - -+static ssize_t crypto_devrandom_read(void __user *buf, size_t buflen) -+{ -+ u8 tmp[256]; -+ ssize_t ret; -+ -+ if (!buflen) -+ return 0; -+ -+ ret = crypto_get_default_rng(); -+ if (ret) -+ return ret; -+ -+ for (;;) { -+ int err; -+ int i; -+ -+ i = min_t(int, buflen, sizeof(tmp)); -+ err = crypto_rng_get_bytes(crypto_default_rng, tmp, i); -+ if (err) { -+ ret = err; -+ break; -+ } -+ -+ if (copy_to_user(buf, tmp, i)) { -+ ret = -EFAULT; -+ break; -+ } -+ -+ buflen -= i; -+ buf += i; -+ ret += i; -+ -+ if (!buflen) -+ break; -+ -+ if (need_resched()) { -+ if (signal_pending(current)) -+ break; -+ schedule(); -+ } -+ } -+ -+ crypto_put_default_rng(); -+ memzero_explicit(tmp, sizeof(tmp)); -+ -+ return ret; -+} -+ -+static const struct random_extrng crypto_devrandom_rng = { -+ .extrng_read = crypto_devrandom_read, -+ .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 0edc1ed47673..782e2f399af2 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 c68e694fca26..146cba5ae5bc 100644 ---- a/drivers/acpi/irq.c -+++ b/drivers/acpi/irq.c -@@ -130,6 +130,7 @@ struct acpi_irq_parse_one_ctx { - unsigned int index; - unsigned long *res_flags; - struct irq_fwspec *fwspec; -+ bool skip_producer_check; - }; - - /** -@@ -201,7 +202,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; -@@ -236,8 +238,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_bus_get_acpi_device(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 25d9f04f1995..c2fa1e98fb28 100644 ---- a/drivers/acpi/scan.c -+++ b/drivers/acpi/scan.c -@@ -1732,6 +1732,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 f76b8418e6fb..350e52fccc30 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -690,6 +690,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 c59265146e9c..caa8458edde2 100644 ---- a/drivers/char/ipmi/ipmi_msghandler.c -+++ b/drivers/char/ipmi/ipmi_msghandler.c -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - #include - - #define IPMI_DRIVER_VERSION "39.2" -@@ -5422,8 +5423,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 a27ae3999ff3..dc4e136adb08 100644 ---- a/drivers/char/random.c -+++ b/drivers/char/random.c -@@ -335,6 +335,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -349,6 +350,11 @@ - - /* #define ADD_INTERRUPT_BENCH */ - -+/* -+ * Hook for external RNG. -+ */ -+static const struct random_extrng __rcu *extrng; -+ - /* - * Configuration information - */ -@@ -482,6 +488,9 @@ static int ratelimit_disable __read_mostly; - module_param_named(ratelimit_disable, ratelimit_disable, int, 0644); - MODULE_PARM_DESC(ratelimit_disable, "Disable random ratelimit suppression"); - -+static const struct file_operations extrng_random_fops; -+static const struct file_operations extrng_urandom_fops; -+ - /********************************************************************** - * - * OS independent entropy store. Here are the functions which handle -@@ -1880,6 +1889,13 @@ random_poll(struct file *file, poll_table * wait) - return mask; - } - -+static __poll_t -+extrng_poll(struct file *file, poll_table * wait) -+{ -+ /* extrng pool is always full, always read, no writes */ -+ return EPOLLIN | EPOLLRDNORM; -+} -+ - static int - write_pool(struct entropy_store *r, const char __user *buffer, size_t count) - { -@@ -1983,7 +1999,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(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) -+{ -+ return rcu_dereference_raw(extrng)->extrng_read(buf, nbytes); -+} -+ - const struct file_operations random_fops = { -+ .open = random_open, - .read = random_read, - .write = random_write, - .poll = random_poll, -@@ -1994,6 +2061,7 @@ const struct file_operations random_fops = { - }; - - const struct file_operations urandom_fops = { -+ .open = urandom_open, - .read = urandom_read, - .write = random_write, - .unlocked_ioctl = random_ioctl, -@@ -2002,9 +2070,31 @@ const struct file_operations urandom_fops = { - .llseek = noop_llseek, - }; - -+static const struct file_operations extrng_random_fops = { -+ .open = random_open, -+ .read = extrng_read, -+ .write = random_write, -+ .poll = extrng_poll, -+ .unlocked_ioctl = random_ioctl, -+ .fasync = random_fasync, -+ .llseek = noop_llseek, -+ .release = extrng_release, -+}; -+ -+static const struct file_operations extrng_urandom_fops = { -+ .open = urandom_open, -+ .read = extrng_read, -+ .write = random_write, -+ .unlocked_ioctl = random_ioctl, -+ .fasync = random_fasync, -+ .llseek = noop_llseek, -+ .release = extrng_release, -+}; -+ - SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, - unsigned int, flags) - { -+ const struct random_extrng *rng; - int ret; - - if (flags & ~(GRND_NONBLOCK|GRND_RANDOM|GRND_INSECURE)) -@@ -2020,6 +2110,18 @@ SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, - if (count > INT_MAX) - count = INT_MAX; - -+ rcu_read_lock(); -+ rng = rcu_dereference(extrng); -+ if (rng && !try_module_get(rng->owner)) -+ rng = NULL; -+ rcu_read_unlock(); -+ -+ if (rng) { -+ ret = rng->extrng_read(buf, count); -+ module_put(rng->owner); -+ return ret; -+ } -+ - if (!(flags & GRND_INSECURE) && !crng_ready()) { - if (flags & GRND_NONBLOCK) - return -EAGAIN; -@@ -2329,3 +2431,16 @@ void add_bootloader_randomness(const void *buf, unsigned int size) - add_device_randomness(buf, size); - } - EXPORT_SYMBOL_GPL(add_bootloader_randomness); -+ -+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); -diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile -index c02ff25dd477..d860f8eb9a81 100644 ---- a/drivers/firmware/efi/Makefile -+++ b/drivers/firmware/efi/Makefile -@@ -28,6 +28,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o - 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 ae79c3300129..e9205ea7aeb3 100644 ---- a/drivers/firmware/efi/efi.c -+++ b/drivers/firmware/efi/efi.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include - -@@ -844,40 +845,101 @@ int efi_mem_type(unsigned long phys_addr) - } - #endif - -+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; - } - - static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); -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 -+#include -+#include -+ -+/* -+ * 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 311eee599ce9..2460c6bd46f8 100644 ---- a/drivers/hid/hid-rmi.c -+++ b/drivers/hid/hid-rmi.c -@@ -322,19 +322,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; - -- 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; - } - -@@ -591,56 +584,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; -@@ -713,18 +656,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 86a313857b58..dcfc95d0e328 100644 ---- a/drivers/hwtracing/coresight/coresight-etm4x-core.c -+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c -@@ -9,6 +9,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -2156,6 +2157,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 = { -@@ -2189,6 +2200,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 */ -@@ -2215,6 +2231,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 258d5fe3d395..f7298e3dc8f3 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: -@@ -981,6 +997,8 @@ static int rmi_driver_remove(struct device *dev) - irq_domain_remove(data->irqdomain); - data->irqdomain = NULL; - -+ 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 8b86406b7162..2dffe129b902 100644 ---- a/drivers/iommu/iommu.c -+++ b/drivers/iommu/iommu.c -@@ -7,6 +7,7 @@ - #define pr_fmt(fmt) "iommu: " fmt - - #include -+#include - #include - #include - #include -@@ -3119,6 +3120,27 @@ u32 iommu_sva_get_pasid(struct iommu_sva *handle) - } - EXPORT_SYMBOL_GPL(iommu_sva_get_pasid); - -+#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 -+ - /* - * Changes the default domain of an iommu group that has *only* one device - * -diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index 1af8a4513708..5a23e077ab86 100644 ---- a/drivers/nvme/host/core.c -+++ b/drivers/nvme/host/core.c -@@ -244,6 +244,9 @@ static 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; -@@ -303,6 +306,7 @@ enum nvme_disposition { - COMPLETE, - RETRY, - FAILOVER, -+ FAILUP, - }; - - static inline enum nvme_disposition nvme_decide_disposition(struct request *req) -@@ -310,15 +314,16 @@ static inline enum nvme_disposition nvme_decide_disposition(struct request *req) - if (likely(nvme_req(req)->status == 0)) - return COMPLETE; - -- 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; -@@ -344,6 +349,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) - { - trace_nvme_complete_rq(req); -@@ -362,6 +375,9 @@ void nvme_complete_rq(struct request *req) - case FAILOVER: - nvme_failover_req(req); - return; -+ case FAILUP: -+ nvme_failup_req(req); -+ return; - } - } - EXPORT_SYMBOL_GPL(nvme_complete_rq); -diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c -index 13e5d503ed07..daaeb316f624 100644 ---- a/drivers/nvme/host/multipath.c -+++ b/drivers/nvme/host/multipath.c -@@ -65,14 +65,10 @@ bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags) - return true; - } - --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 -@@ -83,6 +79,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) { -@@ -838,8 +844,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 9b095ee01364..bf25ef206cd2 100644 ---- a/drivers/nvme/host/nvme.h -+++ b/drivers/nvme/host/nvme.h -@@ -765,6 +765,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys); - void nvme_mpath_start_freeze(struct nvme_subsystem *subsys); - bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags); - 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, struct nvme_id_ns *id); -@@ -803,6 +804,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, - 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/quirks.c b/drivers/pci/quirks.c -index 20a932690738..494cee3aec7b 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -4272,6 +4272,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/usb/core/hub.c b/drivers/usb/core/hub.c -index ac6c5ccfe1cb..ec784479eece 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -5669,6 +5669,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/include/linux/efi.h b/include/linux/efi.h -index ef8dbc0a1522..836a5dfc6156 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -43,6 +43,8 @@ - #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 */ -@@ -783,6 +785,14 @@ extern int __init efi_setup_pcdp_console(char *); - #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 - /* -@@ -794,6 +804,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) -@@ -814,6 +826,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; -@@ -826,6 +840,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) - #endif - - extern int efi_status_to_err(efi_status_t status); -+extern const char *efi_status_to_str(efi_status_t status); - - /* - * Variable Attributes -@@ -1078,13 +1093,6 @@ static inline bool efi_runtime_disabled(void) { return true; } - extern void efi_call_virt_check_flags(unsigned long flags, const char *call); - 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/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h -index df8de62f4710..f4bbbeb1623a 100644 ---- a/include/linux/lsm_hook_defs.h -+++ b/include/linux/lsm_hook_defs.h -@@ -395,6 +395,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/lsm_hooks.h b/include/linux/lsm_hooks.h -index d45b6f6e27fd..70622b506461 100644 ---- a/include/linux/lsm_hooks.h -+++ b/include/linux/lsm_hooks.h -@@ -1548,6 +1548,12 @@ - * - * @what: kernel feature being accessed - * -+ * @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) -+ * - * Security hooks for perf events - * - * @perf_event_open: -diff --git a/include/linux/random.h b/include/linux/random.h -index f45b8be3e3c4..7ccdec68b789 100644 ---- a/include/linux/random.h -+++ b/include/linux/random.h -@@ -14,6 +14,11 @@ - - #include - -+struct random_extrng { -+ ssize_t (*extrng_read)(void __user *buf, size_t buflen); -+ struct module *owner; -+}; -+ - struct random_ready_callback { - struct list_head list; - void (*func)(struct random_ready_callback *rdy); -@@ -44,6 +49,8 @@ extern bool rng_is_initialized(void); - extern int add_random_ready_callback(struct random_ready_callback *rdy); - extern void del_random_ready_callback(struct random_ready_callback *rdy); - extern int __must_check get_random_bytes_arch(void *buf, int nbytes); -+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; -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 bbf44a466832..026a06b98a96 100644 ---- a/include/linux/security.h -+++ b/include/linux/security.h -@@ -473,6 +473,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); - #else /* CONFIG_SECURITY */ - - static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) -@@ -1355,6 +1356,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; -+} - #endif /* CONFIG_SECURITY */ - - #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) -diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h -index d24b0a34c8f0..871489df63c6 100644 ---- a/include/net/netfilter/nf_conntrack.h -+++ b/include/net/netfilter/nf_conntrack.h -@@ -95,6 +95,7 @@ struct nf_conn { - unsigned long status; - - u16 cpu; -+ u16 local_origin:1; - possible_net_t ct_net; - - #if IS_ENABLED(CONFIG_NF_NAT) -diff --git a/kernel/module_signing.c b/kernel/module_signing.c -index 8723ae70ea1f..fb2d773498c2 100644 ---- a/kernel/module_signing.c -+++ b/kernel/module_signing.c -@@ -38,8 +38,15 @@ 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; - } -diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 4712a90a1820..208abc729302 100644 ---- a/net/netfilter/nf_conntrack_core.c -+++ b/net/netfilter/nf_conntrack_core.c -@@ -1749,6 +1749,9 @@ resolve_normal_ct(struct nf_conn *tmpl, - return 0; - if (IS_ERR(h)) - return PTR_ERR(h); -+ -+ ct = nf_ct_tuplehash_to_ctrack(h); -+ ct->local_origin = state->hook == NF_INET_LOCAL_OUT; - } - ct = nf_ct_tuplehash_to_ctrack(h); - -diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c -index 4d50d51db796..29d26bc977dc 100644 ---- a/net/netfilter/nf_nat_core.c -+++ b/net/netfilter/nf_nat_core.c -@@ -494,6 +494,38 @@ static void nf_nat_l4proto_unique_tuple(struct nf_conntrack_tuple *tuple, - goto another_round; - } - -+static bool tuple_force_port_remap(const struct nf_conntrack_tuple *tuple) -+{ -+ u16 sp, dp; -+ -+ switch (tuple->dst.protonum) { -+ case IPPROTO_TCP: -+ sp = ntohs(tuple->src.u.tcp.port); -+ dp = ntohs(tuple->dst.u.tcp.port); -+ break; -+ case IPPROTO_UDP: -+ case IPPROTO_UDPLITE: -+ sp = ntohs(tuple->src.u.udp.port); -+ dp = ntohs(tuple->dst.u.udp.port); -+ break; -+ default: -+ return false; -+ } -+ -+ /* IANA: System port range: 1-1023, -+ * user port range: 1024-49151, -+ * private port range: 49152-65535. -+ * -+ * Linux default ephemeral port range is 32768-60999. -+ * -+ * Enforce port remapping if sport is significantly lower -+ * than dport to prevent NAT port shadowing, i.e. -+ * accidental match of 'new' inbound connection vs. -+ * existing outbound one. -+ */ -+ return sp < 16384 && dp >= 32768; -+} -+ - /* Manipulate the tuple into the range given. For NF_INET_POST_ROUTING, - * we change the source to map into the range. For NF_INET_PRE_ROUTING - * and NF_INET_LOCAL_OUT, we change the destination to map into the -@@ -507,11 +539,17 @@ get_unique_tuple(struct nf_conntrack_tuple *tuple, - struct nf_conn *ct, - enum nf_nat_manip_type maniptype) - { -+ bool random_port = range->flags & NF_NAT_RANGE_PROTO_RANDOM_ALL; - const struct nf_conntrack_zone *zone; - struct net *net = nf_ct_net(ct); - - zone = nf_ct_zone(ct); - -+ if (maniptype == NF_NAT_MANIP_SRC && -+ !random_port && -+ !ct->local_origin) -+ random_port = tuple_force_port_remap(orig_tuple); -+ - /* 1) If this srcip/proto/src-proto-part is currently mapped, - * and that same mapping gives a unique tuple within the given - * range, use that. -@@ -520,8 +558,7 @@ get_unique_tuple(struct nf_conntrack_tuple *tuple, - * So far, we don't do local source mappings, so multiple - * manips not an issue. - */ -- if (maniptype == NF_NAT_MANIP_SRC && -- !(range->flags & NF_NAT_RANGE_PROTO_RANDOM_ALL)) { -+ if (maniptype == NF_NAT_MANIP_SRC && !random_port) { - /* try the original tuple first */ - if (in_range(orig_tuple, range)) { - if (!nf_nat_used_tuple(orig_tuple, ct)) { -@@ -545,7 +582,7 @@ get_unique_tuple(struct nf_conntrack_tuple *tuple, - */ - - /* Only bother mapping if it's not already in range and unique */ -- if (!(range->flags & NF_NAT_RANGE_PROTO_RANDOM_ALL)) { -+ if (!random_port) { - if (range->flags & NF_NAT_RANGE_PROTO_SPECIFIED) { - if (!(range->flags & NF_NAT_RANGE_PROTO_OFFSET) && - l4proto_in_range(tuple, maniptype, -diff --git a/scripts/tags.sh b/scripts/tags.sh -index b24bfaec6290..0418ba1d33f3 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" - - # Use make KBUILD_ABS_SRCTREE=1 {tags|cscope} - # to force full paths for a non-O= build -diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c -index f290f78c3f30..d3e7ae04f5be 100644 ---- a/security/integrity/platform_certs/load_uefi.c -+++ b/security/integrity/platform_certs/load_uefi.c -@@ -46,7 +46,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; - } - -@@ -57,7 +58,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 87cbdc64d272..18555cf18da7 100644 ---- a/security/lockdown/lockdown.c -+++ b/security/lockdown/lockdown.c -@@ -73,6 +73,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what) - - static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = { - LSM_HOOK_INIT(locked_down, lockdown_is_locked_down), -+ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down), - }; - - static int __init lockdown_lsm_init(void) -diff --git a/security/security.c b/security/security.c -index c88167a414b4..e65a178ff9f4 100644 ---- a/security/security.c -+++ b/security/security.c -@@ -2600,6 +2600,12 @@ int security_locked_down(enum lockdown_reason what) - } - EXPORT_SYMBOL(security_locked_down); - -+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 - int security_perf_event_open(struct perf_event_attr *attr, int type) - { -diff --git a/tools/testing/selftests/netfilter/nft_nat.sh b/tools/testing/selftests/netfilter/nft_nat.sh -index d88867d2fed7..349a319a9e51 100755 ---- a/tools/testing/selftests/netfilter/nft_nat.sh -+++ b/tools/testing/selftests/netfilter/nft_nat.sh -@@ -880,8 +880,9 @@ EOF - return $ksft_skip - fi - -- # test default behaviour. Packet from ns1 to ns0 is redirected to ns2. -- test_port_shadow "default" "CLIENT" -+ # test default behaviour. Packet from ns1 to ns0 is not redirected -+ # due to automatic port translation. -+ test_port_shadow "default" "ROUTER" - - # test packet filter based mitigation: prevent forwarding of - # packets claiming to come from the service port. diff --git a/patch-5.17-redhat.patch b/patch-5.17-redhat.patch new file mode 100644 index 000000000..ed4ed974f --- /dev/null +++ b/patch-5.17-redhat.patch @@ -0,0 +1,2212 @@ + 0001-Revert-SimpleDRM-changes.patch | 108 ++++++++++++++++++ + Documentation/core-api/dma-attributes.rst | 8 ++ + Kconfig | 2 + + Kconfig.redhat | 17 +++ + Makefile | 12 +- + arch/arm/Kconfig | 4 +- + arch/arm64/Kconfig | 3 +- + arch/s390/include/asm/ipl.h | 1 + + arch/s390/kernel/ipl.c | 5 + + arch/s390/kernel/setup.c | 4 + + arch/x86/kernel/setup.c | 22 ++-- + crypto/rng.c | 73 +++++++++++- + 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 | 115 +++++++++++++++++++ + drivers/firmware/efi/Makefile | 1 + + drivers/firmware/efi/efi.c | 124 +++++++++++++++------ + drivers/firmware/efi/secureboot.c | 38 +++++++ + drivers/gpu/drm/i915/display/intel_psr.c | 9 ++ + drivers/hid/hid-rmi.c | 64 ----------- + drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++ + drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++--------- + drivers/iommu/iommu.c | 22 ++++ + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +- + drivers/nvme/host/core.c | 22 +++- + drivers/nvme/host/multipath.c | 19 ++-- + drivers/nvme/host/nvme.h | 4 + + drivers/pci/msi/msi.c | 12 +- + drivers/pci/quirks.c | 24 ++++ + drivers/usb/core/hub.c | 7 ++ + fs/nfs/client.c | 3 +- + fs/nfs/fs_context.c | 8 ++ + include/linux/dma-mapping.h | 8 ++ + include/linux/efi.h | 22 ++-- + include/linux/lsm_hook_defs.h | 2 + + include/linux/lsm_hooks.h | 6 + + include/linux/mmzone.h | 11 +- + include/linux/module.h | 1 + + include/linux/nfs_fs_sb.h | 1 + + include/linux/random.h | 7 ++ + include/linux/rmi.h | 1 + + include/linux/security.h | 5 + + init/Kconfig | 2 +- + kernel/dma/swiotlb.c | 23 ++-- + kernel/module.c | 2 + + kernel/module_signing.c | 9 +- + net/bluetooth/hci_core.c | 4 +- + net/bluetooth/hci_event.c | 7 +- + 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 | 6 + + 58 files changed, 885 insertions(+), 223 deletions(-) + +diff --git a/0001-Revert-SimpleDRM-changes.patch b/0001-Revert-SimpleDRM-changes.patch +new file mode 100644 +index 000000000000..5b63b49da946 +--- /dev/null ++++ b/0001-Revert-SimpleDRM-changes.patch +@@ -0,0 +1,108 @@ ++From 71e9b84904d2dffca453acc8e44029197bd7057d Mon Sep 17 00:00:00 2001 ++From: "Justin M. Forbes" ++Date: Thu, 31 Mar 2022 13:42:18 -0500 ++Subject: [PATCH] Revert SimpleDRM changes ++ ++The Simple DRM feature for F36 requires some configration changes that ++do not work for everyone on F35 and below. This revert will be saved in ++the tree so that it can be applied before building configs for F34/F35 ++ ++Signed-off-by: Justin M. Forbes ++--- ++ redhat/configs/fedora/generic/CONFIG_DRM | 1 - ++ redhat/configs/fedora/generic/CONFIG_DRM_DEBUG_MM | 1 - ++ redhat/configs/fedora/generic/CONFIG_DRM_SIMPLEDRM | 2 +- ++ redhat/configs/fedora/generic/CONFIG_FB_EFI | 1 - ++ redhat/configs/fedora/generic/CONFIG_FB_SSD1307 | 2 +- ++ redhat/configs/fedora/generic/CONFIG_I2C_ALGOBIT | 1 - ++ redhat/configs/fedora/generic/CONFIG_SYSFB_SIMPLEFB | 2 +- ++ redhat/configs/fedora/generic/arm/CONFIG_FB_SIMPLE | 2 +- ++ redhat/configs/fedora/generic/arm/CONFIG_FB_SSD1307 | 2 +- ++ redhat/configs/fedora/generic/x86/CONFIG_FB_I810 | 2 +- ++ redhat/configs/fedora/generic/x86/CONFIG_FB_VGA16 | 2 +- ++ 11 files changed, 7 insertions(+), 11 deletions(-) ++ delete mode 100644 redhat/configs/fedora/generic/CONFIG_DRM ++ delete mode 100644 redhat/configs/fedora/generic/CONFIG_DRM_DEBUG_MM ++ delete mode 100644 redhat/configs/fedora/generic/CONFIG_FB_EFI ++ delete mode 100644 redhat/configs/fedora/generic/CONFIG_I2C_ALGOBIT ++ ++diff --git a/redhat/configs/fedora/generic/CONFIG_DRM b/redhat/configs/fedora/generic/CONFIG_DRM ++deleted file mode 100644 ++index 517f31840d34..000000000000 ++--- a/redhat/configs/fedora/generic/CONFIG_DRM +++++ /dev/null ++@@ -1 +0,0 @@ ++-CONFIG_DRM=y ++diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_DEBUG_MM b/redhat/configs/fedora/generic/CONFIG_DRM_DEBUG_MM ++deleted file mode 100644 ++index 117f02c9e72a..000000000000 ++--- a/redhat/configs/fedora/generic/CONFIG_DRM_DEBUG_MM +++++ /dev/null ++@@ -1 +0,0 @@ ++-# CONFIG_DRM_DEBUG_MM is not set ++diff --git a/redhat/configs/fedora/generic/CONFIG_DRM_SIMPLEDRM b/redhat/configs/fedora/generic/CONFIG_DRM_SIMPLEDRM ++index b81ed1176cd9..2bd12280c074 100644 ++--- a/redhat/configs/fedora/generic/CONFIG_DRM_SIMPLEDRM +++++ b/redhat/configs/fedora/generic/CONFIG_DRM_SIMPLEDRM ++@@ -1 +1 @@ ++-CONFIG_DRM_SIMPLEDRM=y +++# CONFIG_DRM_SIMPLEDRM is not set ++diff --git a/redhat/configs/fedora/generic/CONFIG_FB_EFI b/redhat/configs/fedora/generic/CONFIG_FB_EFI ++deleted file mode 100644 ++index 93d6a277972b..000000000000 ++--- a/redhat/configs/fedora/generic/CONFIG_FB_EFI +++++ /dev/null ++@@ -1 +0,0 @@ ++-# CONFIG_FB_EFI is not set ++diff --git a/redhat/configs/fedora/generic/CONFIG_FB_SSD1307 b/redhat/configs/fedora/generic/CONFIG_FB_SSD1307 ++index cddd16bb7398..efd995bdfe8a 100644 ++--- a/redhat/configs/fedora/generic/CONFIG_FB_SSD1307 +++++ b/redhat/configs/fedora/generic/CONFIG_FB_SSD1307 ++@@ -1 +1 @@ ++-# CONFIG_FB_SSD1307 is not set +++CONFIG_FB_SSD1307=m ++diff --git a/redhat/configs/fedora/generic/CONFIG_I2C_ALGOBIT b/redhat/configs/fedora/generic/CONFIG_I2C_ALGOBIT ++deleted file mode 100644 ++index b89d18d43501..000000000000 ++--- a/redhat/configs/fedora/generic/CONFIG_I2C_ALGOBIT +++++ /dev/null ++@@ -1 +0,0 @@ ++-CONFIG_I2C_ALGOBIT=y ++diff --git a/redhat/configs/fedora/generic/CONFIG_SYSFB_SIMPLEFB b/redhat/configs/fedora/generic/CONFIG_SYSFB_SIMPLEFB ++index d542137dbb6a..6ae3e10a489e 100644 ++--- a/redhat/configs/fedora/generic/CONFIG_SYSFB_SIMPLEFB +++++ b/redhat/configs/fedora/generic/CONFIG_SYSFB_SIMPLEFB ++@@ -1 +1 @@ ++-CONFIG_SYSFB_SIMPLEFB=y +++# CONFIG_SYSFB_SIMPLEFB is not set ++diff --git a/redhat/configs/fedora/generic/arm/CONFIG_FB_SIMPLE b/redhat/configs/fedora/generic/arm/CONFIG_FB_SIMPLE ++index 3ae9be22cdf9..0eb3d04225f1 100644 ++--- a/redhat/configs/fedora/generic/arm/CONFIG_FB_SIMPLE +++++ b/redhat/configs/fedora/generic/arm/CONFIG_FB_SIMPLE ++@@ -1 +1 @@ ++-# CONFIG_FB_SIMPLE is not set +++CONFIG_FB_SIMPLE=y ++diff --git a/redhat/configs/fedora/generic/arm/CONFIG_FB_SSD1307 b/redhat/configs/fedora/generic/arm/CONFIG_FB_SSD1307 ++index cddd16bb7398..efd995bdfe8a 100644 ++--- a/redhat/configs/fedora/generic/arm/CONFIG_FB_SSD1307 +++++ b/redhat/configs/fedora/generic/arm/CONFIG_FB_SSD1307 ++@@ -1 +1 @@ ++-# CONFIG_FB_SSD1307 is not set +++CONFIG_FB_SSD1307=m ++diff --git a/redhat/configs/fedora/generic/x86/CONFIG_FB_I810 b/redhat/configs/fedora/generic/x86/CONFIG_FB_I810 ++index 3a3f4d26de7b..9ef6eca18a0a 100644 ++--- a/redhat/configs/fedora/generic/x86/CONFIG_FB_I810 +++++ b/redhat/configs/fedora/generic/x86/CONFIG_FB_I810 ++@@ -1 +1 @@ ++-# CONFIG_FB_I810 is not set +++CONFIG_FB_I810=m ++diff --git a/redhat/configs/fedora/generic/x86/CONFIG_FB_VGA16 b/redhat/configs/fedora/generic/x86/CONFIG_FB_VGA16 ++index d933f13d7a84..4fa33dfdc6be 100644 ++--- a/redhat/configs/fedora/generic/x86/CONFIG_FB_VGA16 +++++ b/redhat/configs/fedora/generic/x86/CONFIG_FB_VGA16 ++@@ -1 +1 @@ ++-# CONFIG_FB_VGA16 is not set +++CONFIG_FB_VGA16=m ++-- ++2.35.1 ++ +diff --git a/Documentation/core-api/dma-attributes.rst b/Documentation/core-api/dma-attributes.rst +index 1887d92e8e92..17706dc91ec9 100644 +--- a/Documentation/core-api/dma-attributes.rst ++++ b/Documentation/core-api/dma-attributes.rst +@@ -130,3 +130,11 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged + subsystem that the buffer is fully accessible at the elevated privilege + level (and ideally inaccessible or at least read-only at the + lesser-privileged levels). ++ ++DMA_ATTR_OVERWRITE ++------------------ ++ ++This is a hint to the DMA-mapping subsystem that the device is expected to ++overwrite the entire mapped size, thus the caller does not require any of the ++previous buffer contents to be preserved. This allows bounce-buffering ++implementations to optimise DMA_FROM_DEVICE transfers. +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..733a26bd887a +--- /dev/null ++++ b/Kconfig.redhat +@@ -0,0 +1,17 @@ ++# SPDX-License-Identifier: GPL-2.0-only ++# ++# Red Hat specific options ++# ++ ++menu "Red Hat options" ++ ++config RH_DISABLE_DEPRECATED ++ 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. ++ ++endmenu +diff --git a/Makefile b/Makefile +index 34f9f5a9457a..799d71b74ea9 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \ + PHONY := __all + __all: + ++# Set RHEL variables ++# Use this spot to avoid future merge conflicts ++include Makefile.rhelver ++ + # We are using a recursive build, so we need to do a little thinking + # to get the ordering right. + # +@@ -1235,7 +1239,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 := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0) +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index 4c97cb40eebb..caf06cef3d2e 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -1479,9 +1479,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 c842878f8133..72949bfbe1af 100644 +--- a/arch/arm64/Kconfig ++++ b/arch/arm64/Kconfig +@@ -1109,7 +1109,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 +@@ -1348,6 +1348,7 @@ config XEN + config FORCE_MAX_ZONEORDER + int + default "14" if ARM64_64K_PAGES ++ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES) + default "12" if ARM64_16K_PAGES + default "11" + help +diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h +index 3f8ee257f9aa..3ab92feb6241 100644 +--- a/arch/s390/include/asm/ipl.h ++++ b/arch/s390/include/asm/ipl.h +@@ -128,6 +128,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 5ad1dde23dc5..b6192d58eed3 100644 +--- a/arch/s390/kernel/ipl.c ++++ b/arch/s390/kernel/ipl.c +@@ -2216,3 +2216,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 05327be3a982..c473e5ca67f1 100644 +--- a/arch/s390/kernel/setup.c ++++ b/arch/s390/kernel/setup.c +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -965,6 +966,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/setup.c b/arch/x86/kernel/setup.c +index 90d7e1788c91..262198c48162 100644 +--- a/arch/x86/kernel/setup.c ++++ b/arch/x86/kernel/setup.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -950,6 +951,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 ++ + dmi_setup(); + + /* +@@ -1119,19 +1127,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(); + +diff --git a/crypto/rng.c b/crypto/rng.c +index fea082b25fe4..50a9d040bed1 100644 +--- a/crypto/rng.c ++++ b/crypto/rng.c +@@ -11,14 +11,17 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include + #include ++#include ++#include + #include + #include + #include +-#include + #include + + #include "internal.h" +@@ -224,5 +227,73 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count) + } + EXPORT_SYMBOL_GPL(crypto_unregister_rngs); + ++static ssize_t crypto_devrandom_read(void __user *buf, size_t buflen) ++{ ++ u8 tmp[256]; ++ ssize_t ret; ++ ++ if (!buflen) ++ return 0; ++ ++ ret = crypto_get_default_rng(); ++ if (ret) ++ return ret; ++ ++ for (;;) { ++ int err; ++ int i; ++ ++ i = min_t(int, buflen, sizeof(tmp)); ++ err = crypto_rng_get_bytes(crypto_default_rng, tmp, i); ++ if (err) { ++ ret = err; ++ break; ++ } ++ ++ if (copy_to_user(buf, tmp, i)) { ++ ret = -EFAULT; ++ break; ++ } ++ ++ buflen -= i; ++ buf += i; ++ ret += i; ++ ++ if (!buflen) ++ break; ++ ++ if (need_resched()) { ++ if (signal_pending(current)) ++ break; ++ schedule(); ++ } ++ } ++ ++ crypto_put_default_rng(); ++ memzero_explicit(tmp, sizeof(tmp)); ++ ++ return ret; ++} ++ ++static const struct random_extrng crypto_devrandom_rng = { ++ .extrng_read = crypto_devrandom_read, ++ .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 0edc1ed47673..782e2f399af2 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 c68e694fca26..146cba5ae5bc 100644 +--- a/drivers/acpi/irq.c ++++ b/drivers/acpi/irq.c +@@ -130,6 +130,7 @@ struct acpi_irq_parse_one_ctx { + unsigned int index; + unsigned long *res_flags; + struct irq_fwspec *fwspec; ++ bool skip_producer_check; + }; + + /** +@@ -201,7 +202,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; +@@ -236,8 +238,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_bus_get_acpi_device(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 8b2e5ef15559..ac0291ef0838 100644 +--- a/drivers/acpi/scan.c ++++ b/drivers/acpi/scan.c +@@ -1769,6 +1769,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 0ed484e04fd6..a2e486bd14ef 100644 +--- a/drivers/ata/libahci.c ++++ b/drivers/ata/libahci.c +@@ -690,6 +690,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 c59265146e9c..caa8458edde2 100644 +--- a/drivers/char/ipmi/ipmi_msghandler.c ++++ b/drivers/char/ipmi/ipmi_msghandler.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + #include + + #define IPMI_DRIVER_VERSION "39.2" +@@ -5422,8 +5423,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 3404a91edf29..184dbb94710c 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -344,6 +344,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -358,6 +359,11 @@ + + /* #define ADD_INTERRUPT_BENCH */ + ++/* ++ * Hook for external RNG. ++ */ ++static const struct random_extrng __rcu *extrng; ++ + /* + * If the entropy count falls under this number of bits, then we + * should wake up processes which are selecting or polling on write +@@ -486,6 +492,9 @@ static int ratelimit_disable __read_mostly; + module_param_named(ratelimit_disable, ratelimit_disable, int, 0644); + MODULE_PARM_DESC(ratelimit_disable, "Disable random ratelimit suppression"); + ++static const struct file_operations extrng_random_fops; ++static const struct file_operations extrng_urandom_fops; ++ + /********************************************************************** + * + * OS independent entropy store. Here are the functions which handle +@@ -1775,6 +1784,13 @@ static __poll_t random_poll(struct file *file, poll_table *wait) + return mask; + } + ++static __poll_t ++extrng_poll(struct file *file, poll_table * wait) ++{ ++ /* extrng pool is always full, always read, no writes */ ++ return EPOLLIN | EPOLLRDNORM; ++} ++ + static int write_pool(const char __user *buffer, size_t count) + { + size_t bytes; +@@ -1879,7 +1895,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(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) ++{ ++ return rcu_dereference_raw(extrng)->extrng_read(buf, nbytes); ++} ++ + const struct file_operations random_fops = { ++ .open = random_open, + .read = random_read, + .write = random_write, + .poll = random_poll, +@@ -1890,6 +1957,7 @@ const struct file_operations random_fops = { + }; + + const struct file_operations urandom_fops = { ++ .open = urandom_open, + .read = urandom_read, + .write = random_write, + .unlocked_ioctl = random_ioctl, +@@ -1898,9 +1966,31 @@ const struct file_operations urandom_fops = { + .llseek = noop_llseek, + }; + ++static const struct file_operations extrng_random_fops = { ++ .open = random_open, ++ .read = extrng_read, ++ .write = random_write, ++ .poll = extrng_poll, ++ .unlocked_ioctl = random_ioctl, ++ .fasync = random_fasync, ++ .llseek = noop_llseek, ++ .release = extrng_release, ++}; ++ ++static const struct file_operations extrng_urandom_fops = { ++ .open = urandom_open, ++ .read = extrng_read, ++ .write = random_write, ++ .unlocked_ioctl = random_ioctl, ++ .fasync = random_fasync, ++ .llseek = noop_llseek, ++ .release = extrng_release, ++}; ++ + SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, unsigned int, + flags) + { ++ const struct random_extrng *rng; + int ret; + + if (flags & ~(GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE)) +@@ -1916,6 +2006,18 @@ SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, unsigned int, + if (count > INT_MAX) + count = INT_MAX; + ++ rcu_read_lock(); ++ rng = rcu_dereference(extrng); ++ if (rng && !try_module_get(rng->owner)) ++ rng = NULL; ++ rcu_read_unlock(); ++ ++ if (rng) { ++ ret = rng->extrng_read(buf, count); ++ module_put(rng->owner); ++ return ret; ++ } ++ + if (!(flags & GRND_INSECURE) && !crng_ready()) { + if (flags & GRND_NONBLOCK) + return -EAGAIN; +@@ -2235,3 +2337,16 @@ void add_bootloader_randomness(const void *buf, unsigned int size) + add_device_randomness(buf, size); + } + EXPORT_SYMBOL_GPL(add_bootloader_randomness); ++ ++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); +diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile +index c02ff25dd477..d860f8eb9a81 100644 +--- a/drivers/firmware/efi/Makefile ++++ b/drivers/firmware/efi/Makefile +@@ -28,6 +28,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o + 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 5502e176d51b..93b61ca552d6 100644 +--- a/drivers/firmware/efi/efi.c ++++ b/drivers/firmware/efi/efi.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + + #include + +@@ -851,40 +852,101 @@ int efi_mem_type(unsigned long phys_addr) + } + #endif + ++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; + } + + static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); +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 ++#include ++#include ++ ++/* ++ * 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/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c +index 00279e8c2775..545424e4a066 100644 +--- a/drivers/gpu/drm/i915/display/intel_psr.c ++++ b/drivers/gpu/drm/i915/display/intel_psr.c +@@ -744,6 +744,15 @@ static bool intel_psr2_sel_fetch_config_valid(struct intel_dp *intel_dp, + return false; + } + ++ /* Temporary workaround for Lenovo's issues with the X1 Carbon 10th Gen ++ * See: https://bugzilla.redhat.com/show_bug.cgi?id=2065794 ++ */ ++ if (IS_ALDERLAKE_P(dev_priv)) { ++ drm_dbg_kms(&dev_priv->drm, ++ "PSR2 sel fetch disabled on ADL-P, see rhbz2065794\n"); ++ return false; ++ } ++ + return crtc_state->enable_psr2_sel_fetch = true; + } + +diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c +index 311eee599ce9..2460c6bd46f8 100644 +--- a/drivers/hid/hid-rmi.c ++++ b/drivers/hid/hid-rmi.c +@@ -322,19 +322,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; + +- 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; + } + +@@ -591,56 +584,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; +@@ -713,18 +656,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 bf18128cf5de..e973c7816de8 100644 +--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c ++++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -2165,6 +2166,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 = { +@@ -2198,6 +2209,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 */ +@@ -2224,6 +2240,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 258d5fe3d395..f7298e3dc8f3 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: +@@ -981,6 +997,8 @@ static int rmi_driver_remove(struct device *dev) + irq_domain_remove(data->irqdomain); + data->irqdomain = NULL; + ++ 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 107dcf5938d6..225a9797e39d 100644 +--- a/drivers/iommu/iommu.c ++++ b/drivers/iommu/iommu.c +@@ -7,6 +7,7 @@ + #define pr_fmt(fmt) "iommu: " fmt + + #include ++#include + #include + #include + #include +@@ -3124,6 +3125,27 @@ u32 iommu_sva_get_pasid(struct iommu_sva *handle) + } + EXPORT_SYMBOL_GPL(iommu_sva_get_pasid); + ++#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 ++ + /* + * Changes the default domain of an iommu group that has *only* one device + * +diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +index 2da804f84b48..bd5998012a87 100644 +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -76,7 +76,7 @@ static inline void bcmgenet_writel(u32 value, void __iomem *offset) + if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) + __raw_writel(value, offset); + else +- writel_relaxed(value, offset); ++ writel(value, offset); + } + + static inline u32 bcmgenet_readl(void __iomem *offset) +@@ -84,7 +84,7 @@ static inline u32 bcmgenet_readl(void __iomem *offset) + if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) + return __raw_readl(offset); + else +- return readl_relaxed(offset); ++ return readl(offset); + } + + static inline void dmadesc_set_length_status(struct bcmgenet_priv *priv, +diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c +index fd4720d37cc0..c31bc05ec139 100644 +--- a/drivers/nvme/host/core.c ++++ b/drivers/nvme/host/core.c +@@ -244,6 +244,9 @@ static 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; +@@ -303,6 +306,7 @@ enum nvme_disposition { + COMPLETE, + RETRY, + FAILOVER, ++ FAILUP, + }; + + static inline enum nvme_disposition nvme_decide_disposition(struct request *req) +@@ -310,15 +314,16 @@ static inline enum nvme_disposition nvme_decide_disposition(struct request *req) + if (likely(nvme_req(req)->status == 0)) + return COMPLETE; + +- 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; +@@ -344,6 +349,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) + { + trace_nvme_complete_rq(req); +@@ -362,6 +375,9 @@ void nvme_complete_rq(struct request *req) + case FAILOVER: + nvme_failover_req(req); + return; ++ case FAILUP: ++ nvme_failup_req(req); ++ return; + } + } + EXPORT_SYMBOL_GPL(nvme_complete_rq); +diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c +index ff775235534c..94de4ecefe56 100644 +--- a/drivers/nvme/host/multipath.c ++++ b/drivers/nvme/host/multipath.c +@@ -101,14 +101,10 @@ bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags) + return true; + } + +-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 +@@ -119,6 +115,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) { +@@ -869,8 +875,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 a162f6c6da6e..0606205d5dcc 100644 +--- a/drivers/nvme/host/nvme.h ++++ b/drivers/nvme/host/nvme.h +@@ -770,6 +770,7 @@ void nvme_mpath_start_freeze(struct nvme_subsystem *subsys); + void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys); + bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags); + 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, struct nvme_id_ns *id); +@@ -808,6 +809,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, + 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/msi/msi.c b/drivers/pci/msi/msi.c +index 9037a7827eca..e5900638483b 100644 +--- a/drivers/pci/msi/msi.c ++++ b/drivers/pci/msi/msi.c +@@ -635,6 +635,9 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries, + goto out_disable; + } + ++ /* Ensure that all table entries are masked. */ ++ msix_mask_all(base, tsize); ++ + dev->msix_base = base; + + ret = msix_setup_interrupts(dev, base, entries, nvec, affd); +@@ -644,15 +647,6 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries, + /* Disable INTX */ + pci_intx_for_msi(dev, 0); + +- /* +- * Ensure that all table entries are masked to prevent +- * stale entries from firing in a crash kernel. +- * +- * Done late to deal with a broken Marvell NVME device +- * which takes the MSI-X mask bits into account even +- * when MSI-X is disabled, which prevents MSI delivery. +- */ +- msix_mask_all(base, tsize); + pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0); + + pcibios_free_irq(dev); +diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c +index 65f7f6b0576c..27398de38c0c 100644 +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -4272,6 +4272,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/usb/core/hub.c b/drivers/usb/core/hub.c +index 47a1c8bddf86..e309d992e2ad 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -5683,6 +5683,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/nfs/client.c b/fs/nfs/client.c +index d1f34229e11a..e828504cc396 100644 +--- a/fs/nfs/client.c ++++ b/fs/nfs/client.c +@@ -857,7 +857,8 @@ static int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, str + } + + if (clp->rpc_ops->discover_trunking != NULL && +- (server->caps & NFS_CAP_FS_LOCATIONS)) { ++ (server->caps & NFS_CAP_FS_LOCATIONS && ++ (server->flags & NFS_MOUNT_TRUNK_DISCOVERY))) { + error = clp->rpc_ops->discover_trunking(server, mntfh); + if (error < 0) + return error; +diff --git a/fs/nfs/fs_context.c b/fs/nfs/fs_context.c +index ea17fa1f31ec..e2d59bb5e6bb 100644 +--- a/fs/nfs/fs_context.c ++++ b/fs/nfs/fs_context.c +@@ -80,6 +80,7 @@ enum nfs_param { + Opt_source, + Opt_tcp, + Opt_timeo, ++ Opt_trunkdiscovery, + Opt_udp, + Opt_v, + Opt_vers, +@@ -180,6 +181,7 @@ static const struct fs_parameter_spec nfs_fs_parameters[] = { + fsparam_string("source", Opt_source), + fsparam_flag ("tcp", Opt_tcp), + fsparam_u32 ("timeo", Opt_timeo), ++ fsparam_flag_no("trunkdiscovery", Opt_trunkdiscovery), + fsparam_flag ("udp", Opt_udp), + fsparam_flag ("v2", Opt_v), + fsparam_flag ("v3", Opt_v), +@@ -529,6 +531,12 @@ static int nfs_fs_context_parse_param(struct fs_context *fc, + else + ctx->flags &= ~NFS_MOUNT_NOCTO; + break; ++ case Opt_trunkdiscovery: ++ if (result.negated) ++ ctx->flags &= ~NFS_MOUNT_TRUNK_DISCOVERY; ++ else ++ ctx->flags |= NFS_MOUNT_TRUNK_DISCOVERY; ++ break; + case Opt_ac: + if (result.negated) + ctx->flags |= NFS_MOUNT_NOAC; +diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h +index dca2b1355bb1..6150d11a607e 100644 +--- a/include/linux/dma-mapping.h ++++ b/include/linux/dma-mapping.h +@@ -61,6 +61,14 @@ + */ + #define DMA_ATTR_PRIVILEGED (1UL << 9) + ++/* ++ * This is a hint to the DMA-mapping subsystem that the device is expected ++ * to overwrite the entire mapped size, thus the caller does not require any ++ * of the previous buffer contents to be preserved. This allows ++ * bounce-buffering implementations to optimise DMA_FROM_DEVICE transfers. ++ */ ++#define DMA_ATTR_OVERWRITE (1UL << 10) ++ + /* + * A dma_addr_t can hold any valid DMA or bus address for the platform. It can + * be given to a device to use as a DMA source or target. It is specific to a +diff --git a/include/linux/efi.h b/include/linux/efi.h +index ccd4d3f91c98..e64643e3e364 100644 +--- a/include/linux/efi.h ++++ b/include/linux/efi.h +@@ -43,6 +43,8 @@ + #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 */ +@@ -829,6 +831,14 @@ extern int __init efi_setup_pcdp_console(char *); + #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 + /* +@@ -840,6 +850,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) +@@ -860,6 +872,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; +@@ -872,6 +886,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) + #endif + + extern int efi_status_to_err(efi_status_t status); ++extern const char *efi_status_to_str(efi_status_t status); + + /* + * Variable Attributes +@@ -1124,13 +1139,6 @@ static inline bool efi_runtime_disabled(void) { return true; } + extern void efi_call_virt_check_flags(unsigned long flags, const char *call); + 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/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h +index 819ec92dc2a8..b49986bfbeca 100644 +--- a/include/linux/lsm_hook_defs.h ++++ b/include/linux/lsm_hook_defs.h +@@ -392,6 +392,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/lsm_hooks.h b/include/linux/lsm_hooks.h +index 3bf5c658bc44..4701bc5ce2f5 100644 +--- a/include/linux/lsm_hooks.h ++++ b/include/linux/lsm_hooks.h +@@ -1544,6 +1544,12 @@ + * + * @what: kernel feature being accessed + * ++ * @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) ++ * + * Security hooks for perf events + * + * @perf_event_open: +diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h +index aed44e9b5d89..c7a0d500b396 100644 +--- a/include/linux/mmzone.h ++++ b/include/linux/mmzone.h +@@ -1389,13 +1389,16 @@ static inline unsigned long *section_to_usemap(struct mem_section *ms) + + static inline struct mem_section *__nr_to_section(unsigned long nr) + { ++ unsigned long root = SECTION_NR_TO_ROOT(nr); ++ ++ if (unlikely(root >= NR_SECTION_ROOTS)) ++ return NULL; ++ + #ifdef CONFIG_SPARSEMEM_EXTREME +- if (!mem_section) ++ if (!mem_section || !mem_section[root]) + return NULL; + #endif +- if (!mem_section[SECTION_NR_TO_ROOT(nr)]) +- return NULL; +- return &mem_section[SECTION_NR_TO_ROOT(nr)][nr & SECTION_ROOT_MASK]; ++ return &mem_section[root][nr & SECTION_ROOT_MASK]; + } + extern size_t mem_section_usage_size(void); + +diff --git a/include/linux/module.h b/include/linux/module.h +index 1e135fd5c076..6ec4d001c1e2 100644 +--- a/include/linux/module.h ++++ b/include/linux/module.h +@@ -381,6 +381,7 @@ struct module { + struct module_attribute *modinfo_attrs; + const char *version; + const char *srcversion; ++ const char *rhelversion; + struct kobject *holders_dir; + + /* Exported symbols */ +diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h +index ca0959e51e81..b0e3fd550122 100644 +--- a/include/linux/nfs_fs_sb.h ++++ b/include/linux/nfs_fs_sb.h +@@ -151,6 +151,7 @@ struct nfs_server { + #define NFS_MOUNT_SOFTREVAL 0x800000 + #define NFS_MOUNT_WRITE_EAGER 0x01000000 + #define NFS_MOUNT_WRITE_WAIT 0x02000000 ++#define NFS_MOUNT_TRUNK_DISCOVERY 0x04000000 + + unsigned int fattr_valid; /* Valid attributes */ + unsigned int caps; /* server capabilities */ +diff --git a/include/linux/random.h b/include/linux/random.h +index c45b2693e51f..4edfdb3e44a9 100644 +--- a/include/linux/random.h ++++ b/include/linux/random.h +@@ -14,6 +14,11 @@ + + #include + ++struct random_extrng { ++ ssize_t (*extrng_read)(void __user *buf, size_t buflen); ++ struct module *owner; ++}; ++ + struct random_ready_callback { + struct list_head list; + void (*func)(struct random_ready_callback *rdy); +@@ -44,6 +49,8 @@ extern bool rng_is_initialized(void); + extern int add_random_ready_callback(struct random_ready_callback *rdy); + extern void del_random_ready_callback(struct random_ready_callback *rdy); + extern int __must_check get_random_bytes_arch(void *buf, int nbytes); ++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; +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 6d72772182c8..fe3b072665fb 100644 +--- a/include/linux/security.h ++++ b/include/linux/security.h +@@ -471,6 +471,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); + #else /* CONFIG_SECURITY */ + + static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) +@@ -1347,6 +1348,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; ++} + #endif /* CONFIG_SECURITY */ + + #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) +diff --git a/init/Kconfig b/init/Kconfig +index e9119bf54b1f..e3b57b4898fe 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -1645,7 +1645,7 @@ config AIO + this option saves about 7k. + + config IO_URING +- bool "Enable IO uring support" if EXPERT ++ bool "Enable IO uring support" + select IO_WQ + default y + help +diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c +index 6db1c475ec82..bfc56cb21705 100644 +--- a/kernel/dma/swiotlb.c ++++ b/kernel/dma/swiotlb.c +@@ -627,14 +627,10 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr, + for (i = 0; i < nr_slots(alloc_size + offset); i++) + mem->slots[index + i].orig_addr = slot_addr(orig_addr, i); + tlb_addr = slot_addr(mem->start, index) + offset; +- /* +- * When dir == DMA_FROM_DEVICE we could omit the copy from the orig +- * to the tlb buffer, if we knew for sure the device will +- * overwirte the entire current content. But we don't. Thus +- * unconditional bounce may prevent leaking swiotlb content (i.e. +- * kernel memory) to user-space. +- */ +- swiotlb_bounce(dev, tlb_addr, mapping_size, DMA_TO_DEVICE); ++ if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC) && ++ (!(attrs & DMA_ATTR_OVERWRITE) || dir == DMA_TO_DEVICE || ++ dir == DMA_BIDIRECTIONAL)) ++ swiotlb_bounce(dev, tlb_addr, mapping_size, DMA_TO_DEVICE); + return tlb_addr; + } + +@@ -701,13 +697,10 @@ void swiotlb_tbl_unmap_single(struct device *dev, phys_addr_t tlb_addr, + void swiotlb_sync_single_for_device(struct device *dev, phys_addr_t tlb_addr, + size_t size, enum dma_data_direction dir) + { +- /* +- * Unconditional bounce is necessary to avoid corruption on +- * sync_*_for_cpu or dma_ummap_* when the device didn't overwrite +- * the whole lengt of the bounce buffer. +- */ +- swiotlb_bounce(dev, tlb_addr, size, DMA_TO_DEVICE); +- BUG_ON(!valid_dma_direction(dir)); ++ if (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL) ++ swiotlb_bounce(dev, tlb_addr, size, DMA_TO_DEVICE); ++ else ++ BUG_ON(dir != DMA_FROM_DEVICE); + } + + void swiotlb_sync_single_for_cpu(struct device *dev, phys_addr_t tlb_addr, +diff --git a/kernel/module.c b/kernel/module.c +index 46a5c2ed1928..92c2306651ce 100644 +--- a/kernel/module.c ++++ b/kernel/module.c +@@ -743,6 +743,7 @@ static struct module_attribute modinfo_##field = { \ + + MODINFO_ATTR(version); + MODINFO_ATTR(srcversion); ++MODINFO_ATTR(rhelversion); + + static char last_unloaded_module[MODULE_NAME_LEN+1]; + +@@ -1205,6 +1206,7 @@ static struct module_attribute *modinfo_attrs[] = { + &module_uevent, + &modinfo_version, + &modinfo_srcversion, ++ &modinfo_rhelversion, + &modinfo_initstate, + &modinfo_coresize, + &modinfo_initsize, +diff --git a/kernel/module_signing.c b/kernel/module_signing.c +index 8723ae70ea1f..fb2d773498c2 100644 +--- a/kernel/module_signing.c ++++ b/kernel/module_signing.c +@@ -38,8 +38,15 @@ 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; + } +diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c +index 2882bc7d79d7..bc3a11ec0c27 100644 +--- a/net/bluetooth/hci_core.c ++++ b/net/bluetooth/hci_core.c +@@ -3667,8 +3667,8 @@ static void hci_scodata_packet(struct hci_dev *hdev, struct sk_buff *skb) + sco_recv_scodata(conn, skb); + return; + } else { +- bt_dev_err(hdev, "SCO packet for unknown connection handle %d", +- handle); ++ bt_dev_err_ratelimited(hdev, "SCO packet for unknown connection handle %d", ++ handle); + } + + kfree_skb(skb); +diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c +index fc30f4c03d29..2bca8cb1c68f 100644 +--- a/net/bluetooth/hci_event.c ++++ b/net/bluetooth/hci_event.c +@@ -6798,7 +6798,7 @@ static const struct hci_ev { + HCI_EV(HCI_EV_NUM_COMP_BLOCKS, hci_num_comp_blocks_evt, + sizeof(struct hci_ev_num_comp_blocks)), + /* [0xff = HCI_EV_VENDOR] */ +- HCI_EV(HCI_EV_VENDOR, msft_vendor_evt, 0), ++ HCI_EV_VL(HCI_EV_VENDOR, msft_vendor_evt, 0, HCI_MAX_EVENT_SIZE), + }; + + static void hci_event_func(struct hci_dev *hdev, u8 event, struct sk_buff *skb, +@@ -6823,8 +6823,9 @@ static void hci_event_func(struct hci_dev *hdev, u8 event, struct sk_buff *skb, + * decide if that is acceptable. + */ + if (skb->len > ev->max_len) +- bt_dev_warn(hdev, "unexpected event 0x%2.2x length: %u > %u", +- event, skb->len, ev->max_len); ++ bt_dev_warn_ratelimited(hdev, ++ "unexpected event 0x%2.2x length: %u > %u", ++ event, skb->len, ev->max_len); + + data = hci_ev_skb_pull(hdev, skb, event, ev->min_len); + if (!data) +diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c +index 6bfa33217914..92d936f34b27 100644 +--- a/scripts/mod/modpost.c ++++ b/scripts/mod/modpost.c +@@ -21,6 +21,7 @@ + #include + #include "modpost.h" + #include "../../include/linux/license.h" ++#include "../../include/generated/uapi/linux/version.h" + + /* Are we using CONFIG_MODVERSIONS? */ + static int modversions = 0; +@@ -2366,6 +2367,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; +@@ -2595,6 +2602,7 @@ int main(int argc, char **argv) + add_depends(&buf, mod); + add_moddevtable(&buf, mod); + add_srcversion(&buf, mod); ++ add_rhelversion(&buf, mod); + + sprintf(fname, "%s.mod.c", mod->name); + write_if_changed(&buf, fname); +diff --git a/scripts/tags.sh b/scripts/tags.sh +index 16d475b3e203..4e333f14b84e 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" + + # Use make KBUILD_ABS_SRCTREE=1 {tags|cscope} + # to force full paths for a non-O= build +diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c +index 08b6d12f99b4..61b596236d53 100644 +--- a/security/integrity/platform_certs/load_uefi.c ++++ b/security/integrity/platform_certs/load_uefi.c +@@ -47,7 +47,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; + } + +@@ -58,7 +59,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 87cbdc64d272..18555cf18da7 100644 +--- a/security/lockdown/lockdown.c ++++ b/security/lockdown/lockdown.c +@@ -73,6 +73,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what) + + static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = { + LSM_HOOK_INIT(locked_down, lockdown_is_locked_down), ++ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down), + }; + + static int __init lockdown_lsm_init(void) +diff --git a/security/security.c b/security/security.c +index 22261d79f333..20336365f864 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -2603,6 +2603,12 @@ int security_locked_down(enum lockdown_reason what) + } + EXPORT_SYMBOL(security_locked_down); + ++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 + int security_perf_event_open(struct perf_event_attr *attr, int type) + { diff --git a/process_configs.sh b/process_configs.sh index 8c997a5fa..91e6d1226 100755 --- a/process_configs.sh +++ b/process_configs.sh @@ -60,6 +60,9 @@ switch_to_toplevel() checkoptions() { + count=$3 + variant=$4 + /usr/bin/awk ' /is not set/ { @@ -82,14 +85,14 @@ checkoptions() print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; } } - ' "$1" "$2" > .mismatches + ' "$1" "$2" > .mismatches"${count}" checkoptions_error=false - if test -s .mismatches + if test -s .mismatches"${count}" then while read -r LINE do - if find ./ -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then + if find "${REDHAT}"/configs -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then # This is a known broken config. # See script help warning. checkoptions_error=false @@ -97,14 +100,13 @@ checkoptions() checkoptions_error=true break fi - done < .mismatches + done < .mismatches"${count}" ! $checkoptions_error && return - echo "Error: Mismatches found in configuration files" - cat .mismatches - RETURNCODE=1 - [ "$CONTINUEONERROR" ] || exit 1 + sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches"${count}" + else + rm -f .mismatches"${count}" fi } @@ -203,11 +205,13 @@ function commit_new_configs() fi echo -n "Checking for new configs in $cfg ... " - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig grep -E 'CONFIG_' .listnewconfig > .newoptions if test -s .newoptions then - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig parsenewconfigs fi rm .newoptions @@ -218,75 +222,121 @@ function commit_new_configs() git commit -m "[redhat] AUTOMATIC: New configs" } +function process_config() +{ + local cfg + local arch + local cfgtmp + local cfgorig + local count + local variant + + cfg=$1 + count=$2 + + arch=$(head -1 "$cfg" | cut -b 3-) + + if [ "$arch" = "EMPTY" ] + then + # This arch is intentionally left blank + return + fi + + variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1) + + cfgtmp="${cfg}.tmp" + cfgorig="${cfg}.orig" + cat "$cfg" > "$cfgorig" + + echo "Processing $cfg ... " + + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig"${count}" + grep -E 'CONFIG_' .listnewconfig"${count}" > .newoptions"${count}" + if test -n "$NEWOPTIONS" && test -s .newoptions"${count}" + then + echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}" + cat .newoptions"${count}" >> .errors"${count}" + rm .newoptions"${count}" + RETURNCODE=1 + fi + rm .newoptions"${count}" + + grep -E 'config.*warning' .listnewconfig"${count}" > .warnings"${count}" + if test -n "$CHECKWARNINGS" && test -s .warnings"${count}" + then + echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}" + cat .warnings"${count}" >> .errors"${count}" + rm .warnings"${count}" + fi + rm .warnings"${count}" + + rm .listnewconfig"${count}" + + # shellcheck disable=SC2086 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 + echo "# $arch" > "$cfgtmp" + cat "$cfgorig" >> "$cfgtmp" + if test -n "$CHECKOPTIONS" + then + checkoptions "$cfg" "$cfgtmp" "$count" "$variant" + fi + # if test run, don't overwrite original + if test -n "$TESTRUN" + then + rm -f "$cfgtmp" + else + mv "$cfgtmp" "$cfg" + fi + rm -f "$cfgorig" + echo "Processing $cfg complete" +} + function process_configs() { # assume we are in $source_tree/configs, need to get to top level pushd "$(switch_to_toplevel)" &>/dev/null + # The next line is throwaway code for transition to parallel + # processing. Leaving this line in place is harmless, but it can be + # removed the next time anyone updates this function. + [ -f .mismatches ] && rm -f .mismatches + + count=0 for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config do - arch=$(head -1 "$cfg" | cut -b 3-) - cfgtmp="${cfg}.tmp" - cfgorig="${cfg}.orig" - cat "$cfg" > "$cfgorig" - - if [ "$arch" = "EMPTY" ] - then - # This arch is intentionally left blank - continue + if [ "$count" -eq 0 ]; then + # do the first one by itself so that tools are built + process_config "$cfg" "$count" fi - echo -n "Processing $cfg ... " - - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig - grep -E 'CONFIG_' .listnewconfig > .newoptions - if test -n "$NEWOPTIONS" && test -s .newoptions - then - echo "Found unset config items, please set them to an appropriate value" - cat .newoptions - rm .newoptions - RETURNCODE=1 - [ "$CONTINUEONERROR" ] || exit 1 - fi - rm .newoptions + process_config "$cfg" "$count" & + waitpids[${count}]=$! + ((count++)) + while [ "$(jobs | grep -c Running)" -ge "$RHJOBS" ]; do :; done + done + for pid in ${waitpids[*]}; do + wait ${pid} + done - grep -E 'config.*warning' .listnewconfig > .warnings - if test -n "$CHECKWARNINGS" && test -s .warnings - then - echo "Found misconfigured config items, please set them to an appropriate value" - cat .warnings - rm .warnings - RETURNCODE=1 - [ "$CONTINUEONERROR" ] || exit 1 - fi - rm .warnings + rm "$SCRIPT_DIR"/*.config*.old - rm .listnewconfig + if ls .errors* 1> /dev/null 2>&1; then + RETURNCODE=1 + cat .errors* + rm .errors* -f + fi + if ls .mismatches* 1> /dev/null 2>&1; then + RETURNCODE=1 + cat .mismatches* + rm .mismatches* -f + fi - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 - echo "# $arch" > "$cfgtmp" - cat "$cfgorig" >> "$cfgtmp" - if test -n "$CHECKOPTIONS" - then - checkoptions "$cfg" "$cfgtmp" - fi - # if test run, don't overwrite original - if test -n "$TESTRUN" - then - rm -f "$cfgtmp" - else - mv "$cfgtmp" "$cfg" - fi - rm -f "$cfgorig" - echo "done" - done - rm "$SCRIPT_DIR"/*.config*.old popd > /dev/null - echo "Processed config files are in $SCRIPT_DIR" + [ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR" } CHECKOPTIONS="" -CONTINUEONERROR="" NEWOPTIONS="" TESTRUN="" CHECKWARNINGS="" @@ -301,7 +351,6 @@ do case $key in -a) CHECKOPTIONS="x" - CONTINUEONERROR="x" NEWOPTIONS="x" CHECKWARNINGS="x" ;; @@ -311,9 +360,6 @@ do -h) usage ;; - -i) - CONTINUEONERROR="x" - ;; -n) NEWOPTIONS="x" ;; @@ -328,7 +374,7 @@ do ;; -m) shift - if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then + if [ "$1" = "CC=clang" ] || [ "$1" = "LLVM=1" ]; then CC_IS_CLANG=1 fi MAKEOPTS="$MAKEOPTS $1" @@ -342,15 +388,16 @@ done PACKAGE_NAME="${1:-kernel}" # defines the package name used KVERREL="$(test -n "$2" && echo "-$2" || echo "")" SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" -FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")" +FLAVOR="$(test -n "$4" && echo "-$4" || echo "-ark")" +# shellcheck disable=SC2015 +RHJOBS="$(test -n "$5" && echo "$5" || nproc --all)" SCRIPT=$(readlink -f "$0") SCRIPT_DIR=$(dirname "$SCRIPT") -# Most RHEL options are options we want in Fedora so RHEL pending settings head -# to common/ +# Config options for RHEL should target the pending-ark directory, not pending-common. if [ "$FLAVOR" = "-rhel" ] then - FLAVOR="-common" + FLAVOR="-ark" fi # to handle this script being a symlink diff --git a/rpminspect.yaml b/rpminspect.yaml index f62742aa5..4c059887f 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -1,6 +1,14 @@ # additional rpminspect configuration for this branch --- +inspections: + upstream: off + +badfuncs: + ignore: + - /usr/libexec/ksamples/* + - /usr/libexec/kselftests/* + emptyrpm: expected_empty: - kernel diff --git a/sources b/sources index d42f8959b..8c4eb2e0c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (kernel-abi-whitelists-5.13.3-300.tar.bz2) = 6bf4f456ba178ec95b63b3818d3575773ede221e74fde97bb20eb32409a64c58d4f9a6acce9b8b58a5477d27cb708c53abe03dada02a3bdf1cfd596ccd129294 -SHA512 (linux-5.16.4.tar.xz) = 4342523d2de004b276ed9a9b2f6004a0ed5875cd523c6cdd3ea9c7b0794c1afd57d1a9c3ad08668a9477caf7972a6bad3d6b07f8ee4ee84335c620b8759c1494 -SHA512 (kernel-abi-stablelists-5.16.4-200.tar.bz2) = f97468052e698997797650dc88744789ea64691af9d86b13f76944f807da5add083174894aa27d99486f4be3208f30beb0d5c9a68472d013eb52d804ab8a6fbe -SHA512 (kernel-kabi-dw-5.16.4-200.tar.bz2) = e65ba99a3657ad5976ca81a73f9e7c04a9145de36a693a0aa277a06a8ca0d41315a87f380ca5eeff15b2f3aaf17e969d06b9bda78f5287299d1c3559081fd869 +SHA512 (linux-5.17.1.tar.xz) = 9b20ab347f3aac5d6330a1fa2058d56e77c0d6f163c9add173569c87135bc7e006e26e40d987da568e5744581d83e4f000446b2a0a4f63844c718941565f6aab +SHA512 (kernel-abi-stablelists-5.17.1-200.tar.bz2) = 4d5f52de7d91689baed47b8f40e506af467b76c1f6b56bbfb1e61e53ff9acde8235b29996d7dfad2ef8bd8d821821007e9e1f2286710fff06043a37b60ea312c +SHA512 (kernel-kabi-dw-5.17.1-200.tar.bz2) = 20b26ad7ff0e16f2406dc6ac35483591a83efe350659075e247caabb69bd7b0ac6ff0a4be6525958e8275d93b5b8c5dbcf52723f36cea69347fa2130647b3c77 diff --git a/x509.genkey.centos b/x509.genkey.centos new file mode 100644 index 000000000..c91af3b46 --- /dev/null +++ b/x509.genkey.centos @@ -0,0 +1,16 @@ +[ req ] +default_bits = 3072 +distinguished_name = req_distinguished_name +prompt = no +x509_extensions = myexts + +[ req_distinguished_name ] +O = The CentOS Project +CN = CentOS Stream kernel signing key +emailAddress = security@centos.org + +[ myexts ] +basicConstraints=critical,CA:FALSE +keyUsage=digitalSignature +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid -- cgit