Sync with a9-beta

This commit is contained in:
Andrew Lukoshko 2025-05-17 08:03:44 +00:00
parent cea4e1617c
commit 7cad88d7e9
41 changed files with 181984 additions and 87639 deletions

6
.gitignore vendored
View File

@ -1,6 +1,6 @@
SOURCES/kernel-abi-stablelists-5.14.0-427.37.1.el9_4.tar.bz2
SOURCES/kernel-kabi-dw-5.14.0-427.37.1.el9_4.tar.bz2
SOURCES/linux-5.14.0-427.37.1.el9_4.tar.xz
SOURCES/kernel-abi-stablelists-5.14.0-570.12.1.el9_6.tar.bz2
SOURCES/kernel-kabi-dw-5.14.0-570.12.1.el9_6.tar.bz2
SOURCES/linux-5.14.0-570.12.1.el9_6.tar.xz
SOURCES/nvidiagpuoot001.x509
SOURCES/rheldup3.x509
SOURCES/rhelima.x509

View File

@ -1,4 +1,9 @@
4ab2a38d8cad4ee2d5798f6fe63e3090b20359c8 SOURCES/kernel-abi-stablelists-5.14.0-427.37.1.el9_4.tar.bz2
d0c04162d4f2ab56e56e57851bef61f216830fc5 SOURCES/kernel-kabi-dw-5.14.0-427.37.1.el9_4.tar.bz2
3b91b73d33a59707c315d99c5afdf6d0bb4e7594 SOURCES/linux-5.14.0-427.37.1.el9_4.tar.xz
34966a14caa2bbb9ee4185077b4fe3598016ec4f SOURCES/kernel-abi-stablelists-5.14.0-570.12.1.el9_6.tar.bz2
8dc54e9218efa4996268d279bba133d97a7de60e SOURCES/kernel-kabi-dw-5.14.0-570.12.1.el9_6.tar.bz2
a1df472f7f6c8eac39781cbf5294718bd392cfe8 SOURCES/linux-5.14.0-570.12.1.el9_6.tar.xz
4fff8080e88afffc06d8ef5004db8d53bb21237f SOURCES/nvidiagpuoot001.x509
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
99e571f9de4188f3b5fdf1f84ff73f6cc4bb6a0e SOURCES/rhelima.x509
61d5a223ff0c79189505abae77e0087c4b2d2b47 SOURCES/rhelima_centos.x509
f882610d2554fef65703e5d3c342f005af0390ad SOURCES/rhelimaca1.x509
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509

View File

