Thread (5 messages) 5 messages, 2 authors, 2022-07-11

Re:Re: Re: [PATCH] input/serio: Fix refcount leak bug in i8042-sparcio

From: Liang He <hidden>
Date: 2022-07-11 04:58:07
Also in: lkml




At 2022-07-11 11:19:20, "Dmitry Torokhov" [off-list ref] wrote:
On Sun, Jul 10, 2022 at 09:37:10AM +0800, Liang He wrote:
quoted
At 2022-07-09 12:49:23, "Dmitry Torokhov" [off-list ref] wrote:
quoted
Hi Liang,

On Sun, Jun 19, 2022 at 03:30:36PM +0800, Liang He wrote:
quoted
In i8042_platform_init() and i8042_platform_exit(), we need call
of_node_put() to keep refcount balance.

Signed-off-by: Liang He <redacted>
---
 drivers/input/serio/i8042-sparcio.h | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/drivers/input/serio/i8042-sparcio.h b/drivers/input/serio/i8042-sparcio.h
index fce76812843b..a2a9db9220d7 100644
--- a/drivers/input/serio/i8042-sparcio.h
+++ b/drivers/input/serio/i8042-sparcio.h
@@ -108,6 +108,8 @@ static int __init i8042_platform_init(void)
 	struct device_node *root = of_find_node_by_path("/");
 	const char *name = of_get_property(root, "name", NULL);
 
+	of_node_put(root);
+
 	if (name && !strcmp(name, "SUNW,JavaStation-1")) {
 		/* Hardcoded values for MrCoffee.  */
 		i8042_kbd_irq = i8042_aux_irq = 13 | 0x20;
@@ -139,6 +141,8 @@ static inline void i8042_platform_exit(void)
 	struct device_node *root = of_find_node_by_path("/");
 	const char *name = of_get_property(root, "name", NULL);
 
+	of_node_put(root);
+
 	if (!name || strcmp(name, "SUNW,JavaStation-1"))
 		platform_driver_unregister(&sparc_i8042_driver);
 }
There already was an attempt to fix this issue in a slightly better way,
unfortunately the original author did not finish the work:

https://lore.kernel.org/all/20181212163548.23723-1-tiny.windzz@gmail.com/ (local)

Thanks.

-- 
Dmitry
Hi, Dmirtry,

Thanks for reviewing my patch code.

The Li's patch adds a helper and is better than mine.
Right, however there is a compile error in Li's version. It would be
great if someone could finish their work.

Thanks.

-- 
Dmitry

Thanks, 

I'd like to continue Li's work and complete it soon.

Liang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help