From de6db6a5c06e426e10407edacaf56012c056f6a0 Mon Sep 17 00:00:00 2001 From: Pablo Greco Date: Tue, 21 Jun 2022 14:57:32 +0000 Subject: [PATCH] Update to 5.15.48 --- .kernel.metadata | 2 +- SOURCES/fedora-v5.15.patch | 561 +++++++------------------------------ SPECS/kernel.spec | 5 +- 3 files changed, 110 insertions(+), 458 deletions(-) diff --git a/.kernel.metadata b/.kernel.metadata index 3a2bbef..88c7f38 100644 --- a/.kernel.metadata +++ b/.kernel.metadata @@ -1,2 +1,2 @@ ac61f2459040c09af1d5abd4ed100c3d316b443e SOURCES/linux-5.15.tar.xz -5796bfa1cf397d714d7b07af60de1bc6cb3b74ea SOURCES/patch-5.15.41.xz +a9168c9841b6e1a3d3a0d236b5d719f4852acd42 SOURCES/patch-5.15.48.xz diff --git a/SOURCES/fedora-v5.15.patch b/SOURCES/fedora-v5.15.patch index a34e4fd..84ef1b2 100644 --- a/SOURCES/fedora-v5.15.patch +++ b/SOURCES/fedora-v5.15.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Al Stone Date: Tue, 27 Feb 2018 00:21:23 -0500 -Subject: [PATCH 01/35] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI +Subject: [PATCH 01/33] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support Message-id: <20180227002123.21608-1-ahs3@redhat.com> @@ -49,7 +49,7 @@ Signed-off-by: Herton R. Krzesinski 1 file changed, 8 insertions(+) diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c -index 277f00b288d1..adbce15c273d 100644 +index 317bba602ad5..61aeb949b272 100644 --- a/drivers/acpi/apei/hest.c +++ b/drivers/acpi/apei/hest.c @@ -94,6 +94,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data) @@ -68,13 +68,13 @@ index 277f00b288d1..adbce15c273d 100644 for (i = 0; i < hest_tab->error_source_count; i++) { len = hest_esrc_len(hest_hdr); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Salter Date: Thu, 10 May 2018 17:38:43 -0400 -Subject: [PATCH 02/35] ACPI / irq: Workaround firmware issue on X-Gene based +Subject: [PATCH 02/33] ACPI / irq: Workaround firmware issue on X-Gene based m400 Message-id: <20180510173844.29580-3-msalter@redhat.com> @@ -145,13 +145,13 @@ index c68e694fca26..146cba5ae5bc 100644 return ctx.rc; } -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Salter Date: Thu, 10 May 2018 17:38:44 -0400 -Subject: [PATCH 03/35] aarch64: acpi scan: Fix regression related to X-Gene +Subject: [PATCH 03/33] aarch64: acpi scan: Fix regression related to X-Gene UARTs Message-id: <20180510173844.29580-4-msalter@redhat.com> @@ -199,13 +199,13 @@ index 6e9cd41c5f9b..07db2f6afa17 100644 acpi_dev_get_resources(device, &resource_list, acpi_check_serial_bus_slave, -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Salter Date: Fri, 11 May 2018 21:01:17 -0400 -Subject: [PATCH 04/35] acpi: prefer booting with ACPI over DTS +Subject: [PATCH 04/33] acpi: prefer booting with ACPI over DTS Message-id: <20180511210117.10457-1-msalter@redhat.com> Patchwork-id: 214708 @@ -256,13 +256,13 @@ index f3851724fe35..cac21da49455 100644 static int __init parse_acpi(char *arg) -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Thu, 7 Jun 2018 22:59:32 -0400 -Subject: [PATCH 05/35] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early +Subject: [PATCH 05/33] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon Message-id: <1528412373-19128-2-git-send-email-rrichter@redhat.com> @@ -298,10 +298,10 @@ Signed-off-by: Herton R. Krzesinski 1 file changed, 24 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 0663762ea69d..3f1215e8c5b2 100644 +index 4893b1e82403..b1c68886a672 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -4272,6 +4272,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, +@@ -4284,6 +4284,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); @@ -333,13 +333,13 @@ index 0663762ea69d..3f1215e8c5b2 100644 * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) * class code. Fix it. -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Thu, 7 Jun 2018 22:59:33 -0400 -Subject: [PATCH 06/35] ahci: thunderx2: Fix for errata that affects stop +Subject: [PATCH 06/33] ahci: thunderx2: Fix for errata that affects stop engine Message-id: <1528412373-19128-3-git-send-email-rrichter@redhat.com> @@ -424,13 +424,13 @@ index 395772fa3943..35aa1b420262 100644 tmp = ata_wait_register(ap, port_mmio + PORT_CMD, PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Sun, 10 Feb 2019 01:27:54 +0000 -Subject: [PATCH 07/35] ipmi: do not configure ipmi for HPE m400 +Subject: [PATCH 07/33] ipmi: do not configure ipmi for HPE m400 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1670017 Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=20147017 @@ -548,13 +548,13 @@ index fe91090e04a4..f00bc6886913 100644 rv = ipmi_register_driver(); mutex_unlock(&ipmi_interfaces_mutex); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Mon, 20 May 2019 22:21:02 -0400 -Subject: [PATCH 08/35] iommu/arm-smmu: workaround DMA mode issues +Subject: [PATCH 08/33] iommu/arm-smmu: workaround DMA mode issues Message-id: <20190520222102.19488-1-labbott@redhat.com> Patchwork-id: 259215 @@ -610,7 +610,7 @@ Signed-off-by: Laura Abbott 1 file changed, 22 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index f62fb6a58f10..26ade573cec9 100644 +index 7f409e9eea4b..976473a4895b 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -7,6 +7,7 @@ @@ -621,7 +621,7 @@ index f62fb6a58f10..26ade573cec9 100644 #include #include #include -@@ -3119,6 +3120,27 @@ u32 iommu_sva_get_pasid(struct iommu_sva *handle) +@@ -3124,6 +3125,27 @@ u32 iommu_sva_get_pasid(struct iommu_sva *handle) } EXPORT_SYMBOL_GPL(iommu_sva_get_pasid); @@ -650,13 +650,13 @@ index f62fb6a58f10..26ade573cec9 100644 * Changes the default domain of an iommu group that has *only* one device * -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Tue, 1 Oct 2019 15:51:23 +0000 -Subject: [PATCH 09/35] arm: aarch64: Drop the EXPERT setting from +Subject: [PATCH 09/33] arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT Message-id: <20191001181256.22935-1-jcline@redhat.com> @@ -677,10 +677,10 @@ Signed-off-by: Jeremy Cline 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 0758ea0717f9..713f41c74024 100644 +index 8b6f090e0364..eb8639511e69 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -911,7 +911,7 @@ endchoice +@@ -910,7 +910,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -690,13 +690,13 @@ index 0758ea0717f9..713f41c74024 100644 For systems with 52-bit userspace VAs enabled, the kernel will attempt to maintain compatibility with older software by providing 48-bit VAs -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 2 Oct 2017 18:22:13 -0400 -Subject: [PATCH 10/35] Add efi_status_to_str() and rework efi_status_to_err(). +Subject: [PATCH 10/33] Add efi_status_to_str() and rework efi_status_to_err(). This adds efi_status_to_str() for use when printing efi_status_t messages, and reworks efi_status_to_err() so that the two use a common @@ -710,7 +710,7 @@ Signed-off-by: Peter Jones 2 files changed, 96 insertions(+), 31 deletions(-) diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c -index 847f33ffc4ae..363037f8eaf8 100644 +index e3df82d5d37a..56274356784b 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ @@ -721,7 +721,7 @@ index 847f33ffc4ae..363037f8eaf8 100644 #include -@@ -841,40 +842,101 @@ int efi_mem_type(unsigned long phys_addr) +@@ -848,40 +849,101 @@ int efi_mem_type(unsigned long phys_addr) } #endif @@ -876,13 +876,13 @@ index 3d8ddc5eca8c..7aad9fc10338 100644 /* * Variable Attributes -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 2 Oct 2017 18:18:30 -0400 -Subject: [PATCH 11/35] Make get_cert_list() use efi_status_to_str() to print +Subject: [PATCH 11/33] Make get_cert_list() use efi_status_to_str() to print error messages. Upstream Status: RHEL only @@ -917,13 +917,13 @@ index f290f78c3f30..d3e7ae04f5be 100644 } -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Mon, 30 Sep 2019 21:22:47 +0000 -Subject: [PATCH 12/35] security: lockdown: expose a hook to lock the kernel +Subject: [PATCH 12/33] security: lockdown: expose a hook to lock the kernel down In order to automatically lock down kernels running on UEFI machines @@ -970,10 +970,10 @@ index 59024618554e..ab9ca4d393da 100644 * * @perf_event_open: diff --git a/include/linux/security.h b/include/linux/security.h -index 46a02ce34d00..37e991a10d70 100644 +index da184e7b361f..d38bc78f16b7 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -472,6 +472,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); +@@ -474,6 +474,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); @@ -981,7 +981,7 @@ index 46a02ce34d00..37e991a10d70 100644 #else /* CONFIG_SECURITY */ static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) -@@ -1353,6 +1354,10 @@ static inline int security_locked_down(enum lockdown_reason what) +@@ -1355,6 +1356,10 @@ static inline int security_locked_down(enum lockdown_reason what) { return 0; } @@ -1005,10 +1005,10 @@ index 87cbdc64d272..18555cf18da7 100644 static int __init lockdown_lsm_init(void) diff --git a/security/security.c b/security/security.c -index 67264cb08fb3..85a0227bfac1 100644 +index 7b9f9d3fffe5..0251fbe67828 100644 --- a/security/security.c +++ b/security/security.c -@@ -2599,6 +2599,12 @@ int security_locked_down(enum lockdown_reason what) +@@ -2614,6 +2614,12 @@ int security_locked_down(enum lockdown_reason what) } EXPORT_SYMBOL(security_locked_down); @@ -1022,13 +1022,13 @@ index 67264cb08fb3..85a0227bfac1 100644 int security_perf_event_open(struct perf_event_attr *attr, int type) { -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 27 Feb 2018 10:04:55 +0000 -Subject: [PATCH 13/35] efi: Add an EFI_SECURE_BOOT flag to indicate secure +Subject: [PATCH 13/33] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT @@ -1054,10 +1054,10 @@ Signed-off-by: Jeremy Cline create mode 100644 drivers/firmware/efi/secureboot.c diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 48596f9fddf4..a34abc4ce94f 100644 +index 8e56c4de00b9..5294f24da2a7 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1094,19 +1094,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1114,19 +1114,7 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -1186,13 +1186,13 @@ index 7aad9fc10338..779f41901f35 100644 enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var) { -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: David Howells Date: Mon, 30 Sep 2019 21:28:16 +0000 -Subject: [PATCH 14/35] efi: Lock down the kernel if booted in secure boot mode +Subject: [PATCH 14/33] efi: Lock down the kernel if booted in secure boot mode UEFI Secure Boot provides a mechanism for ensuring that the firmware will only load signed bootloaders and kernels. Certain use cases may @@ -1209,7 +1209,7 @@ Signed-off-by: Jeremy Cline 2 files changed, 21 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index a34abc4ce94f..b31d4f581b66 100644 +index 5294f24da2a7..8ff688720b59 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -20,6 +20,7 @@ @@ -1220,7 +1220,7 @@ index a34abc4ce94f..b31d4f581b66 100644 #include #include #include -@@ -929,6 +930,13 @@ void __init setup_arch(char **cmdline_p) +@@ -949,6 +950,13 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); @@ -1259,13 +1259,13 @@ index e84ddf484010..d0501353a4b9 100644 prompt "Kernel default lockdown mode" default LOCK_DOWN_KERNEL_FORCE_NONE -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Wed, 30 Oct 2019 14:37:49 +0000 -Subject: [PATCH 15/35] s390: Lock down the kernel when the IPL secure flag is +Subject: [PATCH 15/33] s390: Lock down the kernel when the IPL secure flag is set Automatically lock down the kernel to LOCKDOWN_CONFIDENTIALITY_MAX if @@ -1328,13 +1328,13 @@ index ee67215a678a..931955a9ceca 100644 /* boot_command_line has been already set up in early.c */ *cmdline_p = boot_command_line; -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 26 Feb 2020 13:38:40 -0500 -Subject: [PATCH 16/35] Add option of 13 for FORCE_MAX_ZONEORDER +Subject: [PATCH 16/33] Add option of 13 for FORCE_MAX_ZONEORDER This is a hack, but it's what the other distros currently use for aarch64 with 4K pages so we'll do the same while upstream @@ -1349,10 +1349,10 @@ Signed-off-by: Jeremy Cline 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 713f41c74024..5be7713a5ca0 100644 +index eb8639511e69..9a076b04f515 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1152,6 +1152,7 @@ config XEN +@@ -1148,6 +1148,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if ARM64_64K_PAGES @@ -1361,13 +1361,13 @@ index 713f41c74024..5be7713a5ca0 100644 default "11" help -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mark Salter Date: Thu, 26 Aug 2021 10:59:23 -0400 -Subject: [PATCH 17/35] arm64: use common CONFIG_MAX_ZONEORDER for arm kernel +Subject: [PATCH 17/33] arm64: use common CONFIG_MAX_ZONEORDER for arm kernel Now that RHEL9 is using 4K pagesize, MAX_ZONEORDER is defaulting to 11. Fedora uses an out of tree patch to default to 13 when @@ -1381,10 +1381,10 @@ Signed-off-by: Mark Salter 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 5be7713a5ca0..fb57b7a992d4 100644 +index 9a076b04f515..6f72bd5ea319 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1152,7 +1152,7 @@ config XEN +@@ -1148,7 +1148,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if ARM64_64K_PAGES @@ -1394,13 +1394,13 @@ index 5be7713a5ca0..fb57b7a992d4 100644 default "11" help -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jon Masters Date: Thu, 18 Jul 2019 15:47:26 -0400 -Subject: [PATCH 18/35] arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT +Subject: [PATCH 18/33] arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT We will use this to force CONFIG_HIGHPTE off on LPAE for now @@ -1426,13 +1426,13 @@ index 4ebd512043be..6743668b7b33 100644 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 -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 3 May 2012 20:27:11 +0100 -Subject: [PATCH 19/35] ARM: tegra: usb no reset +Subject: [PATCH 19/33] ARM: tegra: usb no reset Patch for disconnect issues with storage attached to a tegra-ehci controller @@ -1459,13 +1459,13 @@ index ac6c5ccfe1cb..ec784479eece 100644 * disconnected while waiting for the lock to succeed. */ usb_lock_device(hdev); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Mon, 3 Apr 2017 18:18:21 +0200 -Subject: [PATCH 20/35] Input: rmi4 - remove the need for artificial IRQ in +Subject: [PATCH 20/33] Input: rmi4 - remove the need for artificial IRQ in case of HID The IRQ from rmi4 may interfere with the one we currently use on i2c-hid. @@ -1790,13 +1790,13 @@ index ab7eea01ab42..fff7c5f737fc 100644 int rmi_register_transport_device(struct rmi_transport_dev *xport); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Robert Holmes Date: Tue, 23 Apr 2019 07:39:29 +0000 -Subject: [PATCH 21/35] KEYS: Make use of platform keyring for module signature +Subject: [PATCH 21/33] KEYS: Make use of platform keyring for module signature verify This patch completes commit 278311e417be ("kexec, KEYS: Make use of @@ -1835,13 +1835,13 @@ index 8723ae70ea1f..fb2d773498c2 100644 + return ret; } -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jeremy Linton Date: Thu, 11 Mar 2021 22:15:13 -0600 -Subject: [PATCH 22/35] REDHAT: coresight: etm4x: Disable coresight on HPE +Subject: [PATCH 22/33] REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1918888 @@ -1910,13 +1910,13 @@ index e24252eaf8e4..368d64adeee8 100644 platform_driver_unregister(&etm4_platform_driver); etm4_pm_clear(); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 13 Apr 2021 13:09:36 -0400 -Subject: [PATCH 23/35] nvme: Return BLK_STS_TARGET if the DNR bit is set +Subject: [PATCH 23/33] nvme: Return BLK_STS_TARGET if the DNR bit is set BZ: 1948690 Upstream Status: RHEL-only @@ -1963,7 +1963,7 @@ Date: Tue Aug 25 21:52:45 2020 -0400 1 file changed, 3 insertions(+) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index f8dd664b2eda..8c2d88526b1d 100644 +index 87877397d1ad..45190412ccf3 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -262,6 +262,9 @@ static void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl) @@ -1977,13 +1977,13 @@ index f8dd664b2eda..8c2d88526b1d 100644 case NVME_SC_SUCCESS: return BLK_STS_OK; -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 13 Apr 2021 13:09:36 -0400 -Subject: [PATCH 24/35] nvme: allow local retry and proper failover for +Subject: [PATCH 24/33] nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT BZ: 1948690 @@ -2018,7 +2018,7 @@ Signed-off-by: Mike Snitzer 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index 8c2d88526b1d..f68e6d796be1 100644 +index 45190412ccf3..92bedbd55fcf 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -324,6 +324,7 @@ enum nvme_disposition { @@ -2073,13 +2073,13 @@ index 8c2d88526b1d..f68e6d796be1 100644 } EXPORT_SYMBOL_GPL(nvme_complete_rq); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 13 Apr 2021 13:09:37 -0400 -Subject: [PATCH 25/35] nvme: decouple basic ANA log page re-read support from +Subject: [PATCH 25/33] nvme: decouple basic ANA log page re-read support from native multipathing BZ: 1948690 @@ -2118,7 +2118,7 @@ Signed-off-by: Mike Snitzer 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c -index f68e6d796be1..0ff9ea8340e4 100644 +index 92bedbd55fcf..1a9bfb64a410 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -365,6 +365,8 @@ static inline void nvme_end_req(struct request *req) @@ -2131,7 +2131,7 @@ index f68e6d796be1..0ff9ea8340e4 100644 nvme_end_req(req); } diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c -index 2f76969408b2..4c7d12e2fe70 100644 +index 064acad505d3..4619b304e4d0 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) @@ -2168,10 +2168,10 @@ index 2f76969408b2..4c7d12e2fe70 100644 spin_lock_irqsave(&ns->head->requeue_lock, flags); for (bio = req->bio; bio; bio = bio->bi_next) diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h -index ed79a6c7e804..961dc67d7261 100644 +index 72bcd7e5716e..512c7358c83d 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h -@@ -746,6 +746,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys); +@@ -770,6 +770,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); @@ -2179,7 +2179,7 @@ index ed79a6c7e804..961dc67d7261 100644 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); -@@ -784,6 +785,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, +@@ -809,6 +810,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) { } @@ -2190,13 +2190,13 @@ index ed79a6c7e804..961dc67d7261 100644 { } -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 25 May 2021 12:36:06 -0400 -Subject: [PATCH 26/35] nvme: nvme_mpath_init remove multipath check +Subject: [PATCH 26/33] nvme: nvme_mpath_init remove multipath check BZ: 1948690 Upstream Status: RHEL-only @@ -2240,10 +2240,10 @@ Date: Wed Jan 29 15:29:37 2020 -0500 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c -index 4c7d12e2fe70..021a4176b321 100644 +index 4619b304e4d0..95f993b43881 100644 --- a/drivers/nvme/host/multipath.c +++ b/drivers/nvme/host/multipath.c -@@ -819,8 +819,7 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) +@@ -841,8 +841,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 */ @@ -2254,364 +2254,13 @@ index 4c7d12e2fe70..021a4176b321 100644 if (!ctrl->max_namespaces || -- -2.31.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Herbert Xu -Date: Tue, 10 Aug 2021 17:54:28 +0800 -Subject: [PATCH 27/35] random: Add hook to override device reads and - getrandom(2) - -Upstream: RHEL only -Bugzilla: 1984784 - -This patch introduces a hook mechanism to drivers/char/random -to allow the reads on /dev/*random as well as getrandom(2) to -be overridden by an external RNG. - -This will be used to override drivers/char/random with a FIPS -RNG in a subsequent patch. - -Signed-off-by: Herbert Xu ---- - drivers/char/random.c | 115 +++++++++++++++++++++++++++++++++++++++++ - include/linux/random.h | 7 +++ - 2 files changed, 122 insertions(+) - -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/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; --- -2.31.1 - - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Herbert Xu -Date: Tue, 10 Aug 2021 17:56:42 +0800 -Subject: [PATCH 28/35] crypto: rng - Override drivers/char/random in FIPS mode - -Upstream: RHEL only -Bugzilla: 1984784 - -This patch overrides the drivers/char/random RNGs with the FIPS -RNG from Crypto API when FIPS mode is enabled. - -Signed-off-by: Herbert Xu ---- - crypto/rng.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 72 insertions(+), 1 deletion(-) - -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"); --- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dan Johansen Date: Fri, 6 Aug 2021 00:04:27 +0200 -Subject: [PATCH 29/35] arm64: dts: rockchip: Setup USB typec port as datarole +Subject: [PATCH 27/33] arm64: dts: rockchip: Setup USB typec port as datarole on Some chargers try to put the charged device into device data @@ -2627,7 +2276,7 @@ diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/b index 9e5d07f5712e..dae8c252bc2b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -@@ -707,7 +707,7 @@ fusb0: fusb30x@22 { +@@ -707,7 +707,7 @@ connector { compatible = "usb-c-connector"; @@ -2637,13 +2286,13 @@ index 9e5d07f5712e..dae8c252bc2b 100644 op-sink-microwatt = <1000000>; power-role = "dual"; -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 14 Oct 2021 20:39:42 +0200 -Subject: [PATCH 30/35] x86/PCI: Ignore E820 reservations for bridge windows on +Subject: [PATCH 28/33] x86/PCI: Ignore E820 reservations for bridge windows on newer systems MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -2729,10 +2378,10 @@ Acked-by: Bjorn Helgaas 5 files changed, 57 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 8ff6dafafdf8..e3f786336cf9 100644 +index fd3d14dabadc..01a260ee4acd 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -3955,6 +3955,15 @@ +@@ -3954,6 +3954,15 @@ please report a bug. nocrs [X86] Ignore PCI host bridge windows from ACPI. If you need to use this, please report a bug. @@ -2866,13 +2515,13 @@ index 3507f456fcd0..091ec7e94fcb 100644 } else if (!strcmp(str, "big_root_window")) { pci_probe |= PCI_BIG_ROOT_WINDOW; -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 14 Oct 2021 20:39:43 +0200 -Subject: [PATCH 31/35] x86/PCI/ACPI: Replace printk calls with pr_info/pr_warn +Subject: [PATCH 29/33] x86/PCI/ACPI: Replace printk calls with pr_info/pr_warn calls The direct use of printk is deprecated, replace the printk calls @@ -2961,13 +2610,13 @@ index 72d473054262..f357dac92610 100644 acpi_pci_irq_enable(dev); } -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 23 Nov 2021 22:05:24 +0100 -Subject: [PATCH 32/35] platform/x86: thinkpad_acpi: Add lid_logo_dot to the +Subject: [PATCH 30/33] platform/x86: thinkpad_acpi: Add lid_logo_dot to the list of safe LEDs There have been various bugs / forum threads about allowing control of @@ -3006,13 +2655,13 @@ index 3dc055ce6e61..bb56640eb31f 100644 static inline bool tpacpi_is_led_restricted(const unsigned int led) { -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 17 Dec 2021 11:29:56 +0100 -Subject: [PATCH 33/35] netfilter: conntrack: tag conntracks picked up in local +Subject: [PATCH 31/33] netfilter: conntrack: tag conntracks picked up in local out hook This allows to identify flows that originate from local machine @@ -3032,10 +2681,10 @@ Signed-off-by: Pablo Neira Ayuso 2 files changed, 4 insertions(+) diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h -index d24b0a34c8f0..871489df63c6 100644 +index 34c266502a50..dae1a7e4732f 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h -@@ -95,6 +95,7 @@ struct nf_conn { +@@ -97,6 +97,7 @@ struct nf_conn { unsigned long status; u16 cpu; @@ -3044,10 +2693,10 @@ index d24b0a34c8f0..871489df63c6 100644 #if IS_ENABLED(CONFIG_NF_NAT) diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c -index 4712a90a1820..208abc729302 100644 +index 31399c53dfb1..e304f038656d 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, +@@ -1800,6 +1800,9 @@ resolve_normal_ct(struct nf_conn *tmpl, return 0; if (IS_ERR(h)) return PTR_ERR(h); @@ -3058,13 +2707,13 @@ index 4712a90a1820..208abc729302 100644 ct = nf_ct_tuplehash_to_ctrack(h); -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 17 Dec 2021 11:29:57 +0100 -Subject: [PATCH 34/35] netfilter: nat: force port remap to prevent shadowing +Subject: [PATCH 32/33] netfilter: nat: force port remap to prevent shadowing well-known ports If destination port is above 32k and source port below 16k @@ -3174,7 +2823,7 @@ index 273117683922..21ec0c3d1d47 100644 if (!(range->flags & NF_NAT_RANGE_PROTO_OFFSET) && l4proto_in_range(tuple, maniptype, diff --git a/tools/testing/selftests/netfilter/nft_nat.sh b/tools/testing/selftests/netfilter/nft_nat.sh -index da1c1e4b6c86..6a08644d501e 100755 +index 781fa2d9ea9d..84805658a3b9 100755 --- a/tools/testing/selftests/netfilter/nft_nat.sh +++ b/tools/testing/selftests/netfilter/nft_nat.sh @@ -867,8 +867,9 @@ EOF @@ -3190,13 +2839,13 @@ index da1c1e4b6c86..6a08644d501e 100755 # test packet filter based mitigation: prevent forwarding of # packets claiming to come from the service port. -- -2.31.1 +2.18.4 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Tue, 25 Jan 2022 09:08:34 -0600 -Subject: [PATCH 35/35] Revert "PCI/MSI: Mask MSI-X vectors only on success" +Subject: [PATCH 33/33] Revert "PCI/MSI: Mask MSI-X vectors only on success" This reverts commit d8888cdabedf353ab9b5a6af75f70bf341a3e7df. @@ -3237,5 +2886,5 @@ index cc4c2b8a5efd..96132d68be1e 100644 pcibios_free_irq(dev); -- -2.31.1 +2.18.4 diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index f7ef0d7..36b8c6a 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -97,7 +97,7 @@ Summary: The Linux kernel %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 41 +%define stable_update 48 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -3017,6 +3017,9 @@ fi # # %changelog +* Sun Jun 19 2022 Pablo Greco - 5.15.48-200 +- Update to version v5.15.48 + * Sat May 21 2022 Pablo Greco - 5.15.41-200 - Update to version v5.15.41