Re: netfilter: active obj WARN when cleaning up

From: Greg KH
Date: Mon Dec 02 2013 - 11:40:51 EST


On Mon, Dec 02, 2013 at 04:33:20PM +0000, Christoph Lameter wrote:
> On Wed, 27 Nov 2013, Greg KH wrote:
>
> > Just make the kobject "dynamic" instead of embedded in struct kmem_cache
> > and all will be fine. I can't believe this code has been broken for
> > this long.
>
> The slub code is was designed to use an embedded structure since we
> only get the kobj pointer passed to us from sysfs. If kobj is not
> embedded then how can we get from the sysfs object to the kmem_cache
> structure from the sysfs callbacks? Sysfs was designed to have embedded
> objects as far as I can recall.

Yes, it's designed to have embedded objects, so then use it that way and
clean up the structure when the kobject goes away. Don't use a
different reference count for your structure than the one in the kobject
and think that all will be fine.

greg k-h
--
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/