diff mbox series

memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host()

Message ID 20211011123912.GD15188@kili (mailing list archive)
State New, archived
Headers show
Series memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() | expand

Commit Message

Dan Carpenter Oct. 11, 2021, 12:39 p.m. UTC
The "msh" pointer is device managed, meaning that memstick_alloc_host()
calls device_initialize() on it.  That means that it can't be free
using kfree() but must instead be freed with memstick_free_host().
Otherwise it leads to a tiny memory leak of device resources.

Fixes: 60fdd931d577 ("memstick: add support for JMicron jmb38x MemoryStick host controller")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/memstick/host/jmb38x_ms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ulf Hansson Oct. 12, 2021, 8:27 a.m. UTC | #1
On Mon, 11 Oct 2021 at 14:39, Dan Carpenter <dan.carpenter@oracle.com> wrote:
>
> The "msh" pointer is device managed, meaning that memstick_alloc_host()
> calls device_initialize() on it.  That means that it can't be free
> using kfree() but must instead be freed with memstick_free_host().
> Otherwise it leads to a tiny memory leak of device resources.
>
> Fixes: 60fdd931d577 ("memstick: add support for JMicron jmb38x MemoryStick host controller")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Applied for next, thanks!

Kind regards
Uffe


> ---
>  drivers/memstick/host/jmb38x_ms.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb38x_ms.c
> index a7a0f0caea15..21cb2a786058 100644
> --- a/drivers/memstick/host/jmb38x_ms.c
> +++ b/drivers/memstick/host/jmb38x_ms.c
> @@ -882,7 +882,7 @@ static struct memstick_host *jmb38x_ms_alloc_host(struct jmb38x_ms *jm, int cnt)
>
>         iounmap(host->addr);
>  err_out_free:
> -       kfree(msh);
> +       memstick_free_host(msh);
>         return NULL;
>  }
>
> --
> 2.20.1
>
diff mbox series

Patch

diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb38x_ms.c
index a7a0f0caea15..21cb2a786058 100644
--- a/drivers/memstick/host/jmb38x_ms.c
+++ b/drivers/memstick/host/jmb38x_ms.c
@@ -882,7 +882,7 @@  static struct memstick_host *jmb38x_ms_alloc_host(struct jmb38x_ms *jm, int cnt)
 
 	iounmap(host->addr);
 err_out_free:
-	kfree(msh);
+	memstick_free_host(msh);
 	return NULL;
 }