Greg KH
unread,Nov 10, 2022, 3:18:17 AM11/10/22Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Yang Yingliang, open-...@googlegroups.com, linux...@vger.kernel.org, linux-...@vger.kernel.org, ldu...@suse.com, cle...@redhat.com, michael....@oracle.com, je...@linux.ibm.com, martin....@oracle.com, raf...@kernel.org
On Thu, Nov 10, 2022 at 11:48:09AM +0800, Yang Yingliang wrote:
> Current some drivers(like iscsi) call transport_register_device()
> failed, they don't call transport_destroy_device() to release the
> memory allocated in transport_setup_device(), because they don't
> know what was done, it should be internal thing to release the
> resource in register function. So fix this leak by calling destroy
> function inside register function.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Yang Yingliang <
yangyi...@huawei.com>
> ---
> include/linux/transport_class.h | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/transport_class.h b/include/linux/transport_class.h
> index 63076fb835e3..f4835250bbfc 100644
> --- a/include/linux/transport_class.h
> +++ b/include/linux/transport_class.h
> @@ -70,8 +70,15 @@ void transport_destroy_device(struct device *);
> static inline int
> transport_register_device(struct device *dev)
> {
> + int ret;
> +
> transport_setup_device(dev);
> - return transport_add_device(dev);
> + ret = transport_add_device(dev);
> + if (ret) {
> + transport_destroy_device(dev);
> + }
Please use scripts/
checkpatch.pl on your patches before sending them out
so you don't get grumpy maintainers asking you to use
scripts/
checkpatch.pl on your patches :)
thanks,
greg k-h