lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0jQvu9hBY_yw2tVX26W=F=x_9em5LTQ2+JMe534Ay+UWg@mail.gmail.com>
Date: Tue, 2 Jul 2024 21:13:12 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: hongao <hongao@...ontech.com>
Cc: rafael@...nel.org, lenb@...nel.org, linux-acpi@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ACPI: button: call input_free_device when
 input_register_device fails

On Thu, Jun 20, 2024 at 10:52 AM hongao <hongao@...ontech.com> wrote:
>
> Call input_free_device when input_register_device fails.

And this is in order to address a memory leak, isn't it?

> Signed-off-by: hongao <hongao@...ontech.com>
>
> diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
> index cc61020756be..8765e9a64404 100644
> --- a/drivers/acpi/button.c
> +++ b/drivers/acpi/button.c
> @@ -602,8 +602,10 @@ static int acpi_button_add(struct acpi_device *device)
>
>         input_set_drvdata(input, device);
>         error = input_register_device(input);
> -       if (error)
> +       if (error) {
> +               input_free_device(input);
>                 goto err_remove_fs;

AFAICS, there is one other case in which something like this would
need to be done and it's better to rearrange the error handling to
cover all of these cases without duplicating input_free_device()
calls.

> +       }
>
>         switch (device->device_type) {
>         case ACPI_BUS_TYPE_POWER_BUTTON:
>
> base-commit: e5b3efbe1ab1793bb49ae07d56d0973267e65112
> --

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