[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190510.150622.135840136910324302.davem@davemloft.net>
Date: Fri, 10 May 2019 15:06:22 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: tobin@...nel.org
Cc: gregkh@...uxfoundation.org, roopa@...ulusnetworks.com,
nikolay@...ulusnetworks.com, tyhicks@...onical.com,
bridge@...ts.linux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] bridge: Fix error path for kobject_init_and_add()
From: "Tobin C. Harding" <tobin@...nel.org>
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@...nel.org>
> ---
>
> 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.
Powered by blists - more mailing lists