From: Greg KH <greg@kroah.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>,
Kay Sievers <kay.sievers@vrfy.org>,
Kernel development list <linux-kernel@vger.kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Randy Dunlap <randy.dunlap@oracle.com>
Subject: Re: [RFC] kobject: add kobject_init_ng and kobject_init_and_add functions
Date: Fri, 30 Nov 2007 14:33:04 -0800 [thread overview]
Message-ID: <20071130223304.GA7916@kroah.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0711301702200.2747-100000@iolanthe.rowland.org>
On Fri, Nov 30, 2007 at 05:10:33PM -0500, Alan Stern wrote:
> On Fri, 30 Nov 2007, Greg KH wrote:
>
> > Ok, how about this:
> > void kobject_init(struct kobject *kobj, struct ktype *ktype);
> >
> > and then:
> > int kobject_add(struct kobject *kobj, struct kobject *parent, const char *fmt, ...);
> >
> > After we call kobject_init() we HAVE to call kobject_put() to clean up
> > properly. So, if kobject_add() fails, we still need to clean up with
> > kobject_put();
>
> You could put that a little less strongly. After kobject_init() you
> SHOULD call kobject_put() to clean up properly, and after kobject_add()
> you MUST call kobject_del() and kobject_put().
No, in looking at the code, you only need to call kobject_del() to clean
everything up properly, if kobject_add() succeeds. No need to call
kobject_put() yet again.
Can someone else verify that this really is correct?
thanks,
greg k-h
p.s. I think it's time to start a "travel to .nz and kick a certain
ex-kernel-developer around a bit" fund...
prev parent reply other threads:[~2007-11-30 22:34 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-30 19:51 [RFC] kobject_init changes Greg KH
2007-11-30 19:53 ` [RFC] kobject: add kobject_init_ng and kobject_init_and_add functions Greg KH
2007-11-30 19:54 ` [RFC] kobject: convert some users of kobject_init to the new functions Greg KH
2007-11-30 20:25 ` [RFC] kobject: add kobject_init_ng and kobject_init_and_add functions Alan Stern
2007-11-30 21:04 ` Greg KH
2007-11-30 21:07 ` Greg KH
2007-11-30 21:19 ` Alan Stern
2007-11-30 21:48 ` Greg KH
2007-11-30 22:10 ` Alan Stern
2007-11-30 22:26 ` Greg KH
2007-11-30 23:22 ` Alan Stern
2007-12-01 0:58 ` Greg KH
2007-11-30 22:33 ` Greg KH [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071130223304.GA7916@kroah.com \
--to=greg@kroah.com \
--cc=corbet@lwn.net \
--cc=cornelia.huck@de.ibm.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=randy.dunlap@oracle.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.