[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130109170123.GB7068@kroah.com>
Date: Wed, 9 Jan 2013 09:01:23 -0800
From: Greg KH <gregkh@...uxfoundation.org>
To: "R, Durgadoss" <durgadoss.r@...el.com>
Cc: "Zhang, Rui" <rui.zhang@...el.com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"eduardo.valentin@...com" <eduardo.valentin@...com>,
"hongbo.zhang@...aro.org" <hongbo.zhang@...aro.org>,
"wni@...dia.com" <wni@...dia.com>
Subject: Re: [PATCH 3/9] Thermal: Add APIs to bind cdev to new zone structure
On Wed, Jan 09, 2013 at 09:21:23AM +0000, R, Durgadoss wrote:
> > -----Original Message-----
> > From: Greg KH [mailto:gregkh@...uxfoundation.org]
> > Sent: Tuesday, January 08, 2013 12:56 AM
> > To: R, Durgadoss
> > Cc: Zhang, Rui; linux-pm@...r.kernel.org; linux-kernel@...r.kernel.org;
> > eduardo.valentin@...com; hongbo.zhang@...aro.org; wni@...dia.com
> > Subject: Re: [PATCH 3/9] Thermal: Add APIs to bind cdev to new zone
> > structure
> >
> > On Mon, Jan 07, 2013 at 12:43:20PM +0530, Durgadoss R wrote:
> > > +struct thermal_cooling_device *get_cdev_by_name(const char *name)
> > > +{
> > > + struct thermal_cooling_device *pos;
> > > + struct thermal_cooling_device *cdev = NULL;
> > > +
> > > + mutex_lock(&cdev_list_lock);
> > > + for_each_cdev(pos) {
> > > + if (!strnicmp(pos->type, name, THERMAL_NAME_LENGTH)) {
> > > + cdev = pos;
> > > + break;
> > > + }
> > > + }
> > > + mutex_unlock(&cdev_list_lock);
> > > + return cdev;
> > > +}
> > > +EXPORT_SYMBOL(get_cdev_by_name);
> >
> > EXPORT_SYMBOL_GPL?
>
> We have all other exports as EXPORT_SYMBOL in this file(thermal_sys.c)
> If _GPL is required, the we will do a single patch changing all of them to
> EXPORT_SYMBOL_GPL.
Fair enough.
> > You also forgot to increment the reference count, which is required for
> > all reference counted objects.
>
> Sorry, I could not get what you are saying here.
You are doing a "get" call, yet you are failing to increment a reference
count on the object. That isn't allowed and can cause bad problems.
Please use proper reference counting for your structures.
greg k-h
--
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