+++ /dev/null
-From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-Date: Thu, 7 Nov 2024 13:41:37 -0800
-Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE
-
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-
-commit 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 upstream.
-
-When DISCARD frees an ITE, it does not invalidate the
-corresponding ITE. In the scenario of continuous saves and
-restores, there may be a situation where an ITE is not saved
-but is restored. This is unreasonable and may cause restore
-to fail. This patch clears the corresponding ITE when DISCARD
-frees an ITE.
-
-Cc: stable@vger.kernel.org
-Fixes: eff484e0298d ("KVM: arm64: vgic-its: ITT save and restore")
-Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com>
-[Jing: Update with entry write helper]
-Signed-off-by: Jing Zhang <jingzhangos@google.com>
-Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com
-Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kvm/vgic/vgic-its.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/kvm/vgic/vgic-its.c
-+++ b/arch/arm64/kvm/vgic/vgic-its.c
-@@ -855,6 +855,9 @@ static int vgic_its_cmd_handle_discard(s
-
- ite = find_ite(its, device_id, event_id);
- if (ite && its_is_collection_mapped(ite->collection)) {
-+ struct its_device *device = find_its_device(its, device_id);
-+ int ite_esz = vgic_its_get_abi(its)->ite_esz;
-+ gpa_t gpa = device->itt_addr + ite->event_id * ite_esz;
- /*
- * Though the spec talks about removing the pending state, we
- * don't bother here since we clear the ITTE anyway and the
-@@ -863,7 +866,8 @@ static int vgic_its_cmd_handle_discard(s
- vgic_its_invalidate_cache(kvm);
-
- its_free_ite(kvm, ite);
-- return 0;
-+
-+ return vgic_its_write_entry_lock(its, gpa, 0, ite_esz);
- }
-
- return E_ITS_DISCARD_UNMAPPED_INTERRUPT;
perf-x86-intel-pt-fix-buffer-full-but-size-is-0-case.patch
crypto-x86-aegis128-access-32-bit-arguments-as-32-bit.patch
kvm-arm64-ignore-pmcntenset_el0-while-checking-for-overflow-status.patch
-kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch
pci-fix-use-after-free-of-slot-bus-on-hot-remove.patch
fsnotify-fix-sending-inotify-event-with-unexpected-filename.patch
comedi-flush-partial-mappings-in-error-case.patch
+++ /dev/null
-From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-Date: Thu, 7 Nov 2024 13:41:37 -0800
-Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE
-
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-
-commit 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 upstream.
-
-When DISCARD frees an ITE, it does not invalidate the
-corresponding ITE. In the scenario of continuous saves and
-restores, there may be a situation where an ITE is not saved
-but is restored. This is unreasonable and may cause restore
-to fail. This patch clears the corresponding ITE when DISCARD
-frees an ITE.
-
-Cc: stable@vger.kernel.org
-Fixes: eff484e0298d ("KVM: arm64: vgic-its: ITT save and restore")
-Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com>
-[Jing: Update with entry write helper]
-Signed-off-by: Jing Zhang <jingzhangos@google.com>
-Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com
-Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kvm/vgic/vgic-its.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/kvm/vgic/vgic-its.c
-+++ b/arch/arm64/kvm/vgic/vgic-its.c
-@@ -855,6 +855,9 @@ static int vgic_its_cmd_handle_discard(s
-
- ite = find_ite(its, device_id, event_id);
- if (ite && its_is_collection_mapped(ite->collection)) {
-+ struct its_device *device = find_its_device(its, device_id);
-+ int ite_esz = vgic_its_get_abi(its)->ite_esz;
-+ gpa_t gpa = device->itt_addr + ite->event_id * ite_esz;
- /*
- * Though the spec talks about removing the pending state, we
- * don't bother here since we clear the ITTE anyway and the
-@@ -863,7 +866,8 @@ static int vgic_its_cmd_handle_discard(s
- vgic_its_invalidate_cache(kvm);
-
- its_free_ite(kvm, ite);
-- return 0;
-+
-+ return vgic_its_write_entry_lock(its, gpa, 0, ite_esz);
- }
-
- return E_ITS_DISCARD_UNMAPPED_INTERRUPT;
crypto-x86-aegis128-access-32-bit-arguments-as-32-bit.patch
powerpc-pseries-fix-kvm-guest-detection-for-disabling-hardlockup-detector.patch
kvm-arm64-ignore-pmcntenset_el0-while-checking-for-overflow-status.patch
-kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch
pci-fix-use-after-free-of-slot-bus-on-hot-remove.patch
fsnotify-fix-sending-inotify-event-with-unexpected-filename.patch
comedi-flush-partial-mappings-in-error-case.patch
+++ /dev/null
-From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-Date: Thu, 7 Nov 2024 13:41:37 -0800
-Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE
-
-From: Kunkun Jiang <jiangkunkun@huawei.com>
-
-commit 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 upstream.
-
-When DISCARD frees an ITE, it does not invalidate the
-corresponding ITE. In the scenario of continuous saves and
-restores, there may be a situation where an ITE is not saved
-but is restored. This is unreasonable and may cause restore
-to fail. This patch clears the corresponding ITE when DISCARD
-frees an ITE.
-
-Cc: stable@vger.kernel.org
-Fixes: eff484e0298d ("KVM: arm64: vgic-its: ITT save and restore")
-Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com>
-[Jing: Update with entry write helper]
-Signed-off-by: Jing Zhang <jingzhangos@google.com>
-Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com
-Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/kvm/vgic/vgic-its.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/kvm/vgic/vgic-its.c
-+++ b/arch/arm64/kvm/vgic/vgic-its.c
-@@ -855,6 +855,9 @@ static int vgic_its_cmd_handle_discard(s
-
- ite = find_ite(its, device_id, event_id);
- if (ite && its_is_collection_mapped(ite->collection)) {
-+ struct its_device *device = find_its_device(its, device_id);
-+ int ite_esz = vgic_its_get_abi(its)->ite_esz;
-+ gpa_t gpa = device->itt_addr + ite->event_id * ite_esz;
- /*
- * Though the spec talks about removing the pending state, we
- * don't bother here since we clear the ITTE anyway and the
-@@ -863,7 +866,8 @@ static int vgic_its_cmd_handle_discard(s
- vgic_its_invalidate_cache(kvm);
-
- its_free_ite(kvm, ite);
-- return 0;
-+
-+ return vgic_its_write_entry_lock(its, gpa, 0, ite_esz);
- }
-
- return E_ITS_DISCARD_UNMAPPED_INTERRUPT;
powerpc-pseries-fix-kvm-guest-detection-for-disabling-hardlockup-detector.patch
kvm-arm64-vgic-v3-sanitise-guest-writes-to-gicr_invlpir.patch
kvm-arm64-ignore-pmcntenset_el0-while-checking-for-overflow-status.patch
-kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch
pci-fix-use-after-free-of-slot-bus-on-hot-remove.patch
fsnotify-fix-sending-inotify-event-with-unexpected-filename.patch
comedi-flush-partial-mappings-in-error-case.patch