Re: [PATCH] kobject: clean up the kobject add documentation a bit more

2019-05-03 Thread Greg Kroah-Hartman
On Fri, May 03, 2019 at 11:25:29AM +1000, Tobin C. Harding wrote:
> On Thu, May 02, 2019 at 12:22:24PM +0200, Greg Kroah-Hartman wrote:
> > Commit 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
> > tried to provide more clarity, but the reference to kobject_del() was
> > incorrect.  Fix that up by removing that line, and hopefully be more 
> > explicit
> > as to exactly what needs to happen here once you register a kobject with the
> > kobject core.
> > 
> > Cc: Tobin C. Harding 
> > Fixes: 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
> > Signed-off-by: Greg Kroah-Hartman 
> > 
> > diff --git a/lib/kobject.c b/lib/kobject.c
> > index 3f4b7e95b0c2..f2ccdbac8ed9 100644
> > --- a/lib/kobject.c
> > +++ b/lib/kobject.c
> > @@ -416,8 +416,12 @@ static __printf(3, 0) int kobject_add_varg(struct 
> > kobject *kobj,
> >   * to this function be directly freed with a call to kfree(),
> >   * that can leak memory.
> >   *
> > - * If this call returns successfully and you later need to unwind
> > - * kobject_add() for the error path you should call kobject_del().
> > + * If this function returns success, kobject_put() must also be 
> > called
> > + * in order to properly clean up the memory associated with the 
> > object.
> > + *
> > + * In short, once this function is called, kobject_put() MUST be 
> > called
> > + * when the use of the object is finished in order to properly free
> > + * everything.
> >   */
> >  int kobject_add(struct kobject *kobj, struct kobject *parent,
> > const char *fmt, ...)
> 
> Ack! (Do I get to do those :)

Yes you do, thanks, now added to the patch and queued up.

greg k-h


Re: [PATCH] kobject: clean up the kobject add documentation a bit more

2019-05-02 Thread Tobin C. Harding
On Thu, May 02, 2019 at 12:22:24PM +0200, Greg Kroah-Hartman wrote:
> Commit 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
> tried to provide more clarity, but the reference to kobject_del() was
> incorrect.  Fix that up by removing that line, and hopefully be more explicit
> as to exactly what needs to happen here once you register a kobject with the
> kobject core.
> 
> Cc: Tobin C. Harding 
> Fixes: 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
> Signed-off-by: Greg Kroah-Hartman 
> 
> diff --git a/lib/kobject.c b/lib/kobject.c
> index 3f4b7e95b0c2..f2ccdbac8ed9 100644
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -416,8 +416,12 @@ static __printf(3, 0) int kobject_add_varg(struct 
> kobject *kobj,
>   * to this function be directly freed with a call to kfree(),
>   * that can leak memory.
>   *
> - * If this call returns successfully and you later need to unwind
> - * kobject_add() for the error path you should call kobject_del().
> + * If this function returns success, kobject_put() must also be 
> called
> + * in order to properly clean up the memory associated with the 
> object.
> + *
> + * In short, once this function is called, kobject_put() MUST be 
> called
> + * when the use of the object is finished in order to properly free
> + * everything.
>   */
>  int kobject_add(struct kobject *kobj, struct kobject *parent,
>   const char *fmt, ...)

Ack! (Do I get to do those :)

I'm not convinced we have the docs for kobject clear enough for a
kobject noob to read but this patch defiantly fixes the error I
introduced.

thanks,
Tobin.


[PATCH] kobject: clean up the kobject add documentation a bit more

2019-05-02 Thread Greg Kroah-Hartman
Commit 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
tried to provide more clarity, but the reference to kobject_del() was
incorrect.  Fix that up by removing that line, and hopefully be more explicit
as to exactly what needs to happen here once you register a kobject with the
kobject core.

Cc: Tobin C. Harding 
Fixes: 1fd7c3b438a2 ("kobject: Improve doc clarity kobject_init_and_add()")
Signed-off-by: Greg Kroah-Hartman 

diff --git a/lib/kobject.c b/lib/kobject.c
index 3f4b7e95b0c2..f2ccdbac8ed9 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -416,8 +416,12 @@ static __printf(3, 0) int kobject_add_varg(struct kobject 
*kobj,
  * to this function be directly freed with a call to kfree(),
  * that can leak memory.
  *
- * If this call returns successfully and you later need to unwind
- * kobject_add() for the error path you should call kobject_del().
+ * If this function returns success, kobject_put() must also be called
+ * in order to properly clean up the memory associated with the object.
+ *
+ * In short, once this function is called, kobject_put() MUST be called
+ * when the use of the object is finished in order to properly free
+ * everything.
  */
 int kobject_add(struct kobject *kobj, struct kobject *parent,
const char *fmt, ...)