All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Yingliang <yangyingliang@huawei.com>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: <gregkh@linuxfoundation.org>, <rafael@kernel.org>,
	<somlo@cmu.edu>, <mst@redhat.com>, <jaegeuk@kernel.org>,
	<chao@kernel.org>, <hsiangkao@linux.alibaba.com>,
	<huangjianan@oppo.com>, <mark@fasheh.com>, <jlbec@evilplan.org>,
	<joseph.qi@linux.alibaba.com>, <akpm@linux-foundation.org>,
	<alexander.deucher@amd.com>, <richard@nod.at>,
	<liushixin2@huawei.com>
Subject: Re: [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .

WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang via Ocfs2-devel <ocfs2-devel@oss.oracle.com>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: alexander.deucher@amd.com, richard@nod.at, mst@redhat.com,
	gregkh@linuxfoundation.org, somlo@cmu.edu, chao@kernel.org,
	huangjianan@oppo.com, liushixin2@huawei.com,
	hsiangkao@linux.alibaba.com, rafael@kernel.org,
	jaegeuk@kernel.org
Subject: Re: [Ocfs2-devel] [PATCH 00/11] fix memory leak while	kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .

_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: alexander.deucher@amd.com, richard@nod.at, mst@redhat.com,
	gregkh@linuxfoundation.org, somlo@cmu.edu, liushixin2@huawei.com,
	joseph.qi@linux.alibaba.com, jlbec@evilplan.org,
	hsiangkao@linux.alibaba.com, rafael@kernel.org,
	jaegeuk@kernel.org, akpm@linux-foundation.org, mark@fasheh.com
Subject: Re: [f2fs-dev] [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang via Linux-erofs <linux-erofs@lists.ozlabs.org>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: alexander.deucher@amd.com, richard@nod.at, mst@redhat.com,
	gregkh@linuxfoundation.org, somlo@cmu.edu, huangjianan@oppo.com,
	liushixin2@huawei.com, joseph.qi@linux.alibaba.com,
	jlbec@evilplan.org, hsiangkao@linux.alibaba.com,
	rafael@kernel.org, jaegeuk@kernel.org, akpm@linux-foundation.org,
	mark@fasheh.com
Subject: Re: [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .

WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang <yangyingliang@huawei.com>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: <gregkh@linuxfoundation.org>, <rafael@kernel.org>,
	<somlo@cmu.edu>, <mst@redhat.com>, <jaegeuk@kernel.org>,
	<chao@kernel.org>, <hsiangkao@linux.alibaba.com>,
	<huangjianan@oppo.com>, <mark@fasheh.com>, <jlbec@evilplan.org>,
	<joseph.qi@linux.alibaba.com>, <akpm@linux-foundation.org>,
	<alexander.deucher@amd.com>, <richard@nod.at>,
	<liushixin2@huawei.com>
Subject: Re: [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang via <qemu-devel@nongnu.org>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: <gregkh@linuxfoundation.org>, <rafael@kernel.org>,
	<somlo@cmu.edu>, <mst@redhat.com>, <jaegeuk@kernel.org>,
	<chao@kernel.org>, <hsiangkao@linux.alibaba.com>,
	<huangjianan@oppo.com>, <mark@fasheh.com>, <jlbec@evilplan.org>,
	<joseph.qi@linux.alibaba.com>, <akpm@linux-foundation.org>,
	<alexander.deucher@amd.com>, <richard@nod.at>,
	<liushixin2@huawei.com>
Subject: Re: [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .


WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang <yangyingliang@huawei.com>
To: Luben Tuikov <luben.tuikov@amd.com>,
	<linux-kernel@vger.kernel.org>, <qemu-devel@nongnu.org>,
	<linux-f2fs-devel@lists.sourceforge.net>,
	<linux-erofs@lists.ozlabs.org>, <ocfs2-devel@oss.oracle.com>,
	<linux-mtd@lists.infradead.org>, <amd-gfx@lists.freedesktop.org>
Cc: alexander.deucher@amd.com, richard@nod.at, mst@redhat.com,
	gregkh@linuxfoundation.org, somlo@cmu.edu, chao@kernel.org,
	huangjianan@oppo.com, liushixin2@huawei.com,
	joseph.qi@linux.alibaba.com, jlbec@evilplan.org,
	hsiangkao@linux.alibaba.com, rafael@kernel.org,
	jaegeuk@kernel.org, akpm@linux-foundation.org, mark@fasheh.com
Subject: Re: [PATCH 00/11] fix memory leak while kset_register() fails
Date: Fri, 21 Oct 2022 15:25:51 +0800	[thread overview]
Message-ID: <2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com> (raw)
In-Reply-To: <d559793a-0ce4-3384-e74e-19855aa31f31@amd.com>

Hi,

On 2022/10/21 13:29, Luben Tuikov wrote:
> On 2022-10-20 22:20, Yang Yingliang wrote:
>> The previous discussion link:
>> https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/
> The very first discussion on this was here:
>
> https://www.spinics.net/lists/dri-devel/msg368077.html
>
> Please use this link, and not the that one up there you which quoted above,
> and whose commit description is taken verbatim from the this link.
I found this leaks in 
bus_register()/class_register()/kset_create_and_add() at first, and describe
the reason in these patches which is using kobject_set_name() 
description, here is the patches:

https://lore.kernel.org/lkml/20221017014957.156645-1-yangyingliang@huawei.com/T/
https://lore.kernel.org/lkml/20221017031335.1845383-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/Y0zfPKAgQSrYZg5o@kroah.com/T/

And then I found other subsystem also have this problem, so posted the 
fix patches for them
(including qemu_fw_cfg/f2fs/erofs/ocfs2/amdgpu_discovery):

https://www.mail-archive.com/qemu-devel@nongnu.org/msg915553.html
https://lore.kernel.org/linux-f2fs-devel/7908686b-9a7c-b754-d312-d689fc28366e@kernel.org/T/#t
https://lore.kernel.org/linux-erofs/20221018073947.693206-1-yangyingliang@huawei.com/
https://lore.kernel.org/lkml/0db486eb-6927-927e-3629-958f8f211194@huawei.com/T/

https://www.spinics.net/lists/dri-devel/msg368092.html
In the amdgpu_discovery patch, I sent a old one which using wrong 
description and you pointer out,
and then I send a v2.

And then the maintainer of ocfs2 has different thought about this, so we 
had a discussion in the link
that I gave out, and Greg suggested me to update kset_register() 
documentation and then put the fix
patches together in one series, so I sent this patchset and use the link.

Thanks,
Yang

>
>> kset_register() is currently used in some places without calling
>> kset_put() in error path, because the callers think it should be
>> kset internal thing to do, but the driver core can not know what
>> caller doing with that memory at times. The memory could be freed
>> both in kset_put() and error path of caller, if it is called in
>> kset_register().
> As I explained in the link above, the reason there's
> a memory leak is that one cannot call kset_register() without
> the kset->kobj.name being set--kobj_add_internal() returns -EINVAL,
> in this case, i.e. kset_register() fails with -EINVAL.
>
> Thus, the most common usage is something like this:
>
> 	kobj_set_name(&kset->kobj, format, ...);
> 	kset->kobj.kset = parent_kset;
> 	kset->kobj.ktype = ktype;
> 	res = kset_register(kset);
>
> So, what is being leaked, is the memory allocated in kobj_set_name(),
> by the common idiom shown above. This needs to be mentioned in
> the documentation, at least, in case, in the future this is absolved
> in kset_register() redesign, etc.
>
> Regards,
> Luben
>
>> So make the function documentation more explicit about calling
>> kset_put() in the error path of caller first, so that people
>> have a chance to know what to do here, then fixes this leaks
>> by calling kset_put() from callers.
>>
>> Liu Shixin (1):
>>    ubifs: Fix memory leak in ubifs_sysfs_init()
>>
>> Yang Yingliang (10):
>>    kset: fix documentation for kset_register()
>>    kset: add null pointer check in kset_put()
>>    bus: fix possible memory leak in bus_register()
>>    kobject: fix possible memory leak in kset_create_and_add()
>>    class: fix possible memory leak in __class_register()
>>    firmware: qemu_fw_cfg: fix possible memory leak in
>>      fw_cfg_build_symlink()
>>    f2fs: fix possible memory leak in f2fs_init_sysfs()
>>    erofs: fix possible memory leak in erofs_init_sysfs()
>>    ocfs2: possible memory leak in mlog_sys_init()
>>    drm/amdgpu/discovery: fix possible memory leak
>>
>>   drivers/base/bus.c                            | 4 +++-
>>   drivers/base/class.c                          | 6 ++++++
>>   drivers/firmware/qemu_fw_cfg.c                | 2 +-
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 5 +++--
>>   fs/erofs/sysfs.c                              | 4 +++-
>>   fs/f2fs/sysfs.c                               | 4 +++-
>>   fs/ocfs2/cluster/masklog.c                    | 7 ++++++-
>>   fs/ubifs/sysfs.c                              | 2 ++
>>   include/linux/kobject.h                       | 3 ++-
>>   lib/kobject.c                                 | 5 ++++-
>>   10 files changed, 33 insertions(+), 9 deletions(-)
>>
> .

  parent reply	other threads:[~2022-10-21  7:26 UTC|newest]

Thread overview: 216+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-21  2:20 [PATCH 00/11] fix memory leak while kset_register() fails Yang Yingliang
2022-10-21  2:20 ` Yang Yingliang
2022-10-21  2:20 ` Yang Yingliang via
2022-10-21  2:20 ` Yang Yingliang via Linux-erofs
2022-10-21  2:20 ` Yang Yingliang
2022-10-21  2:20 ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20 ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [PATCH 01/11] kset: fix documentation for kset_register() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  5:34   ` Luben Tuikov
2022-10-21  5:34     ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  5:34     ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  5:34     ` Luben Tuikov
2022-10-21  5:34     ` Luben Tuikov via Linux-erofs
2022-10-21  5:34     ` Luben Tuikov
2022-10-21  8:05     ` Yang Yingliang
2022-10-21  8:05       ` Yang Yingliang
2022-10-21  8:05       ` Yang Yingliang via
2022-10-21  8:05       ` Yang Yingliang via Linux-erofs
2022-10-21  8:05       ` Yang Yingliang
2022-10-21  8:05       ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  8:05       ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  8:16       ` Greg KH
2022-10-21  8:16         ` Greg KH
2022-10-21  8:16         ` Greg KH
2022-10-21  8:16         ` Greg KH
2022-10-21  8:16         ` [f2fs-dev] " Greg KH
2022-10-21  8:16         ` [Ocfs2-devel] " Greg KH via Ocfs2-devel
2022-10-21  8:18       ` Luben Tuikov
2022-10-21  8:18         ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  8:18         ` Luben Tuikov
2022-10-21  8:18         ` Luben Tuikov via Linux-erofs
2022-10-21  8:18         ` Luben Tuikov
2022-10-21  8:18         ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  2:20 ` [PATCH 02/11] kset: add null pointer check in kset_put() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [PATCH 03/11] bus: fix possible memory leak in bus_register() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [PATCH 04/11] kobject: fix possible memory leak in kset_create_and_add() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [Ocfs2-devel] [PATCH 05/11] class: fix possible memory leak in __class_register() Yang Yingliang via Ocfs2-devel
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20 ` [PATCH 06/11] firmware: qemu_fw_cfg: fix possible memory leak in fw_cfg_build_symlink() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [PATCH 07/11] f2fs: fix possible memory leak in f2fs_init_sysfs() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:20 ` [PATCH 08/11] erofs: fix possible memory leak in erofs_init_sysfs() Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via
2022-10-21  2:20   ` Yang Yingliang
2022-10-21  2:20   ` Yang Yingliang via Linux-erofs
2022-10-21  2:20   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:20   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:21 ` [Ocfs2-devel] [PATCH 09/11] ocfs2: possible memory leak in mlog_sys_init() Yang Yingliang via Ocfs2-devel
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang via Linux-erofs
2022-10-21  2:21   ` Yang Yingliang via
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:21 ` [PATCH 10/11] drm/amdgpu/discovery: fix possible memory leak Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang via
2022-10-21  2:21   ` Yang Yingliang via Linux-erofs
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:21   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  2:21 ` [PATCH 11/11] ubifs: Fix memory leak in ubifs_sysfs_init() Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` Yang Yingliang via
2022-10-21  2:21   ` Yang Yingliang via Linux-erofs
2022-10-21  2:21   ` Yang Yingliang
2022-10-21  2:21   ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  2:21   ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  5:29 ` [PATCH 00/11] fix memory leak while kset_register() fails Luben Tuikov
2022-10-21  5:29   ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  5:29   ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  5:29   ` Luben Tuikov via Linux-erofs
2022-10-21  5:29   ` Luben Tuikov
2022-10-21  5:29   ` Luben Tuikov
2022-10-21  5:37   ` Greg KH
2022-10-21  5:37     ` Greg KH
2022-10-21  5:37     ` Greg KH
2022-10-21  5:37     ` Greg KH
2022-10-21  5:37     ` [f2fs-dev] " Greg KH
2022-10-21  5:37     ` [Ocfs2-devel] " Greg KH via Ocfs2-devel
2022-10-21  7:55     ` Luben Tuikov
2022-10-21  7:55       ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  7:55       ` Luben Tuikov
2022-10-21  7:55       ` Luben Tuikov via Linux-erofs
2022-10-21  7:55       ` Luben Tuikov
2022-10-21  8:18       ` Greg KH
2022-10-21  8:18         ` Greg KH
2022-10-21  8:18         ` Greg KH
2022-10-21  8:18         ` Greg KH
2022-10-21  8:18         ` [f2fs-dev] " Greg KH
2022-10-21  8:18         ` [Ocfs2-devel] " Greg KH via Ocfs2-devel
2022-10-21  8:24         ` Luben Tuikov
2022-10-21  8:24           ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  8:24           ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  8:24           ` Luben Tuikov
2022-10-21  8:24           ` Luben Tuikov
2022-10-21  8:24           ` Luben Tuikov via Linux-erofs
2022-10-21  8:41           ` Luben Tuikov
2022-10-21  8:41             ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  8:41             ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  8:41             ` Luben Tuikov via Linux-erofs
2022-10-21  8:41             ` Luben Tuikov
2022-10-21  8:41             ` Luben Tuikov
2022-10-21  9:23             ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  9:23               ` Yang Yingliang
2022-10-21  9:23               ` Yang Yingliang via
2022-10-21  9:23               ` Yang Yingliang
2022-10-21  9:23               ` Yang Yingliang via Linux-erofs
2022-10-21  9:23               ` Yang Yingliang
2022-10-21  9:23               ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  8:24     ` Yang Yingliang
2022-10-21  8:24       ` Yang Yingliang
2022-10-21  8:24       ` Yang Yingliang via
2022-10-21  8:24       ` Yang Yingliang
2022-10-21  8:24       ` Yang Yingliang via Linux-erofs
2022-10-21  8:24       ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  8:24       ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  8:36       ` Greg KH
2022-10-21  8:36         ` Greg KH
2022-10-21  8:36         ` Greg KH
2022-10-21  8:36         ` Greg KH
2022-10-21  8:36         ` [f2fs-dev] " Greg KH
2022-10-21  8:36         ` [Ocfs2-devel] " Greg KH via Ocfs2-devel
2022-10-21  8:52         ` Luben Tuikov
2022-10-21  8:52           ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  8:52           ` Luben Tuikov
2022-10-21  8:52           ` Luben Tuikov via Linux-erofs
2022-10-21  8:52           ` Luben Tuikov
2022-10-21  8:52           ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  8:59         ` Yang Yingliang
2022-10-21  8:59           ` Yang Yingliang
2022-10-21  8:59           ` Yang Yingliang via
2022-10-21  8:59           ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  8:59           ` Yang Yingliang via Linux-erofs
2022-10-21  8:59           ` Yang Yingliang
2022-10-21  8:59           ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  9:08           ` Luben Tuikov
2022-10-21  9:08             ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  9:08             ` Luben Tuikov
2022-10-21  9:08             ` Luben Tuikov via Linux-erofs
2022-10-21  9:08             ` Luben Tuikov
2022-10-21  9:08             ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21  9:56             ` Yang Yingliang
2022-10-21  9:56               ` Yang Yingliang
2022-10-21  9:56               ` Yang Yingliang via
2022-10-21  9:56               ` Yang Yingliang via Linux-erofs
2022-10-21  9:56               ` Yang Yingliang
2022-10-21  9:56               ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  9:56               ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21 23:45               ` Luben Tuikov
2022-10-21 23:45                 ` Luben Tuikov
2022-10-21 23:45                 ` Luben Tuikov via Linux-erofs
2022-10-21 23:45                 ` Luben Tuikov
2022-10-21 23:45                 ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21 23:45                 ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21  9:12         ` Yang Yingliang
2022-10-21  9:12           ` Yang Yingliang
2022-10-21  9:12           ` Yang Yingliang via
2022-10-21  9:12           ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel
2022-10-21  9:12           ` Yang Yingliang
2022-10-21  9:12           ` Yang Yingliang via Linux-erofs
2022-10-21  9:12           ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21 23:48           ` Luben Tuikov
2022-10-21 23:48             ` [f2fs-dev] " Luben Tuikov via Linux-f2fs-devel
2022-10-21 23:48             ` Luben Tuikov via Linux-erofs
2022-10-21 23:48             ` Luben Tuikov
2022-10-21 23:48             ` [Ocfs2-devel] " Luben Tuikov via Ocfs2-devel
2022-10-21 23:48             ` Luben Tuikov
2022-10-21  7:25   ` Yang Yingliang [this message]
2022-10-21  7:25     ` Yang Yingliang
2022-10-21  7:25     ` Yang Yingliang via
2022-10-21  7:25     ` Yang Yingliang
2022-10-21  7:25     ` Yang Yingliang via Linux-erofs
2022-10-21  7:25     ` [f2fs-dev] " Yang Yingliang via Linux-f2fs-devel
2022-10-21  7:25     ` [Ocfs2-devel] " Yang Yingliang via Ocfs2-devel

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=2a99c52c-d29c-5f5c-57a8-9851018e7420@huawei.com \
    --to=yangyingliang@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=chao@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hsiangkao@linux.alibaba.com \
    --cc=huangjianan@oppo.com \
    --cc=jaegeuk@kernel.org \
    --cc=jlbec@evilplan.org \
    --cc=joseph.qi@linux.alibaba.com \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=liushixin2@huawei.com \
    --cc=luben.tuikov@amd.com \
    --cc=mark@fasheh.com \
    --cc=mst@redhat.com \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rafael@kernel.org \
    --cc=richard@nod.at \
    --cc=somlo@cmu.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.