From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Wei Yongjun <weiyongjun1@huawei.com>
Cc: Colin Ian King <colin.king@intel.com>,
Tony Olech <tony.olech@elandigitalsystems.com>,
linux-usb@vger.kernel.org, Hulk Robot <hulkci@huawei.com>
Subject: Re: [PATCH] usb: ftdi-elan: fix memory leak on device disconnect
Date: Fri, 17 Dec 2021 10:57:32 +0100 [thread overview]
Message-ID: <YbxfDOmMvIirlhR/@kroah.com> (raw)
In-Reply-To: <20211217083428.2441-1-weiyongjun1@huawei.com>
On Fri, Dec 17, 2021 at 04:34:28PM +0800, Wei Yongjun wrote:
> 'ftdi' is alloced when probe device, but not free on device disconnect,
> this cause a memory leak as follows:
>
> unreferenced object 0xffff88800d584000 (size 8400):
> comm "kworker/0:2", pid 3809, jiffies 4295453055 (age 13.784s)
> hex dump (first 32 bytes):
> 00 40 58 0d 80 88 ff ff 00 40 58 0d 80 88 ff ff .@X......@X.....
> 00 00 00 00 00 00 00 00 00 00 00 00 ad 4e ad de .............N..
> backtrace:
> [<000000000d47f947>] kmalloc_order_trace+0x19/0x110 mm/slab_common.c:960
> [<000000008548ac68>] ftdi_elan_probe+0x8c/0x880 drivers/usb/misc/ftdi-elan.c:2647
> [<000000007f73e422>] usb_probe_interface+0x31b/0x800 drivers/usb/core/driver.c:396
> [<00000000fe8d07fc>] really_probe+0x299/0xc30 drivers/base/dd.c:517
> [<0000000005da7d32>] __driver_probe_device+0x357/0x500 drivers/base/dd.c:751
> [<000000003c2c9579>] driver_probe_device+0x4e/0x140 drivers/base/dd.c:781
>
> Fix it by freeing 'ftdi' after nobody use it.
>
> Fixes: a5c66e4b2418 ("USB: ftdi-elan: client driver for ELAN Uxxx adapters")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
>
> diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
> index e5a8fcdbb78e..6c38c62d29b2 100644
> --- a/drivers/usb/misc/ftdi-elan.c
> +++ b/drivers/usb/misc/ftdi-elan.c
> @@ -202,6 +202,7 @@ static void ftdi_elan_delete(struct kref *kref)
> mutex_unlock(&ftdi_module_lock);
> kfree(ftdi->bulk_in_buffer);
> ftdi->bulk_in_buffer = NULL;
> + kfree(ftdi);
> }
Wow, yes, good catch. Funny no one has ever noticed that before :(
greg k-h
prev parent reply other threads:[~2021-12-17 9:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-17 8:34 [PATCH] usb: ftdi-elan: fix memory leak on device disconnect Wei Yongjun
2021-12-17 9:57 ` Greg Kroah-Hartman [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YbxfDOmMvIirlhR/@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=colin.king@intel.com \
--cc=hulkci@huawei.com \
--cc=linux-usb@vger.kernel.org \
--cc=tony.olech@elandigitalsystems.com \
--cc=weiyongjun1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.