Re: [PATCH] jailhouse: Hold reference returned from of_find_xxx API
From: Srivatsa S. Bhat <hidden>
Date: 2022-09-16 00:03:19
Also in:
linux-pci
[ Adding author and reviewers of commit 63338a38db95 ] On 9/14/22 7:23 PM, Liang He wrote:
quoted hunk
In jailhouse_paravirt(), we should hold the reference returned from of_find_compatible_node() which has increased the refcount and then call of_node_put() with it when done. Fixes: 63338a38db95 ("jailhouse: Provide detection for non-x86 systems") Signed-off-by: Liang He <redacted> Signed-off-by: Kelin Wang <redacted> --- include/linux/hypervisor.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)diff --git a/include/linux/hypervisor.h b/include/linux/hypervisor.h index 9efbc54e35e5..7fe1e8c6211c 100644 --- a/include/linux/hypervisor.h +++ b/include/linux/hypervisor.h@@ -27,7 +27,11 @@ static inline void hypervisor_pin_vcpu(int cpu) static inline bool jailhouse_paravirt(void) { - return of_find_compatible_node(NULL, NULL, "jailhouse,cell"); + struct device_node *np = of_find_compatible_node(NULL, NULL, "jailhouse,cell"); + + of_node_put(np); + + return np; }
Thank you for the fix, but returning a pointer from a function with a bool return type looks odd. Can we also fix that up please? Regards, Srivatsa VMware Photon OS _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization