Re: [PATCH v2] Input: i8042 fix refcount leak

From: Dmitry Torokhov
Date: Sun Dec 09 2018 - 00:40:26 EST


On Sun, Dec 09, 2018 at 12:19:00AM -0500, Yangtao Li wrote:
> use of_node_put() to release the refcount.
>
> Signed-off-by: Yangtao Li <tiny.windzz@xxxxxxxxx>
> ---
> drivers/input/serio/i8042-sparcio.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/input/serio/i8042-sparcio.h b/drivers/input/serio/i8042-sparcio.h
> index 796289846204..cc6777b4c4ea 100644
> --- a/drivers/input/serio/i8042-sparcio.h
> +++ b/drivers/input/serio/i8042-sparcio.h
> @@ -111,13 +111,17 @@ static int __init i8042_platform_init(void)
> struct device_node *root = of_find_node_by_path("/");
>
> if (!strcmp(root->name, "SUNW,JavaStation-1")) {
> + of_node_put(root);
> /* Hardcoded values for MrCoffee. */
> i8042_kbd_irq = i8042_aux_irq = 13 | 0x20;
> kbd_iobase = ioremap(0x71300060, 8);
> if (!kbd_iobase)
> return -ENODEV;
> } else {
> - int err = platform_driver_register(&sparc_i8042_driver);
> + int err;
> +
> + of_node_put(root);
> + err = platform_driver_register(&sparc_i8042_driver);
> if (err)
> return err;

This is not really what I asked for, as in this version you left out
leaky reference in i8042_platform_exit(). Please make the "detect Mr
Coffee" function and use it in both i8042_platform_init() and
i8042_platform_exit().

Thanks.

--
Dmitry