Re: [PATCH v2] bridge: Fix error path for kobject_init_and_add()
From: David Miller
Date: Fri May 10 2019 - 18:07:52 EST
From: "Tobin C. Harding" <tobin@xxxxxxxxxx>
Date: Fri, 10 May 2019 12:52:12 +1000
> Currently error return from kobject_init_and_add() is not followed by a
> call to kobject_put(). This means there is a memory leak. We currently
> set p to NULL so that kfree() may be called on it as a noop, the code is
> arguably clearer if we move the kfree() up closer to where it is
> called (instead of after goto jump).
>
> Remove a goto label 'err1' and jump to call to kobject_put() in error
> return from kobject_init_and_add() fixing the memory leak. Re-name goto
> label 'put_back' to 'err1' now that we don't use err1, following current
> nomenclature (err1, err2 ...). Move call to kfree out of the error
> code at bottom of function up to closer to where memory was allocated.
> Add comment to clarify call to kfree().
>
> Signed-off-by: Tobin C. Harding <tobin@xxxxxxxxxx>
> ---
>
> v1 was a part of a set. I have dropped the other patch until I can work
> out a correct solution.
Applied and queued up for -stable, thanks.