]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Mar 2025 17:44:43 +0000 (18:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Mar 2025 17:44:43 +0000 (18:44 +0100)
14 files changed:
queue-5.10/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-5.10/series
queue-5.15/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-5.15/series
queue-6.1/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-6.1/series
queue-6.12/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch [deleted file]
queue-6.12/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-6.12/series
queue-6.13/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch [deleted file]
queue-6.13/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-6.13/series
queue-6.6/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch [deleted file]
queue-6.6/series

diff --git a/queue-5.10/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-5.10/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index b034bd1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -4628,6 +4628,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index 2cbe7e4724734815e0788792f5916b6e8d078190..3169a0ecb98530da31902a62dcc3cef14ba1e1d4 100644 (file)
@@ -381,7 +381,6 @@ net-ipv6-rpl_iptunnel-mitigate-2-realloc-issue.patch
 net-ipv6-fix-dst-ref-loop-on-input-in-rpl-lwt.patch
 x86-cpu-fix-warm-boot-hang-regression-on-amd-sc1100-.patch
 ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch
 i2c-npcm-disable-interrupt-enable-bit-before-devm_request_irq.patch
 usbnet-gl620a-fix-endpoint-checking-in-genelink_bind.patch
diff --git a/queue-5.15/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-5.15/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index ca4adbb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -4713,6 +4713,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index 455d95be36f3ff39821f5bca96e44b3135e23f97..72e231657beb30aacb819fee1cd71c1266d46255 100644 (file)
@@ -517,7 +517,6 @@ net-ipv6-fix-dst-ref-loop-on-input-in-rpl-lwt.patch
 x86-cpu-fix-warm-boot-hang-regression-on-amd-sc1100-.patch
 ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
 alsa-usb-audio-re-add-sample-rate-quirk-for-pioneer-djm-900nxs2.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch
 drm-amd-display-fix-hpd-after-gpu-reset.patch
 i2c-npcm-disable-interrupt-enable-bit-before-devm_request_irq.patch
diff --git a/queue-6.1/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-6.1/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index 54cd0b4..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -4865,6 +4865,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index c72290c6466d91956103fb48c38eddb29ebdb6d5..b9fffa0d71103f0f4781137af355fc908ea5c6ec 100644 (file)
@@ -148,7 +148,6 @@ phy-rockchip-naneng-combphy-compatible-reset-with-ol.patch
 tracing-fix-bad-hist-from-corrupting-named_triggers-list.patch
 ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
 alsa-usb-audio-re-add-sample-rate-quirk-for-pioneer-djm-900nxs2.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-x86-fix-low-freqency-setting-issue.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch
 drm-amd-display-disable-psr-su-on-edp-panels.patch
diff --git a/queue-6.12/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch b/queue-6.12/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch
deleted file mode 100644 (file)
index 99e6440..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-From 2b90e7ace79774a3540ce569e000388f8d22c9e0 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Wed, 26 Feb 2025 15:18:39 -0500
-Subject: efi: Don't map the entire mokvar table to determine its size
-
-From: Peter Jones <pjones@redhat.com>
-
-commit 2b90e7ace79774a3540ce569e000388f8d22c9e0 upstream.
-
-Currently, when validating the mokvar table, we (re)map the entire table
-on each iteration of the loop, adding space as we discover new entries.
-If the table grows over a certain size, this fails due to limitations of
-early_memmap(), and we get a failure and traceback:
-
-  ------------[ cut here ]------------
-  WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220
-  ...
-  Call Trace:
-   <TASK>
-   ? __early_ioremap+0xef/0x220
-   ? __warn.cold+0x93/0xfa
-   ? __early_ioremap+0xef/0x220
-   ? report_bug+0xff/0x140
-   ? early_fixup_exception+0x5d/0xb0
-   ? early_idt_handler_common+0x2f/0x3a
-   ? __early_ioremap+0xef/0x220
-   ? efi_mokvar_table_init+0xce/0x1d0
-   ? setup_arch+0x864/0xc10
-   ? start_kernel+0x6b/0xa10
-   ? x86_64_start_reservations+0x24/0x30
-   ? x86_64_start_kernel+0xed/0xf0
-   ? common_startup_64+0x13e/0x141
-   </TASK>
-  ---[ end trace 0000000000000000 ]---
-  mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187.
-
-Mapping the entire structure isn't actually necessary, as we don't ever
-need more than one entry header mapped at once.
-
-Changes efi_mokvar_table_init() to only map each entry header, not the
-entire table, when determining the table size.  Since we're not mapping
-any data past the variable name, it also changes the code to enforce
-that each variable name is NUL terminated, rather than attempting to
-verify it in place.
-
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/firmware/efi/mokvar-table.c |   41 +++++++++++-------------------------
- 1 file changed, 13 insertions(+), 28 deletions(-)
-
---- a/drivers/firmware/efi/mokvar-table.c
-+++ b/drivers/firmware/efi/mokvar-table.c
-@@ -103,7 +103,6 @@ void __init efi_mokvar_table_init(void)
-       void *va = NULL;
-       unsigned long cur_offset = 0;
-       unsigned long offset_limit;
--      unsigned long map_size = 0;
-       unsigned long map_size_needed = 0;
-       unsigned long size;
-       struct efi_mokvar_table_entry *mokvar_entry;
-@@ -134,48 +133,34 @@ void __init efi_mokvar_table_init(void)
-        */
-       err = -EINVAL;
-       while (cur_offset + sizeof(*mokvar_entry) <= offset_limit) {
--              mokvar_entry = va + cur_offset;
--              map_size_needed = cur_offset + sizeof(*mokvar_entry);
--              if (map_size_needed > map_size) {
--                      if (va)
--                              early_memunmap(va, map_size);
--                      /*
--                       * Map a little more than the fixed size entry
--                       * header, anticipating some data. It's safe to
--                       * do so as long as we stay within current memory
--                       * descriptor.
--                       */
--                      map_size = min(map_size_needed + 2*EFI_PAGE_SIZE,
--                                     offset_limit);
--                      va = early_memremap(efi.mokvar_table, map_size);
--                      if (!va) {
--                              pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%lu.\n",
--                                     efi.mokvar_table, map_size);
--                              return;
--                      }
--                      mokvar_entry = va + cur_offset;
-+              if (va)
-+                      early_memunmap(va, sizeof(*mokvar_entry));
-+              va = early_memremap(efi.mokvar_table + cur_offset, sizeof(*mokvar_entry));
-+              if (!va) {
-+                      pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%zu.\n",
-+                             efi.mokvar_table + cur_offset, sizeof(*mokvar_entry));
-+                      return;
-               }
-+              mokvar_entry = va;
-               /* Check for last sentinel entry */
-               if (mokvar_entry->name[0] == '\0') {
-                       if (mokvar_entry->data_size != 0)
-                               break;
-                       err = 0;
-+                      map_size_needed = cur_offset + sizeof(*mokvar_entry);
-                       break;
-               }
--              /* Sanity check that the name is null terminated */
--              size = strnlen(mokvar_entry->name,
--                             sizeof(mokvar_entry->name));
--              if (size >= sizeof(mokvar_entry->name))
--                      break;
-+              /* Enforce that the name is NUL terminated */
-+              mokvar_entry->name[sizeof(mokvar_entry->name) - 1] = '\0';
-               /* Advance to the next entry */
--              cur_offset = map_size_needed + mokvar_entry->data_size;
-+              cur_offset += sizeof(*mokvar_entry) + mokvar_entry->data_size;
-       }
-       if (va)
--              early_memunmap(va, map_size);
-+              early_memunmap(va, sizeof(*mokvar_entry));
-       if (err) {
-               pr_err("EFI MOKvar config table is not valid\n");
-               return;
diff --git a/queue-6.12/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-6.12/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index 3152627..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -5066,6 +5066,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index cbd3adc05b18db2c1bed97b36eee60a8fa32e7a9..f3c42a4fb7ce7dbc43a578b73dec56b0f7c10ad2 100644 (file)
@@ -87,7 +87,6 @@ ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
 alsa-usb-audio-re-add-sample-rate-quirk-for-pioneer-djm-900nxs2.patch
 alsa-hda-realtek-fix-microphone-regression-on-asus-n705ud.patch
 kvm-arm64-ensure-a-vmid-is-allocated-before-programming-vttbr_el2.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-core-add-rcu-read-lock-protection-to-perf_iterate_ctx.patch
 perf-x86-fix-low-freqency-setting-issue.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch
@@ -124,7 +123,6 @@ intel_idle-handle-older-cpus-which-stop-the-tsc-in-deeper-c-states-correctly.pat
 mptcp-always-handle-address-removal-under-msk-socket-lock.patch
 mptcp-reset-when-mptcp-opts-are-dropped-after-join.patch
 selftests-landlock-test-that-mptcp-actions-are-not-restricted.patch
-efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch
 vmlinux.lds-ensure-that-const-vars-with-relocations-are-mapped-r-o.patch
 rcuref-plug-slowpath-race-in-rcuref_put.patch
 sched-core-prevent-rescheduling-when-interrupts-are-disabled.patch
diff --git a/queue-6.13/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch b/queue-6.13/efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch
deleted file mode 100644 (file)
index 99e6440..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-From 2b90e7ace79774a3540ce569e000388f8d22c9e0 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Wed, 26 Feb 2025 15:18:39 -0500
-Subject: efi: Don't map the entire mokvar table to determine its size
-
-From: Peter Jones <pjones@redhat.com>
-
-commit 2b90e7ace79774a3540ce569e000388f8d22c9e0 upstream.
-
-Currently, when validating the mokvar table, we (re)map the entire table
-on each iteration of the loop, adding space as we discover new entries.
-If the table grows over a certain size, this fails due to limitations of
-early_memmap(), and we get a failure and traceback:
-
-  ------------[ cut here ]------------
-  WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220
-  ...
-  Call Trace:
-   <TASK>
-   ? __early_ioremap+0xef/0x220
-   ? __warn.cold+0x93/0xfa
-   ? __early_ioremap+0xef/0x220
-   ? report_bug+0xff/0x140
-   ? early_fixup_exception+0x5d/0xb0
-   ? early_idt_handler_common+0x2f/0x3a
-   ? __early_ioremap+0xef/0x220
-   ? efi_mokvar_table_init+0xce/0x1d0
-   ? setup_arch+0x864/0xc10
-   ? start_kernel+0x6b/0xa10
-   ? x86_64_start_reservations+0x24/0x30
-   ? x86_64_start_kernel+0xed/0xf0
-   ? common_startup_64+0x13e/0x141
-   </TASK>
-  ---[ end trace 0000000000000000 ]---
-  mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187.
-
-Mapping the entire structure isn't actually necessary, as we don't ever
-need more than one entry header mapped at once.
-
-Changes efi_mokvar_table_init() to only map each entry header, not the
-entire table, when determining the table size.  Since we're not mapping
-any data past the variable name, it also changes the code to enforce
-that each variable name is NUL terminated, rather than attempting to
-verify it in place.
-
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Peter Jones <pjones@redhat.com>
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/firmware/efi/mokvar-table.c |   41 +++++++++++-------------------------
- 1 file changed, 13 insertions(+), 28 deletions(-)
-
---- a/drivers/firmware/efi/mokvar-table.c
-+++ b/drivers/firmware/efi/mokvar-table.c
-@@ -103,7 +103,6 @@ void __init efi_mokvar_table_init(void)
-       void *va = NULL;
-       unsigned long cur_offset = 0;
-       unsigned long offset_limit;
--      unsigned long map_size = 0;
-       unsigned long map_size_needed = 0;
-       unsigned long size;
-       struct efi_mokvar_table_entry *mokvar_entry;
-@@ -134,48 +133,34 @@ void __init efi_mokvar_table_init(void)
-        */
-       err = -EINVAL;
-       while (cur_offset + sizeof(*mokvar_entry) <= offset_limit) {
--              mokvar_entry = va + cur_offset;
--              map_size_needed = cur_offset + sizeof(*mokvar_entry);
--              if (map_size_needed > map_size) {
--                      if (va)
--                              early_memunmap(va, map_size);
--                      /*
--                       * Map a little more than the fixed size entry
--                       * header, anticipating some data. It's safe to
--                       * do so as long as we stay within current memory
--                       * descriptor.
--                       */
--                      map_size = min(map_size_needed + 2*EFI_PAGE_SIZE,
--                                     offset_limit);
--                      va = early_memremap(efi.mokvar_table, map_size);
--                      if (!va) {
--                              pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%lu.\n",
--                                     efi.mokvar_table, map_size);
--                              return;
--                      }
--                      mokvar_entry = va + cur_offset;
-+              if (va)
-+                      early_memunmap(va, sizeof(*mokvar_entry));
-+              va = early_memremap(efi.mokvar_table + cur_offset, sizeof(*mokvar_entry));
-+              if (!va) {
-+                      pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%zu.\n",
-+                             efi.mokvar_table + cur_offset, sizeof(*mokvar_entry));
-+                      return;
-               }
-+              mokvar_entry = va;
-               /* Check for last sentinel entry */
-               if (mokvar_entry->name[0] == '\0') {
-                       if (mokvar_entry->data_size != 0)
-                               break;
-                       err = 0;
-+                      map_size_needed = cur_offset + sizeof(*mokvar_entry);
-                       break;
-               }
--              /* Sanity check that the name is null terminated */
--              size = strnlen(mokvar_entry->name,
--                             sizeof(mokvar_entry->name));
--              if (size >= sizeof(mokvar_entry->name))
--                      break;
-+              /* Enforce that the name is NUL terminated */
-+              mokvar_entry->name[sizeof(mokvar_entry->name) - 1] = '\0';
-               /* Advance to the next entry */
--              cur_offset = map_size_needed + mokvar_entry->data_size;
-+              cur_offset += sizeof(*mokvar_entry) + mokvar_entry->data_size;
-       }
-       if (va)
--              early_memunmap(va, map_size);
-+              early_memunmap(va, sizeof(*mokvar_entry));
-       if (err) {
-               pr_err("EFI MOKvar config table is not valid\n");
-               return;
diff --git a/queue-6.13/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-6.13/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index c0114a8..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -5073,6 +5073,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index f40dcb112fe5334f374a6209481c4a353b4fc463..65f24eb39c1bc00c8fc27932a6d213642f2e7103 100644 (file)
@@ -83,7 +83,6 @@ ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
 alsa-usb-audio-re-add-sample-rate-quirk-for-pioneer-djm-900nxs2.patch
 alsa-hda-realtek-fix-microphone-regression-on-asus-n705ud.patch
 kvm-arm64-ensure-a-vmid-is-allocated-before-programming-vttbr_el2.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-core-add-rcu-read-lock-protection-to-perf_iterate_ctx.patch
 perf-x86-fix-low-freqency-setting-issue.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch
@@ -130,7 +129,6 @@ intel_idle-handle-older-cpus-which-stop-the-tsc-in-deeper-c-states-correctly.pat
 mptcp-always-handle-address-removal-under-msk-socket-lock.patch
 mptcp-reset-when-mptcp-opts-are-dropped-after-join.patch
 selftests-landlock-test-that-mptcp-actions-are-not-restricted.patch
-efi-don-t-map-the-entire-mokvar-table-to-determine-its-size.patch
 vmlinux.lds-ensure-that-const-vars-with-relocations-are-mapped-r-o.patch
 rcuref-plug-slowpath-race-in-rcuref_put.patch
 sched-core-prevent-rescheduling-when-interrupts-are-disabled.patch
diff --git a/queue-6.6/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch b/queue-6.6/kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
deleted file mode 100644 (file)
index fba7108..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 982caaa1150479f022003390cd72a1941663d211 Mon Sep 17 00:00:00 2001
-From: Sean Christopherson <seanjc@google.com>
-Date: Mon, 24 Feb 2025 15:55:37 -0800
-Subject: KVM: nVMX: Process events on nested VM-Exit if injectable IRQ or NMI is pending
-
-From: Sean Christopherson <seanjc@google.com>
-
-commit 982caaa1150479f022003390cd72a1941663d211 upstream.
-
-Process pending events on nested VM-Exit if the vCPU has an injectable IRQ
-or NMI, as the event may have become pending while L2 was active, i.e. may
-not be tracked in the context of vmcs01.  E.g. if L1 has passed its APIC
-through to L2 and an IRQ arrives while L2 is active, then KVM needs to
-request an IRQ window prior to running L1, otherwise delivery of the IRQ
-will be delayed until KVM happens to process events for some other reason.
-
-The missed failure is detected by vmx_apic_passthrough_tpr_threshold_test
-in KVM-Unit-Tests, but has effectively been masked due to a flaw in KVM's
-PIC emulation that causes KVM to make spurious KVM_REQ_EVENT requests (and
-apparently no one ever ran the test with split IRQ chips).
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Sean Christopherson <seanjc@google.com>
-Message-ID: <20250224235542.2562848-3-seanjc@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/kvm/vmx/nested.c |   11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/x86/kvm/vmx/nested.c
-+++ b/arch/x86/kvm/vmx/nested.c
-@@ -4926,6 +4926,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *
-               load_vmcs12_host_state(vcpu, vmcs12);
-+              /*
-+               * Process events if an injectable IRQ or NMI is pending, even
-+               * if the event is blocked (RFLAGS.IF is cleared on VM-Exit).
-+               * If an event became pending while L2 was active, KVM needs to
-+               * either inject the event or request an IRQ/NMI window.  SMIs
-+               * don't need to be processed as SMM is mutually exclusive with
-+               * non-root mode.  INIT/SIPI don't need to be checked as INIT
-+               * is blocked post-VMXON, and SIPIs are ignored.
-+               */
-+              if (kvm_cpu_has_injectable_intr(vcpu) || vcpu->arch.nmi_pending)
-+                      kvm_make_request(KVM_REQ_EVENT, vcpu);
-               return;
-       }
index ef9b6543c38e59e5ba3c1a4760d2a6427462b231..0b6ac43872eabc8e681decf3398a50d8ed53a50f 100644 (file)
@@ -62,7 +62,6 @@ tracing-fix-bad-hist-from-corrupting-named_triggers-list.patch
 ftrace-avoid-potential-division-by-zero-in-function_stat_show.patch
 alsa-usb-audio-re-add-sample-rate-quirk-for-pioneer-djm-900nxs2.patch
 alsa-hda-realtek-fix-microphone-regression-on-asus-n705ud.patch
-kvm-nvmx-process-events-on-nested-vm-exit-if-injectable-irq-or-nmi-is-pending.patch
 perf-core-add-rcu-read-lock-protection-to-perf_iterate_ctx.patch
 perf-x86-fix-low-freqency-setting-issue.patch
 perf-core-fix-low-freq-setting-via-ioc_period.patch