From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753978AbbHFABW (ORCPT ); Wed, 5 Aug 2015 20:01:22 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:42245 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753428AbbHFABU (ORCPT ); Wed, 5 Aug 2015 20:01:20 -0400 Date: Wed, 5 Aug 2015 17:01:20 -0700 From: Greg KH To: Chen Lin Z Cc: linux-kernel@vger.kernel.org, bo.he@intel.com, yanmin_zhang@linux.intel.com Subject: Re: [PATCH] driver core: bus: Free the kobject.name if kset_register fails Message-ID: <20150806000120.GA25419@kroah.com> References: <1433840721-15918-1-git-send-email-lin.z.chen@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1433840721-15918-1-git-send-email-lin.z.chen@intel.com> User-Agent: Mutt/1.5.23+102 (2ca89bed6448) (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 09, 2015 at 05:05:21PM +0800, Chen Lin Z wrote: > if register two bus with the same name, kset_register will fail. > it need free kobject.name, otherwise there is a memory leak. > > Signed-off-by: Chen Lin Z > --- > drivers/base/bus.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/base/bus.c b/drivers/base/bus.c > index 79bc203..9375048 100644 > --- a/drivers/base/bus.c > +++ b/drivers/base/bus.c > @@ -894,8 +894,10 @@ int bus_register(struct bus_type *bus) > priv->drivers_autoprobe = 1; > > retval = kset_register(&priv->subsys); > - if (retval) > + if (retval) { > + kfree(priv->subsys.kobj.name); This doesn't solve the problem properly, as all of the other error paths also need to free this memory. And I really hate to poke around this "deep" into the kobject core, but I understand it's needed here :( thanks, greg k-h