2019-11-21 20:03:36

by Navid Emamdoost

[permalink] [raw]
Subject: [PATCH] Input: Fix memory leak in psxpad_spi_probe

In the implementation of psxpad_spi_probe() the allocated memory for
pdev is leaked if psxpad_spi_init_ff() or input_register_polled_device()
fail. The solution is using device managed allocation, like the one used
for pad. Perform the allocation using
devm_input_allocate_polled_device().

Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
Signed-off-by: Navid Emamdoost <[email protected]>
---
drivers/input/joystick/psxpad-spi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/joystick/psxpad-spi.c b/drivers/input/joystick/psxpad-spi.c
index 7eee1b0e360f..99a6052500ca 100644
--- a/drivers/input/joystick/psxpad-spi.c
+++ b/drivers/input/joystick/psxpad-spi.c
@@ -292,7 +292,7 @@ static int psxpad_spi_probe(struct spi_device *spi)
if (!pad)
return -ENOMEM;

- pdev = input_allocate_polled_device();
+ pdev = devm_input_allocate_polled_device(&spi->dev);
if (!pdev) {
dev_err(&spi->dev, "failed to allocate input device\n");
return -ENOMEM;
--
2.17.1


2019-11-22 19:03:58

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: Fix memory leak in psxpad_spi_probe

Hi Navid,

On Thu, Nov 21, 2019 at 02:01:11PM -0600, Navid Emamdoost wrote:
> In the implementation of psxpad_spi_probe() the allocated memory for
> pdev is leaked if psxpad_spi_init_ff() or input_register_polled_device()
> fail. The solution is using device managed allocation, like the one used
> for pad. Perform the allocation using
> devm_input_allocate_polled_device().
>
> Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
> Signed-off-by: Navid Emamdoost <[email protected]>

This is fixed in the current version of the driver, but you can send it
to [email protected] with my

Acked-by: Dmitry Torokhov <[email protected]>

> ---
> drivers/input/joystick/psxpad-spi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/joystick/psxpad-spi.c b/drivers/input/joystick/psxpad-spi.c
> index 7eee1b0e360f..99a6052500ca 100644
> --- a/drivers/input/joystick/psxpad-spi.c
> +++ b/drivers/input/joystick/psxpad-spi.c
> @@ -292,7 +292,7 @@ static int psxpad_spi_probe(struct spi_device *spi)
> if (!pad)
> return -ENOMEM;
>
> - pdev = input_allocate_polled_device();
> + pdev = devm_input_allocate_polled_device(&spi->dev);
> if (!pdev) {
> dev_err(&spi->dev, "failed to allocate input device\n");
> return -ENOMEM;
> --
> 2.17.1
>

--
Dmitry

2019-11-26 09:36:55

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] Input: Fix memory leak in psxpad_spi_probe

On Fri, Nov 22, 2019 at 11:02:08AM -0800, Dmitry Torokhov wrote:
> Hi Navid,
>
> On Thu, Nov 21, 2019 at 02:01:11PM -0600, Navid Emamdoost wrote:
> > In the implementation of psxpad_spi_probe() the allocated memory for
> > pdev is leaked if psxpad_spi_init_ff() or input_register_polled_device()
> > fail. The solution is using device managed allocation, like the one used
> > for pad. Perform the allocation using
> > devm_input_allocate_polled_device().
> >
> > Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
> > Signed-off-by: Navid Emamdoost <[email protected]>
>
> This is fixed in the current version of the driver, but you can send it
> to [email protected] with my

Was it fixed by any specific patch, or just a side-affect of some other
larger change?

thanks,

greg k-h

2019-12-07 20:48:25

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: Fix memory leak in psxpad_spi_probe

On Tue, Nov 26, 2019 at 10:34:34AM +0100, Greg Kroah-Hartman wrote:
> On Fri, Nov 22, 2019 at 11:02:08AM -0800, Dmitry Torokhov wrote:
> > Hi Navid,
> >
> > On Thu, Nov 21, 2019 at 02:01:11PM -0600, Navid Emamdoost wrote:
> > > In the implementation of psxpad_spi_probe() the allocated memory for
> > > pdev is leaked if psxpad_spi_init_ff() or input_register_polled_device()
> > > fail. The solution is using device managed allocation, like the one used
> > > for pad. Perform the allocation using
> > > devm_input_allocate_polled_device().
> > >
> > > Fixes: 8be193c7b1f4 ("Input: add support for PlayStation 1/2 joypads connected via SPI")
> > > Signed-off-by: Navid Emamdoost <[email protected]>
> >
> > This is fixed in the current version of the driver, but you can send it
> > to [email protected] with my
>
> Was it fixed by any specific patch, or just a side-affect of some other
> larger change?

It was fixed "by accident" when I converted the driver from using
input_polled_dev to standard input device in polled mode.

Thanks.

--
Dmitry