* [PATCH] Correct memory hotplug locking
@ 2015-04-07 14:53 Nathan Fontenot
0 siblings, 0 replies; only message in thread
From: Nathan Fontenot @ 2015-04-07 14:53 UTC (permalink / raw)
To: linuxppc-dev@lists.ozlabs.org
Memory dlpar handling can return from dlpar_memory() without releasing the
device_hotplug lock. Correct this routine to ensure the lock is released.
This patch applies on top of my previous updates to memory hotplug:
https://lists.ozlabs.org/pipermail/linuxppc-dev/2015-February/124804.html
Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
---
arch/powerpc/platforms/pseries/hotplug-memory.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index 742ef88..5cefcad 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -562,13 +562,15 @@ int dlpar_memory(struct pseries_hp_errorlog *hp_elog)
lock_device_hotplug();
dn = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
- if (!dn)
- return -EINVAL;
+ if (!dn) {
+ rc = -EINVAL;
+ goto dlpar_memory_out;
+ }
prop = dlpar_clone_drconf_property(dn);
if (!prop) {
- of_node_put(dn);
- return -EINVAL;
+ rc = -EINVAL;
+ goto dlpar_memory_out;
}
switch (hp_elog->action) {
@@ -599,6 +601,7 @@ int dlpar_memory(struct pseries_hp_errorlog *hp_elog)
else
dlpar_update_drconf_property(dn, prop);
+dlpar_memory_out:
of_node_put(dn);
unlock_device_hotplug();
return rc;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-04-07 14:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-07 14:53 [PATCH] Correct memory hotplug locking Nathan Fontenot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.