From: Greg Kroah-Hartman Date: Fri, 2 Aug 2019 16:21:39 +0000 (+0200) Subject: drop 2 4.4 powerpc patches that were breaking the build X-Git-Tag: v5.2.6~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e860a5ff94a713819bc86efad89711d5e6d7ee7;p=thirdparty%2Fkernel%2Fstable-queue.git drop 2 4.4 powerpc patches that were breaking the build Signed-off-by: Greg Kroah-Hartman --- diff --git a/queue-4.4/powerpc-pseries-mobility-prevent-cpu-hotplug-during-.patch b/queue-4.4/powerpc-pseries-mobility-prevent-cpu-hotplug-during-.patch deleted file mode 100644 index 1789656e711..00000000000 --- a/queue-4.4/powerpc-pseries-mobility-prevent-cpu-hotplug-during-.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a9e859f937dab6d5940159d4166c2a1ef85d0c35 Mon Sep 17 00:00:00 2001 -From: Nathan Lynch -Date: Tue, 11 Jun 2019 23:45:05 -0500 -Subject: powerpc/pseries/mobility: prevent cpu hotplug during DT update - -[ Upstream commit e59a175faa8df9d674247946f2a5a9c29c835725 ] - -CPU online/offline code paths are sensitive to parts of the device -tree (various cpu node properties, cache nodes) that can be changed as -a result of a migration. - -Prevent CPU hotplug while the device tree potentially is inconsistent. - -Fixes: 410bccf97881 ("powerpc/pseries: Partition migration in the kernel") -Signed-off-by: Nathan Lynch -Reviewed-by: Gautham R. Shenoy -Signed-off-by: Michael Ellerman -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/pseries/mobility.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c -index c773396d0969..fcd1a32267c4 100644 ---- a/arch/powerpc/platforms/pseries/mobility.c -+++ b/arch/powerpc/platforms/pseries/mobility.c -@@ -9,6 +9,7 @@ - * 2 as published by the Free Software Foundation. - */ - -+#include - #include - #include - #include -@@ -309,11 +310,19 @@ void post_mobility_fixup(void) - if (rc) - printk(KERN_ERR "Post-mobility activate-fw failed: %d\n", rc); - -+ /* -+ * We don't want CPUs to go online/offline while the device -+ * tree is being updated. -+ */ -+ cpus_read_lock(); -+ - rc = pseries_devicetree_update(MIGRATION_SCOPE); - if (rc) - printk(KERN_ERR "Post-mobility device tree update " - "failed: %d\n", rc); - -+ cpus_read_unlock(); -+ - /* Possibly switch to a new RFI flush type */ - pseries_setup_rfi_flush(); - --- -2.20.1 - diff --git a/queue-4.4/powerpc-pseries-mobility-rebuild-cacheinfo-hierarchy.patch b/queue-4.4/powerpc-pseries-mobility-rebuild-cacheinfo-hierarchy.patch deleted file mode 100644 index cfc0f0f1d72..00000000000 --- a/queue-4.4/powerpc-pseries-mobility-rebuild-cacheinfo-hierarchy.patch +++ /dev/null @@ -1,79 +0,0 @@ -From e8a9c33c60901afec4ebabf63ea05ff7d18f1f4d Mon Sep 17 00:00:00 2001 -From: Nathan Lynch -Date: Tue, 11 Jun 2019 23:45:06 -0500 -Subject: powerpc/pseries/mobility: rebuild cacheinfo hierarchy post-migration - -[ Upstream commit e610a466d16a086e321f0bd421e2fc75cff28605 ] - -It's common for the platform to replace the cache device nodes after a -migration. Since the cacheinfo code is never informed about this, it -never drops its references to the source system's cache nodes, causing -it to wind up in an inconsistent state resulting in warnings and oopses -as soon as CPU online/offline occurs after the migration, e.g. - - cache for /cpus/l3-cache@3113(Unified) refers to cache for /cpus/l2-cache@200d(Unified) - WARNING: CPU: 15 PID: 86 at arch/powerpc/kernel/cacheinfo.c:176 release_cache+0x1bc/0x1d0 - [...] - NIP release_cache+0x1bc/0x1d0 - LR release_cache+0x1b8/0x1d0 - Call Trace: - release_cache+0x1b8/0x1d0 (unreliable) - cacheinfo_cpu_offline+0x1c4/0x2c0 - unregister_cpu_online+0x1b8/0x260 - cpuhp_invoke_callback+0x114/0xf40 - cpuhp_thread_fun+0x270/0x310 - smpboot_thread_fn+0x2c8/0x390 - kthread+0x1b8/0x1c0 - ret_from_kernel_thread+0x5c/0x68 - -Using device tree notifiers won't work since we want to rebuild the -hierarchy only after all the removals and additions have occurred and -the device tree is in a consistent state. Call cacheinfo_teardown() -before processing device tree updates, and rebuild the hierarchy -afterward. - -Fixes: 410bccf97881 ("powerpc/pseries: Partition migration in the kernel") -Signed-off-by: Nathan Lynch -Reviewed-by: Gautham R. Shenoy -Signed-off-by: Michael Ellerman -Signed-off-by: Sasha Levin ---- - arch/powerpc/platforms/pseries/mobility.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c -index fcd1a32267c4..e85767c74e81 100644 ---- a/arch/powerpc/platforms/pseries/mobility.c -+++ b/arch/powerpc/platforms/pseries/mobility.c -@@ -22,6 +22,7 @@ - #include - #include - #include "pseries.h" -+#include "../../kernel/cacheinfo.h" - - static struct kobject *mobility_kobj; - -@@ -316,11 +317,20 @@ void post_mobility_fixup(void) - */ - cpus_read_lock(); - -+ /* -+ * It's common for the destination firmware to replace cache -+ * nodes. Release all of the cacheinfo hierarchy's references -+ * before updating the device tree. -+ */ -+ cacheinfo_teardown(); -+ - rc = pseries_devicetree_update(MIGRATION_SCOPE); - if (rc) - printk(KERN_ERR "Post-mobility device tree update " - "failed: %d\n", rc); - -+ cacheinfo_rebuild(); -+ - cpus_read_unlock(); - - /* Possibly switch to a new RFI flush type */ --- -2.20.1 - diff --git a/queue-4.4/series b/queue-4.4/series index 48b220e372c..67728ccd281 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -113,8 +113,6 @@ tty-serial-digicolor-fix-digicolor-usart-already-reg.patch tty-serial-msm_serial-avoid-system-lockup-condition.patch drm-virtio-add-memory-barriers-for-capset-cache.patch phy-renesas-rcar-gen2-fix-memory-leak-at-error-paths.patch -powerpc-pseries-mobility-prevent-cpu-hotplug-during-.patch -powerpc-pseries-mobility-rebuild-cacheinfo-hierarchy.patch usb-gadget-zero-ffs_io_data.patch powerpc-pci-of-fix-of-flags-parsing-for-64bit-bars.patch pci-sysfs-ignore-lockdep-for-remove-attribute.patch