diff --git a/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch b/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch index 1cdc5ee..93dba9f 100644 --- a/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch +++ b/patches/kernel/0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch @@ -21,7 +21,7 @@ Signed-off-by: Thomas Lamprecht 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init/Makefile b/init/Makefile -index ec557ada3c12..72095034f338 100644 +index cbac576c57d6..479b1253fcbe 100644 --- a/init/Makefile +++ b/init/Makefile @@ -29,7 +29,7 @@ preempt-flag-$(CONFIG_PREEMPT_DYNAMIC) := PREEMPT_DYNAMIC diff --git a/patches/kernel/0004-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch b/patches/kernel/0004-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch index b32ab25..1f8e722 100644 --- a/patches/kernel/0004-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch +++ b/patches/kernel/0004-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch @@ -55,10 +55,10 @@ Signed-off-by: Thomas Lamprecht 2 files changed, 111 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 9f2bcb8b7f96..a60a4220be95 100644 +index 90ddf08e8409..eedfabda597f 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4281,6 +4281,15 @@ +@@ -4285,6 +4285,15 @@ Also, it enforces the PCI Local Bus spec rule that those bits should be 0 in system reset events (useful for kexec/kdump cases). @@ -75,7 +75,7 @@ index 9f2bcb8b7f96..a60a4220be95 100644 Safety option to keep boot IRQs enabled. This should never be necessary. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 139df46ed306..08450329f1a3 100644 +index b3a55f2cab46..baef591d10f6 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -287,6 +287,106 @@ static int __init pci_apply_final_quirks(void) diff --git a/patches/kernel/0006-net-core-downgrade-unregister_netdevice-refcount-lea.patch b/patches/kernel/0006-net-core-downgrade-unregister_netdevice-refcount-lea.patch index 2d16ecb..b66932d 100644 --- a/patches/kernel/0006-net-core-downgrade-unregister_netdevice-refcount-lea.patch +++ b/patches/kernel/0006-net-core-downgrade-unregister_netdevice-refcount-lea.patch @@ -14,10 +14,10 @@ Signed-off-by: Fabian Grünbichler 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c -index fe8c46c46505..db9ce84f2006 100644 +index 3c5106cd0602..3634982362f7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10298,7 +10298,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list) +@@ -10352,7 +10352,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list) if (time_after(jiffies, warning_time + READ_ONCE(netdev_unregister_timeout_secs) * HZ)) { list_for_each_entry(dev, list, todo_list) { diff --git a/patches/kernel/0008-kvm-xsave-set-mask-out-PKRU-bit-in-xfeatures-if-vCPU.patch b/patches/kernel/0008-kvm-xsave-set-mask-out-PKRU-bit-in-xfeatures-if-vCPU.patch index ea34cc7..f1d9ca8 100644 --- a/patches/kernel/0008-kvm-xsave-set-mask-out-PKRU-bit-in-xfeatures-if-vCPU.patch +++ b/patches/kernel/0008-kvm-xsave-set-mask-out-PKRU-bit-in-xfeatures-if-vCPU.patch @@ -108,10 +108,10 @@ index b1658c0de847..12a02851ff57 100644 int cpuid_query_maxphyaddr(struct kvm_vcpu *vcpu); diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 7bcf1a76a6ab..aa225f430299 100644 +index a5c8a01f7e7e..632d2d18041a 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -5424,6 +5424,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu, +@@ -5426,6 +5426,19 @@ static int kvm_vcpu_ioctl_x86_set_xsave(struct kvm_vcpu *vcpu, if (fpstate_is_confidential(&vcpu->arch.guest_fpu)) return 0; diff --git a/patches/kernel/0009-allow-opt-in-to-allow-pass-through-on-broken-hardwar.patch b/patches/kernel/0009-allow-opt-in-to-allow-pass-through-on-broken-hardwar.patch index 3d3b29c..d5e9b83 100644 --- a/patches/kernel/0009-allow-opt-in-to-allow-pass-through-on-broken-hardwar.patch +++ b/patches/kernel/0009-allow-opt-in-to-allow-pass-through-on-broken-hardwar.patch @@ -11,7 +11,7 @@ Signed-off-by: Thomas Lamprecht 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c -index 656b2150643e..06fefd2a4bfa 100644 +index 15e2649b25ef..752f77e285f2 100644 --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -298,6 +298,7 @@ static int dmar_map_gfx = 1; @@ -32,7 +32,7 @@ index 656b2150643e..06fefd2a4bfa 100644 } else { pr_notice("Unknown option - '%s'\n", str); } -@@ -2503,7 +2507,7 @@ static bool device_rmrr_is_relaxable(struct device *dev) +@@ -2504,7 +2508,7 @@ static bool device_rmrr_is_relaxable(struct device *dev) return false; pdev = to_pci_dev(dev); diff --git a/patches/kernel/0011-KVM-nSVM-Advertise-support-for-flush-by-ASID.patch b/patches/kernel/0011-KVM-nSVM-Advertise-support-for-flush-by-ASID.patch index d7d46c1..bdfc0f0 100644 --- a/patches/kernel/0011-KVM-nSVM-Advertise-support-for-flush-by-ASID.patch +++ b/patches/kernel/0011-KVM-nSVM-Advertise-support-for-flush-by-ASID.patch @@ -24,10 +24,10 @@ Signed-off-by: Thomas Lamprecht 1 file changed, 1 insertion(+) diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c -index c8466bc64b87..6154eda73d41 100644 +index 99832814341c..e8bb2bfd1ba1 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c -@@ -4983,6 +4983,7 @@ static __init void svm_set_cpu_caps(void) +@@ -4985,6 +4985,7 @@ static __init void svm_set_cpu_caps(void) if (nested) { kvm_cpu_cap_set(X86_FEATURE_SVM); kvm_cpu_cap_set(X86_FEATURE_VMCBCLEAN); diff --git a/patches/kernel/0013-Revert-UBUNTU-SAUCE-ceph-make-sure-all-the-files-suc.patch b/patches/kernel/0013-Revert-UBUNTU-SAUCE-ceph-make-sure-all-the-files-suc.patch deleted file mode 100644 index 17f31d8..0000000 --- a/patches/kernel/0013-Revert-UBUNTU-SAUCE-ceph-make-sure-all-the-files-suc.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Thomas Lamprecht -Date: Tue, 7 Nov 2023 09:26:16 +0100 -Subject: [PATCH] Revert "UBUNTU: SAUCE: ceph: make sure all the files - successfully put before unmounting" - -This reverts commit a53dba9297be9597eac7b17738723bd44bac97ea, which -was an early attempt to fix a bug that was actually present in the -ceph layer, as confirmed by the original patch author [0], and fixed -actually there now [1]. - -[0]: https://lore.kernel.org/all/8443166a-7182-7777-a489-14b5dab20bd5@redhat.com/ -[1]: https://patchwork.kernel.org/project/ceph-devel/patch/20221221093031.132792-1-xiubli@redhat.com/ -Hide - -Signed-off-by: Thomas Lamprecht ---- - fs/crypto/keyring.c | 6 +----- - fs/inode.c | 5 +---- - 2 files changed, 2 insertions(+), 9 deletions(-) - -diff --git a/fs/crypto/keyring.c b/fs/crypto/keyring.c -index 147b9a11c62c..7cbb1fd872ac 100644 ---- a/fs/crypto/keyring.c -+++ b/fs/crypto/keyring.c -@@ -237,11 +237,7 @@ void fscrypt_destroy_keyring(struct super_block *sb) - * with ->mk_secret. There should be no structural refs - * beyond the one associated with the active ref. - */ -- if (refcount_read(&mk->mk_active_refs) != 1) { -- printk("fscrypt_destroy_keyring: mk_active_refs = %d\n", -- refcount_read(&mk->mk_active_refs)); -- WARN_ON_ONCE(refcount_read(&mk->mk_active_refs) != 1); -- } -+ WARN_ON_ONCE(refcount_read(&mk->mk_active_refs) != 1); - WARN_ON_ONCE(refcount_read(&mk->mk_struct_refs) != 1); - WARN_ON_ONCE(!is_master_key_secret_present(&mk->mk_secret)); - wipe_master_key_secret(&mk->mk_secret); -diff --git a/fs/inode.c b/fs/inode.c -index 3b8abad427b4..67611a360031 100644 ---- a/fs/inode.c -+++ b/fs/inode.c -@@ -716,11 +716,8 @@ void evict_inodes(struct super_block *sb) - again: - spin_lock(&sb->s_inode_list_lock); - list_for_each_entry_safe(inode, next, &sb->s_inodes, i_sb_list) { -- if (atomic_read(&inode->i_count)) { -- printk("evict_inodes inode %p, i_count = %d, was skipped!\n", -- inode, atomic_read(&inode->i_count)); -+ if (atomic_read(&inode->i_count)) - continue; -- } - - spin_lock(&inode->i_lock); - if (inode->i_state & (I_NEW | I_FREEING | I_WILL_FREE)) { diff --git a/patches/kernel/0016-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Powe.patch b/patches/kernel/0013-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Powe.patch similarity index 100% rename from patches/kernel/0016-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Powe.patch rename to patches/kernel/0013-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Powe.patch diff --git a/patches/kernel/0018-fix-5077-aacraid-resets.patch b/patches/kernel/0014-Revert-scsi-aacraid-Reply-queue-mapping-to-CPUs-base.patch similarity index 91% rename from patches/kernel/0018-fix-5077-aacraid-resets.patch rename to patches/kernel/0014-Revert-scsi-aacraid-Reply-queue-mapping-to-CPUs-base.patch index 1b8380d..16cf427 100644 --- a/patches/kernel/0018-fix-5077-aacraid-resets.patch +++ b/patches/kernel/0014-Revert-scsi-aacraid-Reply-queue-mapping-to-CPUs-base.patch @@ -1,8 +1,8 @@ -From c5becf57dd5659c687d41d623a69f42d63f59eb2 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Martin K. Petersen" Date: Fri, 8 Dec 2023 12:09:38 -0500 -Subject: Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ - affinity" +Subject: [PATCH] Revert "scsi: aacraid: Reply queue mapping to CPUs based on + IRQ affinity" This reverts commit 9dc704dcc09eae7d21b5da0615eb2ed79278f63e. @@ -21,7 +21,7 @@ Signed-off-by: Martin K. Petersen 4 files changed, 3 insertions(+), 43 deletions(-) diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h -index 73b6ac0c01f54..7d5a155073c62 100644 +index 73b6ac0c01f5..7d5a155073c6 100644 --- a/drivers/scsi/aacraid/aacraid.h +++ b/drivers/scsi/aacraid/aacraid.h @@ -1678,7 +1678,6 @@ struct aac_dev @@ -33,7 +33,7 @@ index 73b6ac0c01f54..7d5a155073c62 100644 #define aac_adapter_interrupt(dev) \ diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c -index 013a9a334972e..25cee03d7f973 100644 +index 013a9a334972..25cee03d7f97 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c @@ -223,12 +223,8 @@ int aac_fib_setup(struct aac_dev * dev) @@ -51,7 +51,7 @@ index 013a9a334972e..25cee03d7f973 100644 * Null out fields that depend on being zero at the start of * each I/O diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c -index c4a36c0be527c..68f4dbcfff492 100644 +index c4a36c0be527..68f4dbcfff49 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -19,7 +19,6 @@ @@ -62,7 +62,7 @@ index c4a36c0be527c..68f4dbcfff492 100644 #include #include #include -@@ -505,15 +504,6 @@ common_config: +@@ -505,15 +504,6 @@ static int aac_slave_configure(struct scsi_device *sdev) return 0; } @@ -104,7 +104,7 @@ index c4a36c0be527c..68f4dbcfff492 100644 __aac_shutdown(aac); diff --git a/drivers/scsi/aacraid/src.c b/drivers/scsi/aacraid/src.c -index 61949f3741886..11ef58204e96f 100644 +index 61949f374188..11ef58204e96 100644 --- a/drivers/scsi/aacraid/src.c +++ b/drivers/scsi/aacraid/src.c @@ -493,10 +493,6 @@ static int aac_src_deliver_message(struct fib *fib) @@ -146,6 +146,3 @@ index 61949f3741886..11ef58204e96f 100644 if (native_hba) { if (fib->flags & FIB_CONTEXT_FLAG_NATIVE_HBA_TMF) { --- -cgit 1.2.3-korg - diff --git a/patches/kernel/0014-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-SMU7.patch b/patches/kernel/0014-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-SMU7.patch deleted file mode 100644 index e419466..0000000 --- a/patches/kernel/0014-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-SMU7.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mario Limonciello -Date: Wed, 4 Oct 2023 15:22:52 -0500 -Subject: [PATCH] drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 - -For pptable structs that use flexible array sizes, use flexible arrays. - -Suggested-by: Felix Held -Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2874 -Signed-off-by: Mario Limonciello -Acked-by: Alex Deucher -Signed-off-by: Alex Deucher -(cherry-picked from commit 760efbca74a405dc439a013a5efaa9fadc95a8c3) -Signed-off-by: Fiona Ebner ---- - drivers/gpu/drm/amd/include/pptable.h | 4 ++-- - drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/amd/include/pptable.h b/drivers/gpu/drm/amd/include/pptable.h -index 0b6a057e0a4c..5aac8d545bdc 100644 ---- a/drivers/gpu/drm/amd/include/pptable.h -+++ b/drivers/gpu/drm/amd/include/pptable.h -@@ -78,7 +78,7 @@ typedef struct _ATOM_PPLIB_THERMALCONTROLLER - typedef struct _ATOM_PPLIB_STATE - { - UCHAR ucNonClockStateIndex; -- UCHAR ucClockStateIndices[1]; // variable-sized -+ UCHAR ucClockStateIndices[]; // variable-sized - } ATOM_PPLIB_STATE; - - -@@ -473,7 +473,7 @@ typedef struct _ATOM_PPLIB_STATE_V2 - /** - * Driver will read the first ucNumDPMLevels in this array - */ -- UCHAR clockInfoIndex[1]; -+ UCHAR clockInfoIndex[]; - } ATOM_PPLIB_STATE_V2; - - typedef struct _StateArray{ -diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -index b0ac4d121adc..41444e27bfc0 100644 ---- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -@@ -179,7 +179,7 @@ typedef struct _ATOM_Tonga_MCLK_Dependency_Record { - typedef struct _ATOM_Tonga_MCLK_Dependency_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_MCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_MCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_MCLK_Dependency_Table; - - typedef struct _ATOM_Tonga_SCLK_Dependency_Record { -@@ -194,7 +194,7 @@ typedef struct _ATOM_Tonga_SCLK_Dependency_Record { - typedef struct _ATOM_Tonga_SCLK_Dependency_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_SCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_SCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_SCLK_Dependency_Table; - - typedef struct _ATOM_Polaris_SCLK_Dependency_Record { diff --git a/patches/kernel/0015-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Pola.patch b/patches/kernel/0015-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Pola.patch deleted file mode 100644 index dd82cd5..0000000 --- a/patches/kernel/0015-drm-amd-Fix-UBSAN-array-index-out-of-bounds-for-Pola.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mario Limonciello -Date: Wed, 4 Oct 2023 15:46:44 -0500 -Subject: [PATCH] drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and - Tonga - -For pptable structs that use flexible array sizes, use flexible arrays. - -Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2036742 -Signed-off-by: Mario Limonciello -Acked-by: Alex Deucher -Signed-off-by: Alex Deucher -(cherry-picked from commit 0f0e59075b5c22f1e871fbd508d6e4f495048356) -Signed-off-by: Fiona Ebner ---- - .../gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -index 41444e27bfc0..e0e40b054c08 100644 ---- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h -@@ -164,7 +164,7 @@ typedef struct _ATOM_Tonga_State { - typedef struct _ATOM_Tonga_State_Array { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_State entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_State entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_State_Array; - - typedef struct _ATOM_Tonga_MCLK_Dependency_Record { -@@ -210,7 +210,7 @@ typedef struct _ATOM_Polaris_SCLK_Dependency_Record { - typedef struct _ATOM_Polaris_SCLK_Dependency_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Polaris_SCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Polaris_SCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Polaris_SCLK_Dependency_Table; - - typedef struct _ATOM_Tonga_PCIE_Record { -@@ -222,7 +222,7 @@ typedef struct _ATOM_Tonga_PCIE_Record { - typedef struct _ATOM_Tonga_PCIE_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_PCIE_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_PCIE_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_PCIE_Table; - - typedef struct _ATOM_Polaris10_PCIE_Record { -@@ -235,7 +235,7 @@ typedef struct _ATOM_Polaris10_PCIE_Record { - typedef struct _ATOM_Polaris10_PCIE_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Polaris10_PCIE_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Polaris10_PCIE_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Polaris10_PCIE_Table; - - -@@ -252,7 +252,7 @@ typedef struct _ATOM_Tonga_MM_Dependency_Record { - typedef struct _ATOM_Tonga_MM_Dependency_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_MM_Dependency_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_MM_Dependency_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_MM_Dependency_Table; - - typedef struct _ATOM_Tonga_Voltage_Lookup_Record { -@@ -265,7 +265,7 @@ typedef struct _ATOM_Tonga_Voltage_Lookup_Record { - typedef struct _ATOM_Tonga_Voltage_Lookup_Table { - UCHAR ucRevId; - UCHAR ucNumEntries; /* Number of entries. */ -- ATOM_Tonga_Voltage_Lookup_Record entries[1]; /* Dynamically allocate entries. */ -+ ATOM_Tonga_Voltage_Lookup_Record entries[]; /* Dynamically allocate entries. */ - } ATOM_Tonga_Voltage_Lookup_Table; - - typedef struct _ATOM_Tonga_Fan_Table { diff --git a/patches/kernel/0019-fix-5158-ext4-fallback-complex-scan.patch b/patches/kernel/0015-ext4-fallback-to-complex-scan-if-aligned-scan-doesn-.patch similarity index 74% rename from patches/kernel/0019-fix-5158-ext4-fallback-complex-scan.patch rename to patches/kernel/0015-ext4-fallback-to-complex-scan-if-aligned-scan-doesn-.patch index 349e9e7..49edbb2 100644 --- a/patches/kernel/0019-fix-5158-ext4-fallback-complex-scan.patch +++ b/patches/kernel/0015-ext4-fallback-to-complex-scan-if-aligned-scan-doesn-.patch @@ -1,13 +1,7 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ojaswin Mujoo -To: linux-ext4@vger.kernel.org, "Theodore Ts'o" -Cc: Ritesh Harjani , linux-kernel@vger.kernel.org, - Jan Kara , glandvador@yahoo.com, bugzilla@eyal.emu.id.au -Subject: [PATCH 1/1] ext4: fallback to complex scan if aligned scan doesn't work Date: Fri, 15 Dec 2023 16:49:50 +0530 -Message-Id: -X-Mailer: git-send-email 2.39.3 -In-Reply-To: -References: +Subject: [PATCH] ext4: fallback to complex scan if aligned scan doesn't work Currently in case the goal length is a multiple of stripe size we use ext4_mb_scan_aligned() to find the stripe size aligned physical blocks. @@ -29,10 +23,10 @@ Signed-off-by: Ojaswin Mujoo 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c -index d72b5e3c92ec..63f12ec02485 100644 +index 3711be697a0a..0c81836f092e 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c -@@ -2895,14 +2895,19 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac) +@@ -2894,14 +2894,19 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac) ac->ac_groups_scanned++; if (cr == CR_POWER2_ALIGNED) ext4_mb_simple_scan_group(ac, &e4b); @@ -60,7 +54,3 @@ index d72b5e3c92ec..63f12ec02485 100644 ext4_unlock_group(sb, group); ext4_mb_unload_buddy(&e4b); --- -2.39.3 - - diff --git a/patches/kernel/0017-KVM-x86-Fix-lapic-timer-interrupt-lost-after-loading.patch b/patches/kernel/0017-KVM-x86-Fix-lapic-timer-interrupt-lost-after-loading.patch deleted file mode 100644 index ea8bff6..0000000 --- a/patches/kernel/0017-KVM-x86-Fix-lapic-timer-interrupt-lost-after-loading.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Fri, 24 Nov 2023 17:48:01 +0000 -Subject: [PATCH] KVM: x86: Fix lapic timer interrupt lost after loading a - snapshot. - -commit 9cfec6d097c607e36199cf0cfbb8cf5acbd8e9b2 upstream. - -When running android emulator (which is based on QEMU 2.12) on -certain Intel hosts with kernel version 6.3-rc1 or above, guest -will freeze after loading a snapshot. This is almost 100% -reproducible. By default, the android emulator will use snapshot -to speed up the next launching of the same android guest. So -this breaks the android emulator badly. - -I tested QEMU 8.0.4 from Debian 12 with an Ubuntu 22.04 guest by -running command "loadvm" after "savevm". The same issue is -observed. At the same time, none of our AMD platforms is impacted. -More experiments show that loading the KVM module with -"enable_apicv=false" can workaround it. - -The issue started to show up after commit 8e6ed96cdd50 ("KVM: x86: -fire timer when it is migrated and expired, and in oneshot mode"). -However, as is pointed out by Sean Christopherson, it is introduced -by commit 967235d32032 ("KVM: vmx: clear pending interrupts on -KVM_SET_LAPIC"). commit 8e6ed96cdd50 ("KVM: x86: fire timer when -it is migrated and expired, and in oneshot mode") just makes it -easier to hit the issue. - -Having both commits, the oneshot lapic timer gets fired immediately -inside the KVM_SET_LAPIC call when loading the snapshot. On Intel -platforms with APIC virtualization and posted interrupt processing, -this eventually leads to setting the corresponding PIR bit. However, -the whole PIR bits get cleared later in the same KVM_SET_LAPIC call -by apicv_post_state_restore. This leads to timer interrupt lost. - -The fix is to move vmx_apicv_post_state_restore to the beginning of -the KVM_SET_LAPIC call and rename to vmx_apicv_pre_state_restore. -What vmx_apicv_post_state_restore does is actually clearing any -former apicv state and this behavior is more suitable to carry out -in the beginning. - -Fixes: 967235d32032 ("KVM: vmx: clear pending interrupts on KVM_SET_LAPIC") -Cc: stable@vger.kernel.org -Suggested-by: Sean Christopherson -Signed-off-by: Haitao Shan -Link: https://lore.kernel.org/r/20230913000215.478387-1-hshan@google.com -Signed-off-by: Sean Christopherson -Signed-off-by: Greg Kroah-Hartman -(picked from https://lore.kernel.org/stable/20231124172031.920738810@linuxfoundation.org/) -Signed-off-by: Fiona Ebner ---- - arch/x86/include/asm/kvm-x86-ops.h | 1 + - arch/x86/include/asm/kvm_host.h | 1 + - arch/x86/kvm/lapic.c | 4 ++++ - arch/x86/kvm/vmx/vmx.c | 4 ++-- - 4 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/arch/x86/include/asm/kvm-x86-ops.h b/arch/x86/include/asm/kvm-x86-ops.h -index e3054e3e46d52..9b419f0de713c 100644 ---- a/arch/x86/include/asm/kvm-x86-ops.h -+++ b/arch/x86/include/asm/kvm-x86-ops.h -@@ -108,6 +108,7 @@ KVM_X86_OP_OPTIONAL(vcpu_blocking) - KVM_X86_OP_OPTIONAL(vcpu_unblocking) - KVM_X86_OP_OPTIONAL(pi_update_irte) - KVM_X86_OP_OPTIONAL(pi_start_assignment) -+KVM_X86_OP_OPTIONAL(apicv_pre_state_restore) - KVM_X86_OP_OPTIONAL(apicv_post_state_restore) - KVM_X86_OP_OPTIONAL_RET0(dy_apicv_has_pending_interrupt) - KVM_X86_OP_OPTIONAL(set_hv_timer) -diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h -index f72b30d2238a6..9bdbb1cc03d38 100644 ---- a/arch/x86/include/asm/kvm_host.h -+++ b/arch/x86/include/asm/kvm_host.h -@@ -1690,6 +1690,7 @@ struct kvm_x86_ops { - int (*pi_update_irte)(struct kvm *kvm, unsigned int host_irq, - uint32_t guest_irq, bool set); - void (*pi_start_assignment)(struct kvm *kvm); -+ void (*apicv_pre_state_restore)(struct kvm_vcpu *vcpu); - void (*apicv_post_state_restore)(struct kvm_vcpu *vcpu); - bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *vcpu); - -diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c -index e74e223f46aa3..a3d488608b85d 100644 ---- a/arch/x86/kvm/lapic.c -+++ b/arch/x86/kvm/lapic.c -@@ -2649,6 +2649,8 @@ void kvm_lapic_reset(struct kvm_vcpu *vcpu, bool init_event) - u64 msr_val; - int i; - -+ static_call_cond(kvm_x86_apicv_pre_state_restore)(vcpu); -+ - if (!init_event) { - msr_val = APIC_DEFAULT_PHYS_BASE | MSR_IA32_APICBASE_ENABLE; - if (kvm_vcpu_is_reset_bsp(vcpu)) -@@ -2960,6 +2962,8 @@ int kvm_apic_set_state(struct kvm_vcpu *vcpu, struct kvm_lapic_state *s) - struct kvm_lapic *apic = vcpu->arch.apic; - int r; - -+ static_call_cond(kvm_x86_apicv_pre_state_restore)(vcpu); -+ - kvm_lapic_set_base(vcpu, vcpu->arch.apic_base); - /* set SPIV separately to get count of SW disabled APICs right */ - apic_set_spiv(apic, *((u32 *)(s->regs + APIC_SPIV))); -diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c -index bc6f0fea48b43..52af279f793db 100644 ---- a/arch/x86/kvm/vmx/vmx.c -+++ b/arch/x86/kvm/vmx/vmx.c -@@ -6909,7 +6909,7 @@ static void vmx_load_eoi_exitmap(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap) - vmcs_write64(EOI_EXIT_BITMAP3, eoi_exit_bitmap[3]); - } - --static void vmx_apicv_post_state_restore(struct kvm_vcpu *vcpu) -+static void vmx_apicv_pre_state_restore(struct kvm_vcpu *vcpu) - { - struct vcpu_vmx *vmx = to_vmx(vcpu); - -@@ -8275,7 +8275,7 @@ static struct kvm_x86_ops vmx_x86_ops __initdata = { - .set_apic_access_page_addr = vmx_set_apic_access_page_addr, - .refresh_apicv_exec_ctrl = vmx_refresh_apicv_exec_ctrl, - .load_eoi_exitmap = vmx_load_eoi_exitmap, -- .apicv_post_state_restore = vmx_apicv_post_state_restore, -+ .apicv_pre_state_restore = vmx_apicv_pre_state_restore, - .required_apicv_inhibits = VMX_REQUIRED_APICV_INHIBITS, - .hwapic_irr_update = vmx_hwapic_irr_update, - .hwapic_isr_update = vmx_hwapic_isr_update, diff --git a/submodules/ubuntu-kernel b/submodules/ubuntu-kernel index 9f8b45f..50a8a45 160000 --- a/submodules/ubuntu-kernel +++ b/submodules/ubuntu-kernel @@ -1 +1 @@ -Subproject commit 9f8b45f5f8dbd6093b7ff71750bc6eb762fc8b20 +Subproject commit 50a8a45214a205eaa6d19370b1409ee1a7f82774