All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Toshi Kani <toshi.kani@hp.com>
Cc: "rjw@sisk.pl" <rjw@sisk.pl>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Steven Rostedt <rostedt@goodmis.org>,
	"zhangwei(Jovi)" <jovi.zhangwei@huawei.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>
Subject: Re: V3.10-rc1 memory leak
Date: Wed, 15 May 2013 17:47:43 +0100	[thread overview]
Message-ID: <20130515164743.GD9324@arm.com> (raw)
In-Reply-To: <1368632990.5673.33.camel@misato.fc.hp.com>

On Wed, May 15, 2013 at 04:49:50PM +0100, Toshi Kani wrote:
> On Wed, 2013-05-15 at 16:02 +0100, Catalin Marinas wrote:
> > On Wed, May 15, 2013 at 04:15:46AM +0100, Larry Finger wrote:
> > > I do not see that particular one; however, I see 4 instances of
> > > 
> > > unreferenced object 0xffff8800b7979750 (size 8):
> > >    comm "swapper/0", pid 1, jiffies 4294892402 (age 21888.316s)
> > >    hex dump (first 8 bytes):
> > >      31 38 00 b7 00 88 ff ff                          18......
> > >    backtrace:
> > >      [<ffffffff81432ea1>] kmemleak_alloc+0x21/0x50
> > >      [<ffffffff81145d50>] __kmalloc_track_caller+0x140/0x2b0
> > >      [<ffffffff81119fb5>] kstrdup+0x35/0x70
> > >      [<ffffffff8125febc>] acpi_set_pnp_ids+0xd0/0x304
> > >      [<ffffffff81260c47>] acpi_scan_init_hotplug+0x47/0xa1
> > >      [<ffffffff81261223>] acpi_bus_check_add+0x66/0xd7
> > >      [<ffffffff8127877a>] acpi_ns_walk_namespace+0xb9/0x173
> > >      [<ffffffff81278bf3>] acpi_walk_namespace+0x93/0xc6
> > >      [<ffffffff812612dc>] acpi_bus_scan+0x48/0x9a
> > >      [<ffffffff818c983d>] acpi_scan_init+0x57/0x14b
> > >      [<ffffffff818c966a>] acpi_init+0x244/0x286
> > >      [<ffffffff810002fa>] do_one_initcall+0x10a/0x160
> > >      [<ffffffff8189cef0>] kernel_init_freeable+0x103/0x192
> > >      [<ffffffff814313a9>] kernel_init+0x9/0xf0
> > >      [<ffffffff8144992c>] ret_from_fork+0x7c/0xb0
> > >      [<ffffffffffffffff>] 0xffffffffffffffff
> > > 
> > > All four were allocated early in the bootup, and are the only leaks reported in 
> > > my system. I have not yet tested to see if they are false.
> > 
> > This looks to me like a real leak, possibly introduced by commit
> > 6b772e8f9 (ACPI: Update PNPID match handling for notify). The
> > acpi_scan_init_hotplug() function calls acpi_set_pnp_ids() which
> > allocates pnp.unique_id (kstrdup()) but for some reason it fails and
> > does not set pnp.type.hardware_id. The return does not call
> > acpi_free_pnp_ids() which would be responsible for such freeing.
> 
> I agree with your analysis.  It appears that this ACPI device object has
> _UID but not _HID.  ACPI spec defines that _UID is a unique ID among a
> same _HID.  So, it is odd to have _UID without _HID.  But, nonetheless,
> this case needs to be handled as such systems exist.
> 
> > Something like below, but not tested and may fail some NULL pointer
> > checks:
> 
> The change looks good.  acpi_free_pnp_ids() handles this empty list
> pnp->ids properly.  Are you going to submit this patch with your
> signed-off?

Yes, I'll post it shortly. But I'd like an acked/tested-by as I don't
have a platform to test it.

Thanks.

-- 
Catalin

  reply	other threads:[~2013-05-15 16:53 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13 17:39 V3.10-rc1 memory leak Larry Finger
2013-05-14 19:09 ` Steven Rostedt
2013-05-14 20:30   ` Catalin Marinas
2013-05-14 21:10     ` Larry Finger
2013-05-14 21:20       ` Steven Rostedt
2013-05-15  0:57         ` Steven Rostedt
2013-05-15  3:15           ` Larry Finger
2013-05-15 15:02             ` Catalin Marinas
2013-05-15 15:49               ` Toshi Kani
2013-05-15 16:47                 ` Catalin Marinas [this message]
2013-05-15 17:53                   ` Toshi Kani
2013-05-15 20:46               ` Larry Finger
2013-05-15 14:37           ` Catalin Marinas
2013-05-15 19:33             ` Steven Rostedt
2013-05-15 19:46               ` Steven Rostedt
2013-05-16 10:12               ` Catalin Marinas
2013-05-16 23:47                 ` Rusty Russell
2013-05-14 20:36   ` Larry Finger

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=20130515164743.GD9324@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=jovi.zhangwei@huawei.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=rjw@sisk.pl \
    --cc=rostedt@goodmis.org \
    --cc=rusty@rustcorp.com.au \
    --cc=toshi.kani@hp.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.