lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 20 Dec 2012 14:18:49 +0530
From:	Venu Byravarasu <vbyravarasu@...dia.com>
To:	Stephen Warren <swarren@...dotorg.org>
CC:	"balbi@...com" <balbi@...com>,
	"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>
Subject: RE: [PATCH] usb: phy: tegra: Using devm API for memory allocation

> -----Original Message-----
> From: Stephen Warren [mailto:swarren@...dotorg.org]
> Sent: Wednesday, December 19, 2012 11:08 PM
> To: Venu Byravarasu
> Cc: balbi@...com; gregkh@...uxfoundation.org; linux-
> kernel@...r.kernel.org; linux-usb@...r.kernel.org
> Subject: Re: [PATCH] usb: phy: tegra: Using devm API for memory allocation
> 
> On 12/18/2012 10:38 PM, Venu Byravarasu wrote:
> >> -----Original Message-----
> >> From: Stephen Warren [mailto:swarren@...dotorg.org]
> >> Sent: Tuesday, December 18, 2012 10:03 PM
> >> To: Venu Byravarasu
> >> Cc: balbi@...com; gregkh@...uxfoundation.org; linux-
> >> kernel@...r.kernel.org; linux-usb@...r.kernel.org
> >> Subject: Re: [PATCH] usb: phy: tegra: Using devm API for memory
> allocation
> >>
> >
> > Stephen,
> > As you mentioned I can replace kmalloc with kzalloc in the original code
> > and push an updated patch.
> > However, I just wanted to understand if there exists any issue
> > in using devm_kzalloc instead of kzalloc?
> 
> devm_* are intended for objects allocated during probe(), and free()d
> during remove(). The object you're allocating here isn't that case.
> 
> Now, once you convert the Tegra PHY driver to be a true device, perhaps
> this object will be allocated/freed during probe/remove, so the devm_
> functions will be useful then?
> 
> The problem this may cause is a memory leak. Consider the Tegra EHCI and
> PHY drivers being built as modules, the PHY driver module being inserted
> and never removed, yet the EHCI driver being continually inserted and
> removed. Since the PHY is never removed, the memory allocated by its
> devm_kzalloc() call is never freed, but it's continually re-allocated
> since tegra_usb_phy_open() is called whenever the EHCI driver module is
> inserted. You need the explicit kfree() to avoid that, and since you're
> kfree()ing somewhere other than remove(), using devm_* to make the
> allocation isn't appropriate.
 
Thanks Stephen for the detailed explanation.
Sent updated patch for review: http://marc.info/?l=linux-usb&m=135599303216132&w=2 .

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists