From: Richard Retanubun <richardretanubun@ruggedcom.com>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>, Greg KH <greg@kroah.com>,
Lennart Sorensen <lsorense@csclub.uwaterloo.ca>,
Tang Nguyen <TangNguyen@ruggedcom.com>,
linux-usb mailing list <linux-usb@vger.kernel.org>
Subject: Re: kmemleak report on isp1763 and sierra MC8705
Date: Fri, 9 Nov 2012 17:14:34 -0500 [thread overview]
Message-ID: <509D804A.7080807@ruggedcom.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1210291806360.31151-100000@netrider.rowland.org>
On 29/10/12 06:14 PM, Alan Stern wrote:
> On Mon, 29 Oct 2012, Richard Retanubun wrote:
>> Focusing down on one of the dumps:
>>
>> unreferenced object 0xd3849740 (size 8):
>> comm "khubd", pid 1026, jiffies 232553037 (age 506.597s)
>> hex dump (first 8 bytes):
>> 4d 43 38 37 30 35 00 00 MC8705..
>> backtrace:
>> [<e30efd74>] usb_cache_string+0x74/0xac [usbcore]
>> [<e30e77bc>] usb_enumerate_device+0x44/0xf8 [usbcore]
>> [<e30e7aa0>] usb_new_device+0x3c/0x13c [usbcore]
>> [<e30e9824>] hub_thread+0xc8c/0x1544 [usbcore]
>> [<c0043aa8>] kthread+0x7c/0x80
>> [<c000ed48>] kernel_thread+0x4c/0x68
>>
>> I have a small question. How does the memory kmalloc-ed() in usb_cache_string is supposed to be released?
>> (during usb_serial_disconnect()?)
>
> It doesn't get released during usb_serial_disconnect(). It gets
> released during usb_release_dev() in drivers/usb/core/usb.c.
>
>> Is the sierra driver is supposed to participate
>> in the tear down process (in sierra_release() maybe) and not doing something that is expected?
>
> Probably not.
>
>> I am still missing the link between the actions done by the hub_thread() for the caching the stings
>> and the sierra driver code.
>
> They aren't all that closely related.
>
> usb_release_dev() won't be called until all references to the USB
> device have been dropped. Maybe there's an extra reference hanging
> around.
>
> Alan Stern
>
Thanks a lot for the hint Alan.
I added a dev_dbg print in usb_release_dev() and saw that in the builds where there is a leak, this was simply never called!
the last line printed in a trace with all dev_dbg on is this "usb_disable_device nuking all URBs"
When the sierra modem is unplugged, the cleanup sequence never calls usb_release_dev() (on PL2303 it always calls usb_release_dev()
This is the current state of versions from linux-stable
3.0.y (3.0.51) - Have the issue
3.2.y (3.2.33) - Have the issue
3.4.y (3.4.18) - Have the issue
3.5.y (3.5.7) - Does not have the issue (but leaks because the portdata patches is not backported yet)
3.6.y (3.6.6) - Does not have the issue
So a diff between 3.4.y and 3.5.y ought to narrow it down further.
I am posting just in case someone recalls a particular patch I should be trying out first...
-- RR --
next prev parent reply other threads:[~2012-11-09 22:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-26 21:57 kmemleak report on isp1763 and sierra MC8705 Richard Retanubun
2012-10-26 23:35 ` Greg KH
2012-10-29 20:47 ` Richard Retanubun
2012-10-29 21:11 ` Greg KH
2012-10-29 22:14 ` Alan Stern
2012-11-09 22:14 ` Richard Retanubun [this message]
2012-11-10 14:30 ` Johan Hovold
2012-11-14 17:12 ` Richard Retanubun
2012-11-14 17:52 ` Johan Hovold
2012-11-21 1:15 ` Greg Kroah-Hartman
2012-11-25 14:24 ` Ben Hutchings
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=509D804A.7080807@ruggedcom.com \
--to=richardretanubun@ruggedcom.com \
--cc=TangNguyen@ruggedcom.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=lsorense@csclub.uwaterloo.ca \
--cc=stern@rowland.harvard.edu \
/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.