Blob Blame History Raw
From 366929c588c9e8ad4d92c1bca2ac512c99bb5961 Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum@suse.com>
Date: Tue, 14 Jul 2020 14:20:02 +0200
Subject: [PATCH] padata: kABI fixup for struct padata_instance splitting nodes
Patch-mainline: Never, kABI fixup
References: git-fixes

Signed-off-by: Oliver Neukum <oneukum@suse.com>
---
 include/linux/padata.h |    7 +++++--
 kernel/padata.c        |    2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

--- a/include/linux/padata.h
+++ b/include/linux/padata.h
@@ -160,8 +160,7 @@ struct padata_shell {
  * @flags: padata flags.
  */
 struct padata_instance {
-	struct hlist_node		cpu_online_node;
-	struct hlist_node		cpu_dead_node;
+	struct hlist_node		node;
 	struct workqueue_struct		*parallel_wq;
 	struct workqueue_struct		*serial_wq;
 	struct list_head		pslist;
@@ -172,6 +171,10 @@ struct padata_instance {
 	struct kobject                   kobj;
 	struct mutex			 lock;
 	u8				 flags;
+#ifndef __GENKSYMS__
+	struct hlist_node		cpu_online_node;
+	struct hlist_node		cpu_dead_node;
+#endif
 #define	PADATA_INIT	1
 #define	PADATA_RESET	2
 #define	PADATA_INVALID	4
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -828,6 +828,7 @@ static void __padata_free(struct padata_
 	cpuhp_state_remove_instance_nocalls(CPUHP_PADATA_DEAD,
 					    &pinst->cpu_dead_node);
 	cpuhp_state_remove_instance_nocalls(hp_online, &pinst->cpu_online_node);
+	pinst->node = pinst->cpu_dead_node;
 #endif
 
 	WARN_ON(!list_empty(&pinst->pslist));
@@ -1039,6 +1040,7 @@ static struct padata_instance *padata_al
 						    &pinst->cpu_online_node);
 	cpuhp_state_add_instance_nocalls_cpuslocked(CPUHP_PADATA_DEAD,
 						    &pinst->cpu_dead_node);
+	pinst->node = pinst->cpu_dead_node;
 #endif
 
 	put_online_cpus();