Re: [PATCH] drivers-core: nullify private pointer on device-release

From: Guennadi Liakhovetski
Date: Mon Oct 05 2009 - 04:13:22 EST


On Thu, 1 Oct 2009, Greg KH wrote:

> On Thu, Oct 01, 2009 at 03:45:56PM +0200, Guennadi Liakhovetski wrote:
> > On Thu, 1 Oct 2009, Greg KH wrote:
> >
> > > On Thu, Oct 01, 2009 at 10:02:08AM +0200, Guennadi Liakhovetski wrote:
> > > > Device structures can be reused over multiple device_add / device_release
> > > > cycles.
> > >
> > > They shouldn't be as they should be dynamic, not static.
> >
> > Should they? I'm pretty sure this is not the first time this comes up -
> > there are several drivers and / or subsystems, that re-use driver objects.
>
> Then those drivers and subsystems should be fixed, as that is incorrect.
>
> > But finding in mail archives wouldn't be very easy. And it worked until
> > now - why should we break it?
>
> I would argue that this code was always broken.
> When did this problem show up for you?

Since commit b4028437876866aba4747a655ede00f892089e14

> > > What device is having this problem?
> >
> > My problem case is the soc-camera framework. There device struct is
> > embedded into the video client object, which are kept as long as the
> > driver is loaded.
>
> struct device is a dynamic structure, it is supposed to be able to be
> freed when the last reference goes away. Static struct device usage is
> wrong. It sounds like the video client object code is incorrect, please
> fix it.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/