@ -1,18 +1,17 @@
From a84c0fed2a608f271056c7ac33abfcd276929a70 Mon Sep 17 00:00:00 2001
From: Andrew Lukoshko <alukoshko@almalinux.org>
Date: Tue, 28 May 2024 09:47:52 +0000
From 2ecae960349c68360744ed3cba0c47ad18b402cc Mon Sep 17 00:00:00 2001
From: eabdullin <eabdullin@almalinux.org>
Date: Tue, 11 Mar 2025 10:22:08 +0300
Subject: [PATCH] Enable all disabled pci devices by moving to unmaintained
list
---
kernel/rh_messages.h | 66 ++++++++++++++++++++++----------------------
1 file changed, 33 insertions(+), 33 deletions(-)
kernel/rh_messages.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
index 2ae3f94ad..52555dbbf 100644
index 647d7b9a4..483824c9c 100644
--- a/kernel/rh_messages.h
+++ b/kernel/rh_messages.h
@@ -121,6 +121,39 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
@@ -123,6 +123,10 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
};
static const struct pci_device_id rh_disabled_pci_devices[] = {
@ -20,76 +19,20 @@ index 2ae3f94ad..52555dbbf 100644
+};
+
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
+ { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
+ { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
{ 0x1011, 0x0046, 0x103c, 0x10c2 },
{ 0x1011, 0x0046, 0x9005, 0x0364 },
{ 0x1011, 0x0046, 0x9005, 0x0365 },
@@ -273,37 +306,4 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
{0} /* Terminating entry */
};
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
- { 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
- { 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
- { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
- { 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
- { 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
- { 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
- { 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
@@ -288,10 +292,6 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
{ 0x1077, 0x8022, PCI_ANY_ID, PCI_ANY_ID },
{ 0x1077, 0x8032, PCI_ANY_ID, PCI_ANY_ID },
{ 0x1077, 0x8042, PCI_ANY_ID, PCI_ANY_ID },
- {0} /* Terminating entry */
-};
-
#endif /* __RH_MESSAGES_H */
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
{ 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
{ 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
{ 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
--
2.27.0
2.39.5 (Apple Git-154)

View File

@ -1,32 +0,0 @@
From 5c3f4066462a5f6cac04d3dd81c9f551fabbc6c7 Mon Sep 17 00:00:00 2001
From: Keith Busch <kbusch@kernel.org>
Date: Thu, 12 Oct 2023 11:13:51 -0700
Subject: [PATCH] nvme-pci: add BOGUS_NID for Intel 0a54 device
These ones claim cmic and nmic capable, so need special consideration to ignore
their duplicate identifiers.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217981
Reported-by: welsh@cassens.com
Signed-off-by: Keith Busch <kbusch@kernel.org>
---
drivers/nvme/host/pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 347cb5daebc3..3f0c9ee09a12 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3329,7 +3329,8 @@ static const struct pci_device_id nvme_id_table[] = {
{ PCI_VDEVICE(INTEL, 0x0a54), /* Intel P4500/P4600 */
.driver_data = NVME_QUIRK_STRIPE_SIZE |
NVME_QUIRK_DEALLOCATE_ZEROES |
- NVME_QUIRK_IGNORE_DEV_SUBNQN, },
+ NVME_QUIRK_IGNORE_DEV_SUBNQN |
+ NVME_QUIRK_BOGUS_NID, },
{ PCI_VDEVICE(INTEL, 0x0a55), /* Dell Express Flash P4600 */
.driver_data = NVME_QUIRK_STRIPE_SIZE |
NVME_QUIRK_DEALLOCATE_ZEROES, },
--
2.27.0

View File

@ -1,5 +1,5 @@
RHEL_MAJOR = 9
RHEL_MINOR = 4
RHEL_MINOR = 6
#
# RHEL_RELEASE
@ -12,7 +12,7 @@ RHEL_MINOR = 4
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
RHEL_RELEASE = 427.37.1
RHEL_RELEASE = 570.12.1
#
# ZSTREAM

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
diff -aruN linux-5.14.0-362.8.1.el9_3/arch/powerpc/kvm/book3s_64_vio_hv.c linux-5.14.0-362.8.1.el9_3.alma/arch/powerpc/kvm/book3s_64_vio_hv.c
--- linux-5.14.0-362.8.1.el9_3/arch/powerpc/kvm/book3s_64_vio_hv.c 2023-11-07 20:57:43
+++ linux-5.14.0-362.8.1.el9_3.alma/arch/powerpc/kvm/book3s_64_vio_hv.c 2023-12-07 17:59:41
@@ -488,7 +488,7 @@
/*
* used to check for invalidations in progress
*/
- mmu_seq = kvm->mmu_notifier_seq;
+ mmu_seq = kvm->mmu_invalidate_seq;
smp_rmb();
stt = kvmppc_find_table(vcpu->kvm, liobn);

View File

@ -1,66 +0,0 @@
From d00ae31fa2fc7ce5ed8d60b9fb10adb5c99a792b Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd@google.com>
Date: Thu, 8 Jun 2023 12:22:39 -0700
Subject: [PATCH] powerpc: kvmppc_unmap_free_pmd() pte_offset_kernel()
kvmppc_unmap_free_pmd() use pte_offset_kernel(), like everywhere else
in book3s_64_mmu_radix.c: instead of pte_offset_map(), which will come
to need a pte_unmap() to balance it.
But note that this is a more complex case than most: see those -EAGAINs
in kvmppc_create_pte(), which is coping with kvmppc races beween page
table and huge entry, of the kind which we are expecting to address
in pte_offset_map() - this might want to be revisited in future.
Link: https://lkml.kernel.org/r/c76aa421-aec3-4cc8-cc61-4130f2e27e1@google.com
Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greg Ungerer <gerg@linux-m68k.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: John David Anglin <dave.anglin@bell.net>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c
index 461307b89c3a0a..572707858d65d4 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_radix.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c
@@ -509,7 +509,7 @@ static void kvmppc_unmap_free_pmd(struct kvm *kvm, pmd_t *pmd, bool full,
} else {
pte_t *pte;
- pte = pte_offset_map(p, 0);
+ pte = pte_offset_kernel(p, 0);
kvmppc_unmap_free_pte(kvm, pte, full, lpid);
pmd_clear(p);
}

View File

@ -12,11 +12,19 @@ dracutmodules+=" base systemd systemd-initrd dracut-systemd dbus dbus-broker usr
dracutmodules+=" dm lvm rootfs-block fs-lib "
# modules: tpm and crypto
dracutmodules+=" crypt crypt-loop tpm2-tss "
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
# WALinuxagent-cvm with CVM specific udev rules
dracutmodules+=" walinuxagentcvm "
# modules: root disk integrity protection
dracutmodules+=" systemd-veritysetup "
# modules: FIPS
dracutmodules+=" fips "
# FIPS mode requires early crypto drivers test
drivers+=" =crypto "
# drivers: virtual buses, pci
drivers+=" virtio-pci virtio-mmio " # qemu-kvm
drivers+=" hv-vmbus pci-hyperv " # hyperv
@ -31,8 +39,8 @@ drivers+=" xen-blkfront " # xen
# root encryption
drivers+=" dm_crypt "
# root disk integrity protection
drivers+=" dm_verity overlay "
# filesystems
filesystems+=" vfat ext4 xfs overlay "
# systemd-pcrphase
install_items+=" /lib/systemd/system/systemd-pcrphase-initrd.service /usr/lib/systemd/systemd-pcrphase /usr/lib/systemd/system/initrd.target.wants/systemd-pcrphase-initrd.service "

View File

@ -14,7 +14,7 @@
# listed here.
# Overrides is individual modules which need to remain in kernel-core due to deps.
overrides="cec isst_if_common isst_tpmi_core isst_tpmi intel_vsec intel_vsec_tpmi"
overrides="cec isst_if_common isst_tpmi_core isst_tpmi intel_vsec intel_vsec_tpmi wmi"
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
@ -33,13 +33,13 @@ scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2
usbdrvs="atm image misc serial wusbcore"
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs sysv ubifs ufs"
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via xe"
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 video"
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

View File

@ -3,10 +3,16 @@ product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: cki.tier1-aarch64.functional}
- !PassingTestCaseRule {test_case_name: cki.tier1-ppc64le.functional}
- !PassingTestCaseRule {test_case_name: cki.tier1-s390x.functional}
- !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-ppc64le.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-aws-ci_x86_64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-aws-ci_aarch64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-azure-ci_x86_64.brew-build.tier1.functional}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

129219
SOURCES/kernel.changelog Normal file

File diff suppressed because it is too large Load Diff

View File

@ -119,19 +119,6 @@ rds.ko
rds_rdma.ko
rds_tcp.ko
rose.ko
sch_atm.ko
sch_cbq.ko
sch_choke.ko
sch_drr.ko
sch_dsmark.ko
sch_gred.ko
sch_mqprio.ko
sch_multiq.ko
sch_netem.ko
sch_qfq.ko
sch_red.ko
sch_sfb.ko
sch_teql.ko
sctp.ko
sctp_diag.ko
sctp_probe.ko
@ -158,6 +145,7 @@ tcp_veno.ko
tcp_westwood.ko
tcp_yeah.ko
tekram-sir.ko
test_lockup.ko
tmdc.ko
toim3232-sir.ko
trancevibrator.ko
@ -166,11 +154,8 @@ twidjoy.ko
ubifs.ko
ufs.ko
umc.ko
usbip-core.ko
usbip-host.ko
uwb.ko
vcan.ko
vhci-hcd.ko
w1_bq27000.ko
w1_ds2408.ko
w1_ds2423.ko

View File

@ -13,6 +13,7 @@ qos-test
resource_kunit
soc-topology-test
soc-utils-test
soc-card-test
string-stream-test
test_linear_ranges
test_bits
@ -39,6 +40,7 @@ test_klp_callbacks_busy
test_klp_callbacks_mod
test_klp_livepatch
test_klp_shadow_vars
test_klp_syscall
test_klp_state
test_klp_state2
test_klp_state3
@ -68,6 +70,8 @@ drm_dp_mst_helper_test
drm_format_helper_test
drm_format_test
drm_framebuffer_test
drm_gem_shmem_test
drm_hdmi_state_helper_test
drm_kunit_helpers
drm_mm_test
drm_plane_helper_test
@ -89,3 +93,13 @@ regmap-kunit
cfg80211-tests
mac80211-tests
wwan_hwsim
checksum_kunit
arm-smmu-v3-test
iwlwifi-tests
iwlmvm-tests
sound_kunit
amd-pstate-ut
ptp_mock
usbip-core
usbip-host
vhci-hcd

View File

@ -1,7 +1,7 @@
From eaaaed137eccb9e8f3a88f6297e214f53885196f Mon Sep 17 00:00:00 2001
From 524ab50336b1190547ceb8074260a1fbebfee0be Mon Sep 17 00:00:00 2001
From: Sean Christopherson <seanjc@google.com>
Date: Mon, 6 Dec 2021 20:54:14 +0100
Subject: [PATCH] KVM: PPC: Avoid referencing userspace memory region in
Subject: [PATCH 1/3] KVM: PPC: Avoid referencing userspace memory region in
memslot updates
For PPC HV, get the number of pages directly from the new memslot instead
@ -25,10 +25,10 @@ Message-Id: <1e97fb5198be25f98ef82e63a8d770c682264cc9.1638817639.git.maciej.szmi
6 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index b01760dd1374df..935c58dc38c493 100644
index 5c80c4955..6874cd89d 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -200,12 +200,10 @@ extern void kvmppc_core_destroy_vm(struct kvm *kvm);
@@ -199,12 +199,10 @@ extern void kvmppc_core_destroy_vm(struct kvm *kvm);
extern void kvmppc_core_free_memslot(struct kvm *kvm,
struct kvm_memory_slot *slot);
extern int kvmppc_core_prepare_memory_region(struct kvm *kvm,
@ -41,7 +41,7 @@ index b01760dd1374df..935c58dc38c493 100644
struct kvm_memory_slot *old,
const struct kvm_memory_slot *new,
enum kvm_mr_change change);
@@ -275,12 +273,10 @@ struct kvmppc_ops {
@@ -274,12 +272,10 @@ struct kvmppc_ops {
int (*get_dirty_log)(struct kvm *kvm, struct kvm_dirty_log *log);
void (*flush_memslot)(struct kvm *kvm, struct kvm_memory_slot *memslot);
int (*prepare_memory_region)(struct kvm *kvm,
@ -55,7 +55,7 @@ index b01760dd1374df..935c58dc38c493 100644
const struct kvm_memory_slot *new,
enum kvm_mr_change change);
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 8250e8308674c7..6d525285dbe8f2 100644
index 64fd4b3ea..cb7b5f365 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -847,21 +847,19 @@ void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot)
@ -83,10 +83,10 @@ index 8250e8308674c7..6d525285dbe8f2 100644
bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range)
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index d7594d49d288a3..2b59ecc5f8c698 100644
index 9c3c9fd5e..7f4c188f3 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -4854,15 +4854,12 @@ static void kvmppc_core_free_memslot_hv(struct kvm_memory_slot *slot)
@@ -4777,15 +4777,12 @@ static void kvmppc_core_free_memslot_hv(struct kvm_memory_slot *slot)
}
static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
@ -103,7 +103,7 @@ index d7594d49d288a3..2b59ecc5f8c698 100644
sizeof(*new->arch.rmap)));
if (!new->arch.rmap)
return -ENOMEM;
@@ -4874,20 +4871,17 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
@@ -4797,20 +4794,17 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
}
static void kvmppc_core_commit_memory_region_hv(struct kvm *kvm,
@ -127,10 +127,10 @@ index d7594d49d288a3..2b59ecc5f8c698 100644
/*
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index ffb559cf25f435..30426e8c8cf66b 100644
index 7891b9d0c..c0ae926af 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1899,7 +1899,6 @@ static void kvmppc_core_flush_memslot_pr(struct kvm *kvm,
@@ -1892,7 +1892,6 @@ static void kvmppc_core_flush_memslot_pr(struct kvm *kvm,
}
static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
@ -138,7 +138,7 @@ index ffb559cf25f435..30426e8c8cf66b 100644
const struct kvm_memory_slot *old,
struct kvm_memory_slot *new,
enum kvm_mr_change change)
@@ -1908,7 +1907,6 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
@@ -1901,7 +1900,6 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
}
static void kvmppc_core_commit_memory_region_pr(struct kvm *kvm,
@ -147,10 +147,10 @@ index ffb559cf25f435..30426e8c8cf66b 100644
const struct kvm_memory_slot *new,
enum kvm_mr_change change)
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
index 93c2ac2bee0913..53b4c9597c303e 100644
index b06ca6646..6cf2db284 100644
--- a/arch/powerpc/kvm/booke.c
+++ b/arch/powerpc/kvm/booke.c
@@ -1821,7 +1821,6 @@ void kvmppc_core_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
@@ -1806,7 +1806,6 @@ void kvmppc_core_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
}
int kvmppc_core_prepare_memory_region(struct kvm *kvm,
@ -158,7 +158,7 @@ index 93c2ac2bee0913..53b4c9597c303e 100644
const struct kvm_memory_slot *old,
struct kvm_memory_slot *new,
enum kvm_mr_change change)
@@ -1830,7 +1829,6 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,
@@ -1815,7 +1814,6 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,
}
void kvmppc_core_commit_memory_region(struct kvm *kvm,
@ -167,10 +167,10 @@ index 93c2ac2bee0913..53b4c9597c303e 100644
const struct kvm_memory_slot *new,
enum kvm_mr_change change)
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index e875874cf8367d..575140ecb23c82 100644
index 818815e15..f8f39a858 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -703,7 +703,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
@@ -686,7 +686,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
struct kvm_memory_slot *new,
enum kvm_mr_change change)
{
@ -179,7 +179,7 @@ index e875874cf8367d..575140ecb23c82 100644
}
void kvm_arch_commit_memory_region(struct kvm *kvm,
@@ -712,7 +712,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
@@ -694,7 +694,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
const struct kvm_memory_slot *new,
enum kvm_mr_change change)
{
@ -188,3 +188,32 @@ index e875874cf8367d..575140ecb23c82 100644
}
void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
--
2.39.5 (Apple Git-154)
From 8c62d250a23bbbb1ecd84d4d475e7623810275aa Mon Sep 17 00:00:00 2001
From: eabdullin <eabdullin@almalinux.org>
Date: Tue, 8 Apr 2025 10:13:43 +0300
Subject: [PATCH 3/3] powerpc/kvm: use mmu_invalidate_seq instead of
mmu_notifier_seq
---
arch/powerpc/kvm/book3s_64_vio_hv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kvm/book3s_64_vio_hv.c b/arch/powerpc/kvm/book3s_64_vio_hv.c
index f38dfe195..16e5872a1 100644
--- a/arch/powerpc/kvm/book3s_64_vio_hv.c
+++ b/arch/powerpc/kvm/book3s_64_vio_hv.c
@@ -488,7 +488,7 @@ long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
/*
* used to check for invalidations in progress
*/
- mmu_seq = kvm->mmu_notifier_seq;
+ mmu_seq = kvm->mmu_invalidate_seq;
smp_rmb();
stt = kvmppc_find_table(vcpu->kvm, liobn);
--
2.39.5 (Apple Git-154)

View File

@ -36,6 +36,7 @@ runpath:
ignore:
- /usr/libexec/kselftests/bpf/urandom_read
- /usr/libexec/kselftests/bpf/no_alu32/urandom_read
- /usr/libexec/kselftests/bpf/cpuv4/urandom_read
debuginfo:
ignore:

45
SOURCES/uki_addons.json Normal file
View File

@ -0,0 +1,45 @@
{
"virt": {
"rhel": {
"aarch64": {
"crashkernel-default.addon": [
"crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M\n"
]
}
},
"common": {
"fips-enable.addon": [
"fips=1\n"
],
"fips-disable.addon": [
"fips=0\n"
]
}
},
"common": {
"crashkernel-512M.addon": [
"crashkernel=512M\n"
],
"crashkernel-192M.addon": [
"crashkernel=192M\n"
],
"crashkernel-2G.addon": [
"crashkernel=2G\n"
],
"crashkernel-1536M.addon": [
"crashkernel=1536M\n"
],
"debug.addon": [
"debug\n"
],
"crashkernel-1G.addon": [
"crashkernel=1G\n"
],
"crashkernel-256M.addon": [
"crashkernel=256M\n"
],
"crashkernel-default.addon": [
"crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M\n"
]
}
}

151
SOURCES/uki_create_addons.py Executable file
View File

@ -0,0 +1,151 @@
#!/usr/bin/env python3
#
# This script inspects a given json proving a list of addons, and
# creates an addon for each key/value pair matching the given uki, distro and
# arch provided in input.
#
# Usage: python uki_create_addons.py input_json out_dir uki distro arch
#
# This tool requires the systemd-ukify and systemd-boot packages.
#
# Addon file
#-----------
# Each addon terminates with .addon
# Each addon contains only two types of lines:
# Lines beginning with '#' are description and thus ignored
# All other lines are command line to be added.
# The name of the end resulting addon is taken from the json hierarchy.
# For example, and addon in json['virt']['rhel']['x86_64']['hello.addon'] will
# result in an UKI addon file generated in out_dir called
# hello-virt.rhel.x86_64.addon.efi
#
# The common key, present in any sub-dict in the provided json (except the leaf dict)
# is used as place for default addons when the same addon is not defined deep
# in the hierarchy. For example, if we define test.addon (text: 'test1\n') in
# json['common']['test.addon'] = ['test1\n'] and another test.addon (text: test2) in
# json['virt']['common']['test.addon'] = ['test2'], any other uki except virt
# will have a test.addon.efi with text "test1", and virt will have a
# test.addon.efi with "test2"
#
# sbat.conf
#----------
# This dict is containing the sbat string for *all* addons being created.
# This dict is optional, but when used has to be put in a sub-dict with
# { 'sbat' : { 'sbat.conf' : ['your text here'] }}
# It follows the same syntax as the addon files, meaning '#' is comment and
# the rest is taken as sbat string and feed to ukify.
import os
import sys
import json
import collections
import subprocess
UKIFY_PATH = '/usr/lib/systemd/ukify'
def usage(err):
print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki distro arch')
print(f'Error:{err}')
sys.exit(1)
def check_clean_arguments(input_json, out_dir):
# Remove end '/'
if out_dir[-1:] == '/':
out_dir = out_dir[:-1]
if not os.path.isfile(input_json):
usage(f'input_json {input_json} is not a file, or does not exist!')
if not os.path.isdir(out_dir):
usage(f'out_dir_dir {out_dir} is not a dir, or does not exist!')
return out_dir
UKICmdlineAddon = collections.namedtuple('UKICmdlineAddon', ['name', 'cmdline'])
uki_addons_list = []
uki_addons = {}
addon_sbat_string = None
def parse_lines(lines, rstrip=True):
cmdline = ''
for l in lines:
l = l.lstrip()
if not l:
continue
if l[0] == '#':
continue
# rstrip is used only for addons cmdline, not sbat.conf, as it replaces
# return lines with spaces.
if rstrip:
l = l.rstrip() + ' '
cmdline += l
if cmdline == '':
return ''
return cmdline
def parse_all_addons(in_obj):
global addon_sbat_string
for el in in_obj.keys():
# addon found: copy it in our global dict uki_addons
if el.endswith('.addon'):
uki_addons[el] = in_obj[el]
if 'sbat' in in_obj and 'sbat.conf' in in_obj['sbat']:
# sbat.conf found: override sbat with the most specific one found
addon_sbat_string = parse_lines(in_obj['sbat']['sbat.conf'], rstrip=False)
def recursively_find_addons(in_obj, folder_list):
# end of recursion, leaf directory. Search all addons here
if len(folder_list) == 0:
parse_all_addons(in_obj)
return
# first, check for common folder
if 'common' in in_obj:
parse_all_addons(in_obj['common'])
# second, check if there is a match with the searched folder
if folder_list[0] in in_obj:
folder_next = in_obj[folder_list[0]]
folder_list = folder_list[1:]
recursively_find_addons(folder_next, folder_list)
def parse_in_json(in_json, uki_name, distro, arch):
with open(in_json, 'r') as f:
in_obj = json.load(f)
recursively_find_addons(in_obj, [uki_name, distro, arch])
for addon_name, cmdline in uki_addons.items():
addon_name = addon_name.replace(".addon","")
addon_full_name = f'{addon_name}-{uki_name}.{distro}.{arch}.addon.efi'
cmdline = parse_lines(cmdline).rstrip()
if cmdline:
uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
def create_addons(out_dir):
for uki_addon in uki_addons_list:
out_path = os.path.join(out_dir, uki_addon.name)
cmd = [
f'{UKIFY_PATH}', 'build',
'--cmdline', uki_addon.cmdline,
'--output', out_path]
if addon_sbat_string:
cmd.extend(['--sbat', addon_sbat_string.rstrip()])
subprocess.check_call(cmd, text=True)
if __name__ == "__main__":
argc = len(sys.argv) - 1
if argc != 5:
usage('too few or too many parameters!')
input_json = sys.argv[1]
out_dir = sys.argv[2]
uki_name = sys.argv[3]
distro = sys.argv[4]
arch = sys.argv[5]
out_dir = check_clean_arguments(input_json, out_dir)
parse_in_json(input_json, uki_name, distro, arch)
create_addons(out_dir)

File diff suppressed because it is too large Load Diff