From: Sasha Levin Date: Thu, 5 Dec 2024 16:19:04 +0000 (-0500) Subject: Drop kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch X-Git-Tag: v6.12.3~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e1f5ac10148cb2c520f8eb9bcb3a26a3157dbc3;p=thirdparty%2Fkernel%2Fstable-queue.git Drop kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch b/queue-5.10/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch deleted file mode 100644 index d4879cab9b9..00000000000 --- a/queue-5.10/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:37 -0800 -Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE - -From: Kunkun Jiang - -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 -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com -Signed-off-by: Oliver Upton -Signed-off-by: Greg Kroah-Hartman ---- - 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; diff --git a/queue-5.10/series b/queue-5.10/series index 614f0b18747..41165c5cbd3 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -240,7 +240,6 @@ asoc-codecs-fix-atomicity-violation-in-snd_soc_component_get_drvdata.patch 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 diff --git a/queue-5.15/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch b/queue-5.15/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch deleted file mode 100644 index d4879cab9b9..00000000000 --- a/queue-5.15/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:37 -0800 -Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE - -From: Kunkun Jiang - -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 -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com -Signed-off-by: Oliver Upton -Signed-off-by: Greg Kroah-Hartman ---- - 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; diff --git a/queue-5.15/series b/queue-5.15/series index 99c9aed3b79..b0e9d3d87d3 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -295,7 +295,6 @@ perf-x86-intel-pt-fix-buffer-full-but-size-is-0-case.patch 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 diff --git a/queue-6.1/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch b/queue-6.1/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch deleted file mode 100644 index d4879cab9b9..00000000000 --- a/queue-6.1/kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7602ffd1d5e8927fadd5187cb4aed2fdc9c47143 Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:37 -0800 -Subject: KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE - -From: Kunkun Jiang - -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 -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-6-jingzhangos@google.com -Signed-off-by: Oliver Upton -Signed-off-by: Greg Kroah-Hartman ---- - 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; diff --git a/queue-6.1/series b/queue-6.1/series index 666a91cc1a3..587547de3fc 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -376,7 +376,6 @@ kvm-x86-mmu-skip-the-try-unsync-path-iff-the-old-spte-was-a-leaf-spte.patch 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