* [PATCH] kobject: fix possible memory leak in kset_create_and_add()
@ 2022-10-17 2:33 Yang Yingliang
2022-10-17 4:51 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Yang Yingliang @ 2022-10-17 2:33 UTC (permalink / raw)
To: linux-kernel; +Cc: gregkh, rafael
If kset_register() fails in kset_create_and_add(), the name allocated
in kset_create() will be leaked. To fix this by calling kset_put() so
that the name will be freed in callback function kobject_cleanup() and
kset will be freed in kset_release().
unreferenced object 0xffff888103cc8c08 (size 8):
comm "modprobe", pid 508, jiffies 4294915182 (age 120.020s)
hex dump (first 8 bytes):
62 79 5f 6e 61 6d 65 00 by_name.
backtrace:
[<00000000572f97f9>] __kmalloc_track_caller+0x1ae/0x320
[<00000000a167a5cc>] kstrdup+0x3a/0x70
[<000000001cd0d05e>] kstrdup_const+0x68/0x80
[<00000000b9101e6d>] kvasprintf_const+0x10b/0x190
[<0000000088f2b8df>] kobject_set_name_vargs+0x56/0x150
[<000000003f8aca68>] kobject_set_name+0xab/0xe0
[<00000000249f7816>] kset_create_and_add+0x72/0x200
Fixes: b727c702896f ("kset: add kset_create_and_add function")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
lib/kobject.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/kobject.c b/lib/kobject.c
index a0b2dbfcfa23..f5e943c9027b 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -982,7 +982,7 @@ struct kset *kset_create_and_add(const char *name,
return NULL;
error = kset_register(kset);
if (error) {
- kfree(kset);
+ kset_put(kset);
return NULL;
}
return kset;
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] kobject: fix possible memory leak in kset_create_and_add()
2022-10-17 2:33 [PATCH] kobject: fix possible memory leak in kset_create_and_add() Yang Yingliang
@ 2022-10-17 4:51 ` Greg KH
2022-10-17 8:13 ` Yang Yingliang
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2022-10-17 4:51 UTC (permalink / raw)
To: Yang Yingliang; +Cc: linux-kernel, rafael
On Mon, Oct 17, 2022 at 10:33:27AM +0800, Yang Yingliang wrote:
> If kset_register() fails in kset_create_and_add(), the name allocated
> in kset_create() will be leaked.
How is kset_create_and_add() failing? Is this in a real kernel, or
created with a fake fault injection?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kobject: fix possible memory leak in kset_create_and_add()
2022-10-17 4:51 ` Greg KH
@ 2022-10-17 8:13 ` Yang Yingliang
2022-10-17 8:49 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Yang Yingliang @ 2022-10-17 8:13 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, rafael
Hi,
On 2022/10/17 12:51, Greg KH wrote:
> On Mon, Oct 17, 2022 at 10:33:27AM +0800, Yang Yingliang wrote:
>> If kset_register() fails in kset_create_and_add(), the name allocated
>> in kset_create() will be leaked.
> How is kset_create_and_add() failing? Is this in a real kernel, or
> created with a fake fault injection?
Inject fault while probing module qemu_fw_cfg, kset_create_and_add() may
fail.
Thanks,
Yang
>
> thanks,
>
> greg k-h
> .
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kobject: fix possible memory leak in kset_create_and_add()
2022-10-17 8:13 ` Yang Yingliang
@ 2022-10-17 8:49 ` Greg KH
2022-10-17 9:01 ` Yang Yingliang
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2022-10-17 8:49 UTC (permalink / raw)
To: Yang Yingliang; +Cc: linux-kernel, rafael
On Mon, Oct 17, 2022 at 04:13:03PM +0800, Yang Yingliang wrote:
> Hi,
>
> On 2022/10/17 12:51, Greg KH wrote:
> > On Mon, Oct 17, 2022 at 10:33:27AM +0800, Yang Yingliang wrote:
> > > If kset_register() fails in kset_create_and_add(), the name allocated
> > > in kset_create() will be leaked.
> > How is kset_create_and_add() failing? Is this in a real kernel, or
> > created with a fake fault injection?
> Inject fault while probing module qemu_fw_cfg, kset_create_and_add() may
> fail.
Ah good, it's never being hit in a real situation. The next time you
submit patches that are found like this, please include this type of
information.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kobject: fix possible memory leak in kset_create_and_add()
2022-10-17 8:49 ` Greg KH
@ 2022-10-17 9:01 ` Yang Yingliang
2022-10-17 9:08 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Yang Yingliang @ 2022-10-17 9:01 UTC (permalink / raw)
To: Greg KH; +Cc: linux-kernel, rafael
On 2022/10/17 16:49, Greg KH wrote:
> On Mon, Oct 17, 2022 at 04:13:03PM +0800, Yang Yingliang wrote:
>> Hi,
>>
>> On 2022/10/17 12:51, Greg KH wrote:
>>> On Mon, Oct 17, 2022 at 10:33:27AM +0800, Yang Yingliang wrote:
>>>> If kset_register() fails in kset_create_and_add(), the name allocated
>>>> in kset_create() will be leaked.
>>> How is kset_create_and_add() failing? Is this in a real kernel, or
>>> created with a fake fault injection?
>> Inject fault while probing module qemu_fw_cfg, kset_create_and_add() may
>> fail.
> Ah good, it's never being hit in a real situation. The next time you
> submit patches that are found like this, please include this type of
> information.
OK. Do I need to send a v2 with commit message update.
Thanks,
Yang
>
> thanks,
>
> greg k-h
> .
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] kobject: fix possible memory leak in kset_create_and_add()
2022-10-17 9:01 ` Yang Yingliang
@ 2022-10-17 9:08 ` Greg KH
0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2022-10-17 9:08 UTC (permalink / raw)
To: Yang Yingliang; +Cc: linux-kernel, rafael
On Mon, Oct 17, 2022 at 05:01:04PM +0800, Yang Yingliang wrote:
>
> On 2022/10/17 16:49, Greg KH wrote:
> > On Mon, Oct 17, 2022 at 04:13:03PM +0800, Yang Yingliang wrote:
> > > Hi,
> > >
> > > On 2022/10/17 12:51, Greg KH wrote:
> > > > On Mon, Oct 17, 2022 at 10:33:27AM +0800, Yang Yingliang wrote:
> > > > > If kset_register() fails in kset_create_and_add(), the name allocated
> > > > > in kset_create() will be leaked.
> > > > How is kset_create_and_add() failing? Is this in a real kernel, or
> > > > created with a fake fault injection?
> > > Inject fault while probing module qemu_fw_cfg, kset_create_and_add() may
> > > fail.
> > Ah good, it's never being hit in a real situation. The next time you
> > submit patches that are found like this, please include this type of
> > information.
> OK. Do I need to send a v2 with commit message update.
That would be wonderful for you to do, thank you!
Also do the same thing for the other patches you sent that fix up error
paths like this.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-10-17 9:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-17 2:33 [PATCH] kobject: fix possible memory leak in kset_create_and_add() Yang Yingliang
2022-10-17 4:51 ` Greg KH
2022-10-17 8:13 ` Yang Yingliang
2022-10-17 8:49 ` Greg KH
2022-10-17 9:01 ` Yang Yingliang
2022-10-17 9:08 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox