Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761232AbXK2Pr2 (ORCPT ); Thu, 29 Nov 2007 10:47:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756598AbXK2PrU (ORCPT ); Thu, 29 Nov 2007 10:47:20 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:50909 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1755115AbXK2PrU (ORCPT ); Thu, 29 Nov 2007 10:47:20 -0500 Date: Thu, 29 Nov 2007 10:47:19 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Cornelia Huck cc: Greg KH , , Kay Sievers , Jonathan Corbet , Randy Dunlap Subject: Re: [RFC] New kobject/kset/ktype documentation and example code In-Reply-To: <20071129111251.35b3b17d@gondolin.boeblingen.de.ibm.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1262 Lines: 28 On Thu, 29 Nov 2007, Cornelia Huck wrote: > > The only problem arises when a child's driver retains a reference to > > the parent kobject. If things are done properly, this reference should > > involve incrementing the module count -- which would prevent the module > > from being unloaded in the first place. > > This still leaves the possibility that random code may grab a reference > once the kobject is present in the tree and lookupable. You gave up the > control of the number of references to your object once you made it > public. I don't agree with this argument. Code should never grab random references without insuring that the owner of the referenced object is pinned. This rule applies to everything, not just kobjects. Unfortunately kobjects don't have an owner field. In practice this means that it isn't possible to pin the owner of some random kobject -- you have to know where the kobject came from or what it's embedded in. All users of kobjects need to work this way. Alan Stern - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/