diff options
author | Nathan Fontenot <nfont@linux.vnet.ibm.com> | 2015-04-30 04:44:58 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-05-11 09:58:20 +0300 |
commit | 2222ce0fbbcc4ebfa9995c8d23d72c8239ad712c (patch) | |
tree | e1a646833a6e05afa0498e0e37970fe05f814609 /arch/powerpc/platforms/pseries | |
parent | 202648a6070b69d60c6d0926ff06c8863e231468 (diff) | |
download | linux-2222ce0fbbcc4ebfa9995c8d23d72c8239ad712c.tar.xz |
powerpc/pseries: Fix possible leaked device node reference
Failure return from dlpar_configure_connector when dlpar adding cpus
results in leaking references to the cpus parent device node. Move the
call to of_node_put() prior to checking the result of
dlpar_configure_connector.
Fixes: 8d5ff320766f ("powerpc/pseries: Make dlpar_configure_connector parent node aware")
Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/pseries')
-rw-r--r-- | arch/powerpc/platforms/pseries/dlpar.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c index 019d34aaf054..47d9cebe7159 100644 --- a/arch/powerpc/platforms/pseries/dlpar.c +++ b/arch/powerpc/platforms/pseries/dlpar.c @@ -421,11 +421,10 @@ static ssize_t dlpar_cpu_probe(const char *buf, size_t count) return -ENODEV; dn = dlpar_configure_connector(cpu_to_be32(drc_index), parent); + of_node_put(parent); if (!dn) return -EINVAL; - of_node_put(parent); - rc = dlpar_attach_node(dn); if (rc) { dlpar_release_drc(drc_index); |