| From 21d9889be7166d43039e1aeb52bf7a482e7706bb Mon Sep 17 00:00:00 2001 |
| From: Frank Rowand <frank.rowand@sony.com> |
| Date: Thu, 4 Oct 2018 20:27:16 -0700 |
| Subject: powerpc/pseries: add of_node_put() in dlpar_detach_node() |
| |
| [ Upstream commit 5b3f5c408d8cc59b87e47f1ab9803dbd006e4a91 ] |
| |
| The previous commit, "of: overlay: add missing of_node_get() in |
| __of_attach_node_sysfs" added a missing of_node_get() to |
| __of_attach_node_sysfs(). This results in a refcount imbalance |
| for nodes attached with dlpar_attach_node(). The calling sequence |
| from dlpar_attach_node() to __of_attach_node_sysfs() is: |
| |
| dlpar_attach_node() |
| of_attach_node() |
| __of_attach_node_sysfs() |
| |
| For more detailed description of the node refcount, see |
| commit 68baf692c435 ("powerpc/pseries: Fix of_node_put() underflow |
| during DLPAR remove"). |
| |
| Tested-by: Alan Tull <atull@kernel.org> |
| Acked-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Frank Rowand <frank.rowand@sony.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/powerpc/platforms/pseries/dlpar.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c |
| index e9149d05d30b..f4e6565dd7a9 100644 |
| --- a/arch/powerpc/platforms/pseries/dlpar.c |
| +++ b/arch/powerpc/platforms/pseries/dlpar.c |
| @@ -284,6 +284,8 @@ int dlpar_detach_node(struct device_node *dn) |
| if (rc) |
| return rc; |
| |
| + of_node_put(dn); |
| + |
| return 0; |
| } |
| |
| -- |
| 2.19.1 |
| |