From c0a0d3c4785e59efd2d12dcd709ebd36fd1f8695 Mon Sep 17 00:00:00 2001 From: Augusto Caringi Date: Fri, 24 Jul 2026 17:26:54 -0300 Subject: [PATCH] kernel-7.1.5-100 * Fri Jul 24 2026 Augusto Caringi [7.1.5-0] - redhat/configs: fix new config items for aarch64 and s390x (Augusto Caringi) - Revert some RHEL only rng patches (Justin M. Forbes) - Linux v7.1.5 Resolves: Signed-off-by: Augusto Caringi --- Makefile.rhelver | 2 +- Patchlist.changelog | 3 + kernel-aarch64-16k-debug-fedora.config | 2 + kernel-aarch64-16k-fedora.config | 2 + kernel-aarch64-64k-debug-rhel.config | 2 + kernel-aarch64-64k-rhel.config | 2 + kernel-aarch64-debug-fedora.config | 2 + kernel-aarch64-debug-rhel.config | 2 + kernel-aarch64-fedora.config | 2 + kernel-aarch64-rhel.config | 2 + kernel-aarch64-rt-64k-debug-fedora.config | 2 + kernel-aarch64-rt-64k-debug-rhel.config | 2 + kernel-aarch64-rt-64k-fedora.config | 2 + kernel-aarch64-rt-64k-rhel.config | 2 + kernel-aarch64-rt-debug-fedora.config | 2 + kernel-aarch64-rt-debug-rhel.config | 2 + kernel-aarch64-rt-fedora.config | 2 + kernel-aarch64-rt-rhel.config | 2 + kernel-s390x-debug-rhel.config | 2 +- kernel-s390x-rhel.config | 2 +- kernel-s390x-zfcpdump-rhel.config | 2 +- kernel.changelog | 6 + kernel.spec | 17 +- patch-7.1-redhat.patch | 565 +--------------------- sources | 6 +- 25 files changed, 76 insertions(+), 561 deletions(-) diff --git a/Makefile.rhelver b/Makefile.rhelver index f8a4a2cb0..95b9fd7b5 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 99 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 4 +RHEL_RELEASE = 0 # # RHEL_REBASE_NUM diff --git a/Patchlist.changelog b/Patchlist.changelog index ce9f28824..00d9797ae 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,6 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/87a4913c27ab87d4d5a6a2fa7a2e5915e4f997bd + 87a4913c27ab87d4d5a6a2fa7a2e5915e4f997bd Revert some RHEL only rng patches + https://gitlab.com/cki-project/kernel-ark/-/commit/4735f2eec63a6a192b69a79921f8559570f1ebf9 4735f2eec63a6a192b69a79921f8559570f1ebf9 net/packet: avoid fanout hook re-registration after unregister diff --git a/kernel-aarch64-16k-debug-fedora.config b/kernel-aarch64-16k-debug-fedora.config index 79d51f982..ca19bedd1 100644 --- a/kernel-aarch64-16k-debug-fedora.config +++ b/kernel-aarch64-16k-debug-fedora.config @@ -10242,6 +10242,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-16k-fedora.config b/kernel-aarch64-16k-fedora.config index 403d50215..067159b5e 100644 --- a/kernel-aarch64-16k-fedora.config +++ b/kernel-aarch64-16k-fedora.config @@ -10208,6 +10208,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-64k-debug-rhel.config b/kernel-aarch64-64k-debug-rhel.config index af342d214..bad6262c7 100644 --- a/kernel-aarch64-64k-debug-rhel.config +++ b/kernel-aarch64-64k-debug-rhel.config @@ -8340,6 +8340,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-64k-rhel.config b/kernel-aarch64-64k-rhel.config index 050bbb376..0c193b2f2 100644 --- a/kernel-aarch64-64k-rhel.config +++ b/kernel-aarch64-64k-rhel.config @@ -8311,6 +8311,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index 9e601703e..2cf657738 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -10241,6 +10241,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config index 74c7fe09f..6445b8f91 100644 --- a/kernel-aarch64-debug-rhel.config +++ b/kernel-aarch64-debug-rhel.config @@ -8337,6 +8337,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index 72fc16f98..20c22f6e7 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -10207,6 +10207,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config index 57fdd22dc..f5b992b5b 100644 --- a/kernel-aarch64-rhel.config +++ b/kernel-aarch64-rhel.config @@ -8308,6 +8308,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-64k-debug-fedora.config b/kernel-aarch64-rt-64k-debug-fedora.config index 47d260757..bf851801c 100644 --- a/kernel-aarch64-rt-64k-debug-fedora.config +++ b/kernel-aarch64-rt-64k-debug-fedora.config @@ -10257,6 +10257,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-64k-debug-rhel.config b/kernel-aarch64-rt-64k-debug-rhel.config index 0e641e5c1..daf1af264 100644 --- a/kernel-aarch64-rt-64k-debug-rhel.config +++ b/kernel-aarch64-rt-64k-debug-rhel.config @@ -8387,6 +8387,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-64k-fedora.config b/kernel-aarch64-rt-64k-fedora.config index 0a76a0b99..6bb7e2240 100644 --- a/kernel-aarch64-rt-64k-fedora.config +++ b/kernel-aarch64-rt-64k-fedora.config @@ -10223,6 +10223,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-64k-rhel.config b/kernel-aarch64-rt-64k-rhel.config index 09e23aa14..e671fe113 100644 --- a/kernel-aarch64-rt-64k-rhel.config +++ b/kernel-aarch64-rt-64k-rhel.config @@ -8358,6 +8358,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-debug-fedora.config b/kernel-aarch64-rt-debug-fedora.config index 36200c614..a419e518c 100644 --- a/kernel-aarch64-rt-debug-fedora.config +++ b/kernel-aarch64-rt-debug-fedora.config @@ -10253,6 +10253,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-debug-rhel.config b/kernel-aarch64-rt-debug-rhel.config index 0565de6c8..93cd35f1b 100644 --- a/kernel-aarch64-rt-debug-rhel.config +++ b/kernel-aarch64-rt-debug-rhel.config @@ -8383,6 +8383,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-fedora.config b/kernel-aarch64-rt-fedora.config index f2f3dd9cc..8fd8551f8 100644 --- a/kernel-aarch64-rt-fedora.config +++ b/kernel-aarch64-rt-fedora.config @@ -10219,6 +10219,8 @@ CONFIG_VFIO_PCI=m CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m # CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set CONFIG_VFIO_PLATFORM=m +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-aarch64-rt-rhel.config b/kernel-aarch64-rt-rhel.config index ef0caabaa..b10f8989e 100644 --- a/kernel-aarch64-rt-rhel.config +++ b/kernel-aarch64-rt-rhel.config @@ -8354,6 +8354,8 @@ CONFIG_VFIO_NOIOMMU=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m # CONFIG_VFIO_PLATFORM is not set +CONFIG_VF_TIMER_NONE=y +# CONFIG_VF_USE_PIT_TIMER is not set CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y # CONFIG_VGA_CONSOLE is not set diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config index d7838997a..0b14a8a04 100644 --- a/kernel-s390x-debug-rhel.config +++ b/kernel-s390x-debug-rhel.config @@ -5148,8 +5148,8 @@ CONFIG_REALTEK_PHY_HWMON=y # CONFIG_REDMI_WMI is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_REGMAP_BUILD is not set -# CONFIG_REGMAP is not set CONFIG_REGMAP_KUNIT=m +CONFIG_REGMAP=y # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config index 51844f538..1182462be 100644 --- a/kernel-s390x-rhel.config +++ b/kernel-s390x-rhel.config @@ -5124,8 +5124,8 @@ CONFIG_REALTEK_PHY_HWMON=y # CONFIG_REDMI_WMI is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_REGMAP_BUILD is not set -# CONFIG_REGMAP is not set CONFIG_REGMAP_KUNIT=m +CONFIG_REGMAP=y # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config index 6f52604fe..26e9c8191 100644 --- a/kernel-s390x-zfcpdump-rhel.config +++ b/kernel-s390x-zfcpdump-rhel.config @@ -5136,8 +5136,8 @@ CONFIG_REALTEK_PHY_HWMON=y # CONFIG_REDMI_WMI is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_REGMAP_BUILD is not set -# CONFIG_REGMAP is not set CONFIG_REGMAP_KUNIT=m +CONFIG_REGMAP=y # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set diff --git a/kernel.changelog b/kernel.changelog index 8bbef45d6..8845335c0 100644 --- a/kernel.changelog +++ b/kernel.changelog @@ -1,3 +1,9 @@ +* Fri Jul 24 2026 Augusto Caringi [7.1.5-0] +- redhat/configs: fix new config items for aarch64 and s390x (Augusto Caringi) +- Revert some RHEL only rng patches (Justin M. Forbes) +- Linux v7.1.5 +Resolves: + * Wed Jul 22 2026 Justin M. Forbes [7.1.4-4] - net/packet: avoid fanout hook re-registration after unregister (David Lee) Resolves: diff --git a/kernel.spec b/kernel.spec index 548624686..bc019232a 100644 --- a/kernel.spec +++ b/kernel.spec @@ -187,18 +187,18 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local -%define specrpmversion 7.1.4 -%define specversion 7.1.4 +%define specrpmversion 7.1.5 +%define specversion 7.1.5 %define patchversion 7.1 -%define pkgrelease 104 +%define pkgrelease 100 %define kversion 7 -%define tarfile_release 7.1.4 +%define tarfile_release 7.1.5 # This is needed to do merge window version magic %define patchlevel 1 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 104%{?buildid}%{?dist} +%define specrelease 100%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 7.1.4 +%define kabiversion 7.1.5 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -4857,6 +4857,11 @@ fi\ # # %changelog +* Fri Jul 24 2026 Augusto Caringi [7.1.5-0] +- redhat/configs: fix new config items for aarch64 and s390x (Augusto Caringi) +- Revert some RHEL only rng patches (Justin M. Forbes) +- Linux v7.1.5 + * Wed Jul 22 2026 Justin M. Forbes [7.1.4-4] - net/packet: avoid fanout hook re-registration after unregister (David Lee) diff --git a/patch-7.1-redhat.patch b/patch-7.1-redhat.patch index 5d6b3ff77..afe1cd598 100644 --- a/patch-7.1-redhat.patch +++ b/patch-7.1-redhat.patch @@ -10,11 +10,9 @@ arch/x86/kvm/lapic.c | 2 +- arch/x86/kvm/mmu/mmu.c | 12 +- arch/x86/kvm/mmu/paging_tmpl.h | 10 +- - arch/x86/kvm/vmx/nested.c | 13 +- + arch/x86/kvm/vmx/nested.c | 11 +- crypto/akcipher.c | 3 +- crypto/dh.c | 25 + - crypto/drbg.c | 18 +- - crypto/rng.c | 155 +++- crypto/seqiv.c | 15 +- crypto/sig.c | 3 +- crypto/testmgr.c | 6 +- @@ -30,7 +28,6 @@ drivers/firmware/efi/libstub/fdt.c | 5 + drivers/firmware/efi/libstub/secureboot.c | 14 +- drivers/firmware/efi/secureboot.c | 38 + - .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 20 +- drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 12 + drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 11 + .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c | 45 + @@ -41,20 +38,16 @@ drivers/media/i2c/Makefile | 1 + drivers/media/i2c/imx471.c | 957 +++++++++++++++++++++ drivers/media/pci/intel/ipu-bridge.c | 41 + - drivers/pci/msi/msi.c | 4 +- drivers/pci/quirks.c | 24 + drivers/platform/x86/intel/int3472/discrete.c | 18 + drivers/usb/core/hub.c | 7 + - fs/btrfs/compression.c | 18 +- - include/linux/crypto.h | 3 + + include/linux/crypto.h | 2 + include/linux/efi.h | 22 +- include/linux/lsm_hook_defs.h | 1 + include/linux/random.h | 10 + include/linux/security.h | 9 + kernel/module/signing.c | 9 +- - net/can/bcm.c | 37 +- net/packet/af_packet.c | 6 +- - net/sched/cls_api.c | 3 + scripts/Makefile.lib | 3 + scripts/tags.sh | 2 + security/integrity/platform_certs/load_uefi.c | 6 +- @@ -65,7 +58,7 @@ tools/testing/selftests/bpf/DENYLIST.rhel | 76 ++ tools/testing/selftests/bpf/Makefile | 2 +- tools/testing/selftests/bpf/prog_tests/ksyms_btf.c | 31 - - 67 files changed, 2108 insertions(+), 191 deletions(-) + 60 files changed, 1906 insertions(+), 135 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index f74da642290a..06c8bb2075e6 100644 @@ -85,7 +78,7 @@ index f74da642290a..06c8bb2075e6 100644 M: Maxim Levitsky M: Alex Dubov diff --git a/Makefile b/Makefile -index b3496dd21312..cb88d3636564 100644 +index 58f3b3e2dc1c..c57ee1ced308 100644 --- a/Makefile +++ b/Makefile @@ -356,6 +356,17 @@ ifneq ($(filter install,$(MAKECMDGOALS)),) @@ -315,7 +308,7 @@ index 46882ce79c3a..9c73814c31e0 100644 reserve_initrd(); diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c -index 92a1e69c5962..1cb243df0bc0 100644 +index d806abaeda3d..3a0eef95e905 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -2052,7 +2052,7 @@ static void apic_timer_expired(struct kvm_lapic *apic, bool from_timer_fn) @@ -398,7 +391,7 @@ index 901cd2bd40b8..6465de820e70 100644 out_unlock: diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c -index 3fe88f29be7a..2a50f8fab45d 100644 +index 52ab52b0e1cc..170b0c4d865f 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -336,6 +336,7 @@ static void nested_put_vmcs12_pages(struct kvm_vcpu *vcpu) @@ -427,15 +420,6 @@ index 3fe88f29be7a..2a50f8fab45d 100644 } kfree(vmx->nested.cached_vmcs12); vmx->nested.cached_vmcs12 = NULL; -@@ -3755,6 +3762,8 @@ enum nvmx_vmentry_status nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, - if (!from_vmentry) - return NVMX_VMENTRY_VMEXIT; - -+ nested_put_vmcs12_pages(vcpu); -+ - load_vmcs12_host_state(vcpu, vmcs12); - vmcs12->vm_exit_reason = exit_reason.full; - if (enable_shadow_vmcs || nested_vmx_is_evmptr12_valid(vmx)) diff --git a/crypto/akcipher.c b/crypto/akcipher.c index dfe87b3ce183..cd1302ca3b36 100644 --- a/crypto/akcipher.c @@ -490,286 +474,6 @@ index 7ad4768716c8..01ccc24db074 100644 } } -diff --git a/crypto/drbg.c b/crypto/drbg.c -index e3065fb9541b..ff5393e6797e 100644 ---- a/crypto/drbg.c -+++ b/crypto/drbg.c -@@ -1271,13 +1271,14 @@ static int drbg_generate(struct drbg_state *drbg, - * Wrapper around drbg_generate which can pull arbitrary long strings - * from the DRBG without hitting the maximum request limitation. - * -- * Parameters: see drbg_generate -+ * Parameters: see drbg_generate, except @reseed, which triggers reseeding - * Return codes: see drbg_generate -- if one drbg_generate request fails, - * the entire drbg_generate_long request fails - */ - static int drbg_generate_long(struct drbg_state *drbg, - unsigned char *buf, unsigned int buflen, -- struct drbg_string *addtl) -+ struct drbg_string *addtl, -+ bool reseed) - { - unsigned int len = 0; - unsigned int slice = 0; -@@ -1287,6 +1288,8 @@ static int drbg_generate_long(struct drbg_state *drbg, - slice = ((buflen - len) / drbg_max_request_bytes(drbg)); - chunk = slice ? drbg_max_request_bytes(drbg) : (buflen - len); - mutex_lock(&drbg->drbg_mutex); -+ if (reseed) -+ drbg->seeded = DRBG_SEED_STATE_UNSEEDED; - err = drbg_generate(drbg, buf + len, chunk, addtl); - mutex_unlock(&drbg->drbg_mutex); - if (0 > err) -@@ -1688,6 +1691,7 @@ static int drbg_kcapi_random(struct crypto_rng *tfm, - struct drbg_state *drbg = crypto_rng_ctx(tfm); - struct drbg_string *addtl = NULL; - struct drbg_string string; -+ int err; - - if (slen) { - /* linked list variable is now local to allow modification */ -@@ -1695,7 +1699,15 @@ static int drbg_kcapi_random(struct crypto_rng *tfm, - addtl = &string; - } - -- return drbg_generate_long(drbg, dst, dlen, addtl); -+ err = drbg_generate_long(drbg, dst, dlen, addtl, -+ (crypto_tfm_get_flags(crypto_rng_tfm(tfm)) & -+ CRYPTO_TFM_REQ_NEED_RESEED) == -+ CRYPTO_TFM_REQ_NEED_RESEED); -+ -+ crypto_tfm_clear_flags(crypto_rng_tfm(tfm), -+ CRYPTO_TFM_REQ_NEED_RESEED); -+ -+ return err; - } - - /* -diff --git a/crypto/rng.c b/crypto/rng.c -index 1d4b9177bad4..d9ca86086946 100644 ---- a/crypto/rng.c -+++ b/crypto/rng.c -@@ -12,10 +12,13 @@ - #include - #include - #include -+#include - #include - #include - #include - #include -+#include -+#include - #include - #include - #include -@@ -23,7 +26,9 @@ - - #include "internal.h" - --static DEFINE_MUTEX(crypto_default_rng_lock); -+static ____cacheline_aligned_in_smp DEFINE_MUTEX(crypto_reseed_rng_lock); -+static struct crypto_rng *crypto_reseed_rng; -+static ____cacheline_aligned_in_smp DEFINE_MUTEX(crypto_default_rng_lock); - static struct crypto_rng *crypto_default_rng; - static int crypto_default_rng_refcnt; - -@@ -105,31 +110,37 @@ struct crypto_rng *crypto_alloc_rng(const char *alg_name, u32 type, u32 mask) - } - EXPORT_SYMBOL_GPL(crypto_alloc_rng); - --static int crypto_get_default_rng(void) -+static int crypto_get_rng(struct crypto_rng **rngp) - { - struct crypto_rng *rng; - int err; - -- mutex_lock(&crypto_default_rng_lock); -- if (!crypto_default_rng) { -+ if (!*rngp) { - rng = crypto_alloc_rng("stdrng", 0, 0); - err = PTR_ERR(rng); - if (IS_ERR(rng)) -- goto unlock; -+ return err; - - err = crypto_rng_reset(rng, NULL, crypto_rng_seedsize(rng)); - if (err) { - crypto_free_rng(rng); -- goto unlock; -+ return err; - } - -- crypto_default_rng = rng; -+ *rngp = rng; - } - -- crypto_default_rng_refcnt++; -- err = 0; -+ return 0; -+} - --unlock: -+static int crypto_get_default_rng(void) -+{ -+ int err; -+ -+ mutex_lock(&crypto_default_rng_lock); -+ err = crypto_get_rng(&crypto_default_rng); -+ if (!err) -+ crypto_default_rng_refcnt++; - mutex_unlock(&crypto_default_rng_lock); - - return err; -@@ -157,24 +168,33 @@ int __crypto_stdrng_get_bytes(void *buf, unsigned int len) - EXPORT_SYMBOL_GPL(__crypto_stdrng_get_bytes); - - #if defined(CONFIG_CRYPTO_RNG) || defined(CONFIG_CRYPTO_RNG_MODULE) --int crypto_del_default_rng(void) -+static int crypto_del_rng(struct crypto_rng **rngp, int *refcntp, -+ struct mutex *lock) - { - int err = -EBUSY; - -- mutex_lock(&crypto_default_rng_lock); -- if (crypto_default_rng_refcnt) -+ mutex_lock(lock); -+ if (refcntp && *refcntp) - goto out; - -- crypto_free_rng(crypto_default_rng); -- crypto_default_rng = NULL; -+ crypto_free_rng(*rngp); -+ *rngp = NULL; - - err = 0; - - out: -- mutex_unlock(&crypto_default_rng_lock); -+ mutex_unlock(lock); - - return err; - } -+ -+int crypto_del_default_rng(void) -+{ -+ return crypto_del_rng(&crypto_default_rng, &crypto_default_rng_refcnt, -+ &crypto_default_rng_lock) ?: -+ crypto_del_rng(&crypto_reseed_rng, NULL, -+ &crypto_reseed_rng_lock); -+} - EXPORT_SYMBOL_GPL(crypto_del_default_rng); - #endif - -@@ -232,5 +252,108 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count) - } - EXPORT_SYMBOL_GPL(crypto_unregister_rngs); - -+static ssize_t crypto_devrandom_read_iter(struct iov_iter *iter, bool reseed) -+{ -+ struct crypto_rng *rng; -+ u8 tmp[256]; -+ ssize_t ret; -+ -+ if (unlikely(!iov_iter_count(iter))) -+ return 0; -+ -+ if (reseed) { -+ u32 flags = 0; -+ -+ /* If reseeding is requested, acquire a lock on -+ * crypto_reseed_rng so it is not swapped out until -+ * the initial random bytes are generated. -+ * -+ * The algorithm implementation is also protected with -+ * a separate mutex (drbg->drbg_mutex) around the -+ * reseed-and-generate operation. -+ */ -+ mutex_lock(&crypto_reseed_rng_lock); -+ -+ /* If crypto_default_rng is not set, it will be seeded -+ * at creation in __crypto_get_default_rng and thus no -+ * reseeding is needed. -+ */ -+ if (crypto_reseed_rng) -+ flags |= CRYPTO_TFM_REQ_NEED_RESEED; -+ -+ ret = crypto_get_rng(&crypto_reseed_rng); -+ if (ret) { -+ mutex_unlock(&crypto_reseed_rng_lock); -+ return ret; -+ } -+ -+ rng = crypto_reseed_rng; -+ crypto_tfm_set_flags(crypto_rng_tfm(rng), flags); -+ } else { -+ ret = crypto_get_default_rng(); -+ if (ret) -+ return ret; -+ rng = crypto_default_rng; -+ } -+ -+ for (;;) { -+ size_t i, copied; -+ int err; -+ -+ i = min_t(size_t, iov_iter_count(iter), sizeof(tmp)); -+ err = crypto_rng_get_bytes(rng, tmp, i); -+ if (err) { -+ ret = ret ?: err; -+ break; -+ } -+ -+ copied = copy_to_iter(tmp, i, iter); -+ ret += copied; -+ if (!iov_iter_count(iter) || copied != i) -+ break; -+ -+ BUILD_BUG_ON(PAGE_SIZE % sizeof(tmp) != 0); -+ if (ret % PAGE_SIZE == 0) { -+ if (signal_pending(current)) -+ break; -+ cond_resched(); -+ } -+ } -+ -+ if (reseed) -+ mutex_unlock(&crypto_reseed_rng_lock); -+ else -+ crypto_put_default_rng(); -+ memzero_explicit(tmp, sizeof(tmp)); -+ return ret ? ret : -EFAULT; -+} -+ -+static const struct random_extrng crypto_devrandom_rng = { -+ .extrng_read_iter = crypto_devrandom_read_iter, -+ .owner = THIS_MODULE, -+}; -+ -+static int __init crypto_rng_init(void) -+{ -+ int err; -+ -+ if (fips_enabled) { -+ err = crypto_get_default_rng(); -+ if (err) -+ return err; -+ crypto_put_default_rng(); -+ 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/crypto/seqiv.c b/crypto/seqiv.c index 678bb4145d78..fcc059e7d3db 100644 --- a/crypto/seqiv.c @@ -992,7 +696,7 @@ index 505e32911c34..26f7ee0ccf40 100644 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 869ac87a4b6a..64908c1ae88f 100644 +index 3e0b7d60269d..8317d264426a 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c @@ -34,6 +34,7 @@ @@ -1003,7 +707,7 @@ index 869ac87a4b6a..64908c1ae88f 100644 #include #define IPMI_DRIVER_VERSION "39.2" -@@ -5643,8 +5644,21 @@ static int __init ipmi_init_msghandler_mod(void) +@@ -5649,8 +5650,21 @@ static int __init ipmi_init_msghandler_mod(void) { int rv; @@ -1490,49 +1194,6 @@ index 000000000000..de0a3714a5d4 + } + } +} -diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -index 31187ddbb79e..ee413117b0ff 100644 ---- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c -@@ -3095,32 +3095,24 @@ int kfd_dqm_suspend_bad_queue_mes(struct kfd_node *knode, u32 pasid, u32 doorbel - - list_for_each_entry(q, &qpd->queues_list, list) { - if (q->doorbell_id == doorbell_id && q->properties.is_active) { -- ret = suspend_all_queues_mes(dqm); -- if (ret) { -- dev_err(dev, "Suspending all queues failed"); -- goto out; -- } -+ /* suspend all queues will save any good queues and mark the rest as bad */ -+ suspend_all_queues_mes(dqm); - - q->properties.is_evicted = true; - q->properties.is_active = false; - decrement_queue_count(dqm, qpd, q); - -+ /* this will remove the bad queue and sched a GPU reset if needed */ - ret = remove_queue_mes(dqm, q, qpd); -- if (ret) { -- dev_err(dev, "Removing bad queue failed"); -- goto out; -- } -- -- ret = resume_all_queues_mes(dqm); - if (ret) -- dev_err(dev, "Resuming all queues failed"); -- -+ dev_err(dev, "Removing bad queue failed"); -+ /* resume the good queues */ -+ resume_all_queues_mes(dqm); - break; - } - } - } - --out: - dqm_unlock(dqm); - kfd_unref_process(p); - return ret; diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c index 8faf7de7aaa9..f65bb1dc44ac 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -1692,7 +1353,7 @@ index ebefa889bc8c..0987eee38bd1 100644 static void adlp_tbt_to_dp_alt_switch_wa(struct intel_encoder *encoder) diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c -index d565a73f0042..0e64fc7c1004 100644 +index a251375db24b..2b5337eaeb6d 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -12,6 +12,7 @@ @@ -1703,7 +1364,7 @@ index d565a73f0042..0e64fc7c1004 100644 #include #include #include -@@ -2527,6 +2528,16 @@ static const struct amba_id etm4_ids[] = { +@@ -2547,6 +2548,16 @@ static const struct amba_id etm4_ids[] = { {}, }; @@ -1720,7 +1381,7 @@ index d565a73f0042..0e64fc7c1004 100644 MODULE_DEVICE_TABLE(amba, etm4_ids); static struct amba_driver etm4x_amba_driver = { -@@ -2601,6 +2612,11 @@ static int __init etm4x_init(void) +@@ -2621,6 +2632,11 @@ static int __init etm4x_init(void) { int ret; @@ -1732,7 +1393,7 @@ index d565a73f0042..0e64fc7c1004 100644 ret = etm4_pm_setup(); /* etm4_pm_setup() does its own cleanup - exit on error */ -@@ -2627,6 +2643,9 @@ static int __init etm4x_init(void) +@@ -2647,6 +2663,9 @@ static int __init etm4x_init(void) static void __exit etm4x_exit(void) { @@ -2837,28 +2498,6 @@ index fc6608e33de4..8cfa3282bf08 100644 {} /* Terminating entry */ }; -diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c -index 81d24a270a79..a3e0daff0988 100644 ---- a/drivers/pci/msi/msi.c -+++ b/drivers/pci/msi/msi.c -@@ -749,7 +749,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries, - - ret = msix_setup_interrupts(dev, entries, nvec, affd); - if (ret) -- goto out_unmap; -+ goto out_disable; - - /* Disable INTX */ - pci_intx_for_msi(dev, 0); -@@ -770,8 +770,6 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries, - pcibios_free_irq(dev); - return 0; - --out_unmap: -- iounmap(dev->msix_base); - out_disable: - dev->msix_enabled = 0; - pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL | PCI_MSIX_FLAGS_ENABLE, 0); diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index dd0025d3914e..e57d10dc843c 100644 --- a/drivers/pci/quirks.c @@ -2941,56 +2580,19 @@ index 24960ba9caa9..32597cdb72ef 100644 /* 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/btrfs/compression.c b/fs/btrfs/compression.c -index a02b62e0a8f3..2ceb5661e071 100644 ---- a/fs/btrfs/compression.c -+++ b/fs/btrfs/compression.c -@@ -1191,22 +1191,6 @@ void __cold btrfs_exit_compress(void) - bioset_exit(&btrfs_compressed_bioset); - } - --/* -- * The bvec is a single page bvec from a bio that contains folios from a filemap. -- * -- * Since the folio may be a large one, and if the bv_page is not a head page of -- * a large folio, then page->index is unreliable. -- * -- * Thus we need this helper to grab the proper file offset. -- */ --static u64 file_offset_from_bvec(const struct bio_vec *bvec) --{ -- const struct page *page = bvec->bv_page; -- const struct folio *folio = page_folio(page); -- -- return (page_pgoff(folio, page) << PAGE_SHIFT) + bvec->bv_offset; --} -- - /* - * Copy decompressed data from working buffer to pages. - * -@@ -1259,7 +1243,7 @@ int btrfs_decompress_buf2page(const char *buf, u32 buf_len, - * cb->start may underflow, but subtracting that value can still - * give us correct offset inside the full decompressed extent. - */ -- bvec_offset = file_offset_from_bvec(&bvec) - cb->start; -+ bvec_offset = page_offset(bvec.bv_page) + bvec.bv_offset - cb->start; - - /* Haven't reached the bvec range, exit */ - if (decompressed + buf_len <= bvec_offset) diff --git a/include/linux/crypto.h b/include/linux/crypto.h -index a2137e19be7d..df268ca70170 100644 +index a2137e19be7d..79ccb6fabc10 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h -@@ -151,6 +151,9 @@ - #define CRYPTO_TFM_REQ_MAY_SLEEP 0x00000200 +@@ -152,6 +152,8 @@ #define CRYPTO_TFM_REQ_MAY_BACKLOG 0x00000400 #define CRYPTO_TFM_REQ_ON_STACK 0x00000800 -+#define CRYPTO_TFM_REQ_NEED_RESEED 0x00001000 -+ -+#define CRYPTO_TFM_FIPS_COMPLIANCE 0x80000000 ++#define CRYPTO_TFM_FIPS_COMPLIANCE 0x80000000 ++ /* * Miscellaneous stuff. + */ diff --git a/include/linux/efi.h b/include/linux/efi.h index ccbc35479684..8eb9a1276ba7 100644 --- a/include/linux/efi.h @@ -3140,125 +2742,6 @@ index 590ba29c85ab..02153d857531 100644 } int module_sig_check(struct load_info *info, int flags) -diff --git a/net/can/bcm.c b/net/can/bcm.c -index a4bef2c48a55..bdf53241bd7b 100644 ---- a/net/can/bcm.c -+++ b/net/can/bcm.c -@@ -58,6 +58,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -92,6 +93,8 @@ MODULE_ALIAS("can-proto-2"); - - #define BCM_MIN_NAMELEN CAN_REQUIRED_SIZE(struct sockaddr_can, can_ifindex) - -+static struct workqueue_struct *bcm_wq; -+ - /* - * easy access to the first 64 bit of can(fd)_frame payload. cp->data is - * 64 bit aligned so the offset has to be multiples of 8 which is ensured -@@ -105,6 +108,7 @@ static inline u64 get_u64(const struct canfd_frame *cp, int offset) - struct bcm_op { - struct list_head list; - struct rcu_head rcu; -+ struct work_struct work; - int ifindex; - canid_t can_id; - u32 flags; -@@ -793,9 +797,12 @@ static struct bcm_op *bcm_find_op(struct list_head *ops, - return NULL; - } - --static void bcm_free_op_rcu(struct rcu_head *rcu_head) -+static void bcm_free_op_work(struct work_struct *work) - { -- struct bcm_op *op = container_of(rcu_head, struct bcm_op, rcu); -+ struct bcm_op *op = container_of(work, struct bcm_op, work); -+ -+ hrtimer_cancel(&op->timer); -+ hrtimer_cancel(&op->thrtimer); - - if ((op->frames) && (op->frames != &op->sframe)) - kfree(op->frames); -@@ -803,9 +810,23 @@ static void bcm_free_op_rcu(struct rcu_head *rcu_head) - if ((op->last_frames) && (op->last_frames != &op->last_sframe)) - kfree(op->last_frames); - -+ /* the last possible access to op->timer/op->thrtimer has now -+ * happened above via hrtimer_cancel() - op->sk is no longer -+ * needed by any pending timer callback, so drop our reference -+ */ -+ sock_put(op->sk); -+ - kfree(op); - } - -+static void bcm_free_op_rcu(struct rcu_head *rcu_head) -+{ -+ struct bcm_op *op = container_of(rcu_head, struct bcm_op, rcu); -+ -+ INIT_WORK(&op->work, bcm_free_op_work); -+ queue_work(bcm_wq, &op->work); -+} -+ - static void bcm_remove_op(struct bcm_op *op) - { - hrtimer_cancel(&op->timer); -@@ -1060,6 +1081,7 @@ static int bcm_tx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg, - - /* bcm_can_tx / bcm_tx_timeout_handler needs this */ - op->sk = sk; -+ sock_hold(sk); - op->ifindex = ifindex; - - /* initialize uninitialized (kzalloc) structure */ -@@ -1221,6 +1243,7 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg, - - /* bcm_can_tx / bcm_tx_timeout_handler needs this */ - op->sk = sk; -+ sock_hold(sk); - op->ifindex = ifindex; - - /* ifindex for timeout events w/o previous frame reception */ -@@ -1839,11 +1862,15 @@ static int __init bcm_module_init(void) - { - int err; - -+ bcm_wq = alloc_workqueue("can-bcm-wq", WQ_UNBOUND, 0); -+ if (!bcm_wq) -+ return -ENOMEM; -+ - pr_info("can: broadcast manager protocol\n"); - - err = register_pernet_subsys(&canbcm_pernet_ops); - if (err) -- return err; -+ goto register_pernet_failed; - - err = register_netdevice_notifier(&canbcm_notifier); - if (err) -@@ -1861,6 +1888,8 @@ static int __init bcm_module_init(void) - unregister_netdevice_notifier(&canbcm_notifier); - register_notifier_failed: - unregister_pernet_subsys(&canbcm_pernet_ops); -+register_pernet_failed: -+ destroy_workqueue(bcm_wq); - return err; - } - -@@ -1869,6 +1898,8 @@ static void __exit bcm_module_exit(void) - can_proto_unregister(&bcm_can_proto); - unregister_netdevice_notifier(&canbcm_notifier); - unregister_pernet_subsys(&canbcm_pernet_ops); -+ rcu_barrier(); -+ destroy_workqueue(bcm_wq); - } - - module_init(bcm_module_init); diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 8e6f3a734ba0..e75d2932475a 100644 --- a/net/packet/af_packet.c @@ -3276,20 +2759,6 @@ index 8e6f3a734ba0..e75d2932475a 100644 register_prot_hook(sk); spin_unlock(&po->bind_lock); -diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c -index 20f7f9ee0b35..3e67600a4a1a 100644 ---- a/net/sched/cls_api.c -+++ b/net/sched/cls_api.c -@@ -4049,6 +4049,9 @@ struct sk_buff *tcf_qevent_handle(struct tcf_qevent *qe, struct Qdisc *sch, stru - skb_do_redirect(skb); - *ret = __NET_XMIT_STOLEN; - return NULL; -+ case TC_ACT_CONSUMED: -+ *ret = __NET_XMIT_STOLEN; -+ return NULL; - } - - return skb; diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 0718e39cedda..10e94a1b8b6e 100644 --- a/scripts/Makefile.lib diff --git a/sources b/sources index 8901f69ea..48e3e35ca 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-7.1.4.tar.xz) = 164f7c0353dfcf1eaacf886530273271d473314a9f99d9441a63bfc24368c8d2f194552bd4800dd440bf824598cbd74263b1b544dc61307517b8208acf9b4a7a -SHA512 (kernel-abi-stablelists-7.1.4.tar.xz) = 714afd9080ec29f3f6881b1750bfd2221cb37bde76f6850229d51bc5aa646d2efc52e39945a00a19a5fb4c38c230b6302f97b60a8b810c87b8ca50da178944c5 -SHA512 (kernel-kabi-dw-7.1.4.tar.xz) = 8b0322a90c6897047f21ab53a9aa4875df9ad1f58c4745923ed75aef9a968eb2eea272b80124a88295df61d500d4a67f698a2529fd6811604b613867f0e27fa8 +SHA512 (linux-7.1.5.tar.xz) = 76494c121d81bf6b631128234ad2a8037490521f77664ee74bf9c143dd4d3f282cec571e9f96a63004f88ebfcde376b483dac5ccac4f43f138ab5bbeb8441e03 +SHA512 (kernel-abi-stablelists-7.1.5.tar.xz) = a1cca3fb56cb7cc51ad61a151012690f9f581efe849c091c599971b0b95685582149294344bd54b99b9c11d5d30ff77391c2e00ae7077b922d475f4e7f85b6ca +SHA512 (kernel-kabi-dw-7.1.5.tar.xz) = 5d4c22832b038e1be3fcac0d7f0d9b558f27739714c3f93ff31aa42e35ae5541c9d0d04c7cf17ba7a4b740a5fabc00ef2d3fc15368d4abd0eb372050b1b5fca0