From: Greg Kroah-Hartman Date: Tue, 3 Dec 2024 08:58:14 +0000 (+0100) Subject: drop some broken patches X-Git-Tag: v4.19.325~61 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=27ab6937eda31b53ac008bbd9731f0521ac12fed;p=thirdparty%2Fkernel%2Fstable-queue.git drop some broken patches --- diff --git a/queue-5.10/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch b/queue-5.10/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch deleted file mode 100644 index 32c69e800a6..00000000000 --- a/queue-5.10/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 4be1996a4a9494744cb506b8563e3a8ba3961312 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 31 Oct 2024 13:54:23 +0100 -Subject: clocksource/drivers/timer-ti-dm: Fix child node refcount handling - -From: Javier Carrasco - -[ Upstream commit e5cfc0989d9a2849c51c720a16b90b2c061a1aeb ] - -of_find_compatible_node() increments the node's refcount, and it must be -decremented again with a call to of_node_put() when the pointer is no -longer required to avoid leaking the resource. - -Instead of adding the missing calls to of_node_put() in all execution -paths, use the cleanup attribute for 'arm_timer' by means of the -__free() macro, which automatically calls of_node_put() when the -variable goes out of scope. - -Fixes: 25de4ce5ed02 ("clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940") -Signed-off-by: Javier Carrasco -Link: https://lore.kernel.org/r/20241031-timer-ti-dm-systimer-of_node_put-v3-1-063ee822b73a@gmail.com -Signed-off-by: Daniel Lezcano -Signed-off-by: Sasha Levin ---- - drivers/clocksource/timer-ti-dm-systimer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/clocksource/timer-ti-dm-systimer.c b/drivers/clocksource/timer-ti-dm-systimer.c -index 632523c1232f6..734920e8c5759 100644 ---- a/drivers/clocksource/timer-ti-dm-systimer.c -+++ b/drivers/clocksource/timer-ti-dm-systimer.c -@@ -688,9 +688,9 @@ subsys_initcall(dmtimer_percpu_timer_startup); - - static int __init dmtimer_percpu_quirk_init(struct device_node *np, u32 pa) - { -- struct device_node *arm_timer; -+ struct device_node *arm_timer __free(device_node) = -+ of_find_compatible_node(NULL, NULL, "arm,armv7-timer"); - -- arm_timer = of_find_compatible_node(NULL, NULL, "arm,armv7-timer"); - if (of_device_is_available(arm_timer)) { - pr_warn_once("ARM architected timer wrap issue i940 detected\n"); - return 0; --- -2.43.0 - diff --git a/queue-5.10/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch b/queue-5.10/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch deleted file mode 100644 index 4aeb8d9138c..00000000000 --- a/queue-5.10/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch +++ /dev/null @@ -1,59 +0,0 @@ -From e9649129d33dca561305fc590a7c4ba8c3e5675a Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:36 -0800 -Subject: KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device - -From: Kunkun Jiang - -commit e9649129d33dca561305fc590a7c4ba8c3e5675a upstream. - -vgic_its_save_device_tables will traverse its->device_list to -save DTE for each device. vgic_its_restore_device_tables will -traverse each entry of device table and check if it is valid. -Restore if valid. - -But when MAPD unmaps a device, it does not invalidate the -corresponding DTE. In the scenario of continuous saves -and restores, there may be a situation where a device's DTE -is not saved but is restored. This is unreasonable and may -cause restore to fail. This patch clears the corresponding -DTE when MAPD unmaps a device. - -Cc: stable@vger.kernel.org -Fixes: 57a9a117154c ("KVM: arm64: vgic-its: Device table save/restore") -Co-developed-by: Shusen Li -Signed-off-by: Shusen Li -Signed-off-by: Kunkun Jiang -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-5-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, 4 insertions(+), 2 deletions(-) - ---- a/arch/arm64/kvm/vgic/vgic-its.c -+++ b/arch/arm64/kvm/vgic/vgic-its.c -@@ -1186,9 +1186,11 @@ static int vgic_its_cmd_handle_mapd(stru - bool valid = its_cmd_get_validbit(its_cmd); - u8 num_eventid_bits = its_cmd_get_size(its_cmd); - gpa_t itt_addr = its_cmd_get_ittaddr(its_cmd); -+ int dte_esz = vgic_its_get_abi(its)->dte_esz; - struct its_device *device; -+ gpa_t gpa; - -- if (!vgic_its_check_id(its, its->baser_device_table, device_id, NULL)) -+ if (!vgic_its_check_id(its, its->baser_device_table, device_id, &gpa)) - return E_ITS_MAPD_DEVICE_OOR; - - if (valid && num_eventid_bits > VITS_TYPER_IDBITS) -@@ -1209,7 +1211,7 @@ static int vgic_its_cmd_handle_mapd(stru - * is an error, so we are done in any case. - */ - if (!valid) -- return 0; -+ return vgic_its_write_entry_lock(its, gpa, 0, dte_esz); - - device = vgic_its_alloc_device(its, device_id, itt_addr, - num_eventid_bits); diff --git a/queue-5.10/series b/queue-5.10/series index 689d490627b..acb583b48c8 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -68,7 +68,6 @@ time-fix-references-to-_msecs_to_jiffies-handling-of.patch kcsan-seqlock-fix-incorrect-assumption-in-read_seqbe.patch clkdev-remove-config_clkdev_lookup.patch clocksource-drivers-sp804-make-user-selectable.patch -clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch spi-spi-fsl-lpspi-downgrade-log-level-for-pio-mode.patch spi-spi-fsl-lpspi-use-irqf_no_autoen-flag-in-request.patch soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch @@ -242,7 +241,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 kvm-arm64-ignore-pmcntenset_el0-while-checking-for-overflow-status.patch kvm-arm64-vgic-its-clear-ite-when-discard-frees-an-ite.patch -kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.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/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch b/queue-5.15/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch deleted file mode 100644 index ddbce0083e1..00000000000 --- a/queue-5.15/clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 13e9e6ffa1f36077018e0f5d7913381689ce4e9c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 31 Oct 2024 13:54:23 +0100 -Subject: clocksource/drivers/timer-ti-dm: Fix child node refcount handling - -From: Javier Carrasco - -[ Upstream commit e5cfc0989d9a2849c51c720a16b90b2c061a1aeb ] - -of_find_compatible_node() increments the node's refcount, and it must be -decremented again with a call to of_node_put() when the pointer is no -longer required to avoid leaking the resource. - -Instead of adding the missing calls to of_node_put() in all execution -paths, use the cleanup attribute for 'arm_timer' by means of the -__free() macro, which automatically calls of_node_put() when the -variable goes out of scope. - -Fixes: 25de4ce5ed02 ("clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940") -Signed-off-by: Javier Carrasco -Link: https://lore.kernel.org/r/20241031-timer-ti-dm-systimer-of_node_put-v3-1-063ee822b73a@gmail.com -Signed-off-by: Daniel Lezcano -Signed-off-by: Sasha Levin ---- - drivers/clocksource/timer-ti-dm-systimer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/clocksource/timer-ti-dm-systimer.c b/drivers/clocksource/timer-ti-dm-systimer.c -index 632523c1232f6..734920e8c5759 100644 ---- a/drivers/clocksource/timer-ti-dm-systimer.c -+++ b/drivers/clocksource/timer-ti-dm-systimer.c -@@ -688,9 +688,9 @@ subsys_initcall(dmtimer_percpu_timer_startup); - - static int __init dmtimer_percpu_quirk_init(struct device_node *np, u32 pa) - { -- struct device_node *arm_timer; -+ struct device_node *arm_timer __free(device_node) = -+ of_find_compatible_node(NULL, NULL, "arm,armv7-timer"); - -- arm_timer = of_find_compatible_node(NULL, NULL, "arm,armv7-timer"); - if (of_device_is_available(arm_timer)) { - pr_warn_once("ARM architected timer wrap issue i940 detected\n"); - return 0; --- -2.43.0 - diff --git a/queue-5.15/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch b/queue-5.15/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch deleted file mode 100644 index 4aeb8d9138c..00000000000 --- a/queue-5.15/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch +++ /dev/null @@ -1,59 +0,0 @@ -From e9649129d33dca561305fc590a7c4ba8c3e5675a Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:36 -0800 -Subject: KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device - -From: Kunkun Jiang - -commit e9649129d33dca561305fc590a7c4ba8c3e5675a upstream. - -vgic_its_save_device_tables will traverse its->device_list to -save DTE for each device. vgic_its_restore_device_tables will -traverse each entry of device table and check if it is valid. -Restore if valid. - -But when MAPD unmaps a device, it does not invalidate the -corresponding DTE. In the scenario of continuous saves -and restores, there may be a situation where a device's DTE -is not saved but is restored. This is unreasonable and may -cause restore to fail. This patch clears the corresponding -DTE when MAPD unmaps a device. - -Cc: stable@vger.kernel.org -Fixes: 57a9a117154c ("KVM: arm64: vgic-its: Device table save/restore") -Co-developed-by: Shusen Li -Signed-off-by: Shusen Li -Signed-off-by: Kunkun Jiang -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-5-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, 4 insertions(+), 2 deletions(-) - ---- a/arch/arm64/kvm/vgic/vgic-its.c -+++ b/arch/arm64/kvm/vgic/vgic-its.c -@@ -1186,9 +1186,11 @@ static int vgic_its_cmd_handle_mapd(stru - bool valid = its_cmd_get_validbit(its_cmd); - u8 num_eventid_bits = its_cmd_get_size(its_cmd); - gpa_t itt_addr = its_cmd_get_ittaddr(its_cmd); -+ int dte_esz = vgic_its_get_abi(its)->dte_esz; - struct its_device *device; -+ gpa_t gpa; - -- if (!vgic_its_check_id(its, its->baser_device_table, device_id, NULL)) -+ if (!vgic_its_check_id(its, its->baser_device_table, device_id, &gpa)) - return E_ITS_MAPD_DEVICE_OOR; - - if (valid && num_eventid_bits > VITS_TYPER_IDBITS) -@@ -1209,7 +1211,7 @@ static int vgic_its_cmd_handle_mapd(stru - * is an error, so we are done in any case. - */ - if (!valid) -- return 0; -+ return vgic_its_write_entry_lock(its, gpa, 0, dte_esz); - - device = vgic_its_alloc_device(its, device_id, itt_addr, - num_eventid_bits); diff --git a/queue-5.15/series b/queue-5.15/series index 328d7248709..7573f11a25c 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -93,7 +93,6 @@ seqlock-latch-provide-raw_read_seqcount_latch_retry.patch kcsan-seqlock-support-seqcount_latch_t.patch kcsan-seqlock-fix-incorrect-assumption-in-read_seqbe.patch clocksource-drivers-sp804-make-user-selectable.patch -clocksource-drivers-timer-ti-dm-fix-child-node-refco.patch spi-spi-fsl-lpspi-downgrade-log-level-for-pio-mode.patch spi-spi-fsl-lpspi-use-irqf_no_autoen-flag-in-request.patch soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch @@ -299,7 +298,6 @@ 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 -kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.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-dte-when-mapd-unmaps-a-device.patch b/queue-6.1/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch deleted file mode 100644 index fd70c2aa412..00000000000 --- a/queue-6.1/kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.patch +++ /dev/null @@ -1,59 +0,0 @@ -From e9649129d33dca561305fc590a7c4ba8c3e5675a Mon Sep 17 00:00:00 2001 -From: Kunkun Jiang -Date: Thu, 7 Nov 2024 13:41:36 -0800 -Subject: KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device - -From: Kunkun Jiang - -commit e9649129d33dca561305fc590a7c4ba8c3e5675a upstream. - -vgic_its_save_device_tables will traverse its->device_list to -save DTE for each device. vgic_its_restore_device_tables will -traverse each entry of device table and check if it is valid. -Restore if valid. - -But when MAPD unmaps a device, it does not invalidate the -corresponding DTE. In the scenario of continuous saves -and restores, there may be a situation where a device's DTE -is not saved but is restored. This is unreasonable and may -cause restore to fail. This patch clears the corresponding -DTE when MAPD unmaps a device. - -Cc: stable@vger.kernel.org -Fixes: 57a9a117154c ("KVM: arm64: vgic-its: Device table save/restore") -Co-developed-by: Shusen Li -Signed-off-by: Shusen Li -Signed-off-by: Kunkun Jiang -[Jing: Update with entry write helper] -Signed-off-by: Jing Zhang -Link: https://lore.kernel.org/r/20241107214137.428439-5-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, 4 insertions(+), 2 deletions(-) - ---- a/arch/arm64/kvm/vgic/vgic-its.c -+++ b/arch/arm64/kvm/vgic/vgic-its.c -@@ -1215,9 +1215,11 @@ static int vgic_its_cmd_handle_mapd(stru - bool valid = its_cmd_get_validbit(its_cmd); - u8 num_eventid_bits = its_cmd_get_size(its_cmd); - gpa_t itt_addr = its_cmd_get_ittaddr(its_cmd); -+ int dte_esz = vgic_its_get_abi(its)->dte_esz; - struct its_device *device; -+ gpa_t gpa; - -- if (!vgic_its_check_id(its, its->baser_device_table, device_id, NULL)) -+ if (!vgic_its_check_id(its, its->baser_device_table, device_id, &gpa)) - return E_ITS_MAPD_DEVICE_OOR; - - if (valid && num_eventid_bits > VITS_TYPER_IDBITS) -@@ -1238,7 +1240,7 @@ static int vgic_its_cmd_handle_mapd(stru - * is an error, so we are done in any case. - */ - if (!valid) -- return 0; -+ return vgic_its_write_entry_lock(its, gpa, 0, dte_esz); - - device = vgic_its_alloc_device(its, device_id, itt_addr, - num_eventid_bits); diff --git a/queue-6.1/series b/queue-6.1/series index 10949a0ce2e..ec97b6044ec 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -379,7 +379,6 @@ 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 -kvm-arm64-vgic-its-clear-dte-when-mapd-unmaps-a-device.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