2019-05-15 09:10:33

by Tobin C. Harding

[permalink] [raw]
Subject: [PATCH] powerpc: Remove double free

kfree() after kobject_put(). Who ever wrote this was on crack.

Fixes: 7e8039795a80 ("powerpc/cacheinfo: Fix kobject memleak")
Signed-off-by: Tobin C. Harding <[email protected]>
---

FTR

git log --pretty=format:"%h%x09%an%x09%ad%x09%s" | grep 7e8039795a80
7e8039795a80 Tobin C. Harding Tue Apr 30 11:09:23 2019 +1000 powerpc/cacheinfo: Fix kobject memleak

arch/powerpc/kernel/cacheinfo.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
index f2ed3ef4b129..862e2890bd3d 100644
--- a/arch/powerpc/kernel/cacheinfo.c
+++ b/arch/powerpc/kernel/cacheinfo.c
@@ -767,7 +767,6 @@ static void cacheinfo_create_index_dir(struct cache *cache, int index,
cache_dir->kobj, "index%d", index);
if (rc) {
kobject_put(&index_dir->kobj);
- kfree(index_dir);
return;
}

--
2.21.0


2019-05-15 09:29:03

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc: Remove double free

kobject_put() released index_dir->kobj

but who will release 'index' ?

Christophe

Le 15/05/2019 à 11:07, Tobin C. Harding a écrit :
> kfree() after kobject_put(). Who ever wrote this was on crack.
>
> Fixes: 7e8039795a80 ("powerpc/cacheinfo: Fix kobject memleak")
> Signed-off-by: Tobin C. Harding <[email protected]>
> ---
>
> FTR
>
> git log --pretty=format:"%h%x09%an%x09%ad%x09%s" | grep 7e8039795a80
> 7e8039795a80 Tobin C. Harding Tue Apr 30 11:09:23 2019 +1000 powerpc/cacheinfo: Fix kobject memleak
>
> arch/powerpc/kernel/cacheinfo.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
> index f2ed3ef4b129..862e2890bd3d 100644
> --- a/arch/powerpc/kernel/cacheinfo.c
> +++ b/arch/powerpc/kernel/cacheinfo.c
> @@ -767,7 +767,6 @@ static void cacheinfo_create_index_dir(struct cache *cache, int index,
> cache_dir->kobj, "index%d", index);
> if (rc) {
> kobject_put(&index_dir->kobj);
> - kfree(index_dir);
> return;
> }
>
>

2019-05-15 11:37:22

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] powerpc: Remove double free

On Wed, May 15, 2019 at 11:26:03AM +0200, Christophe Leroy wrote:
> kobject_put() released index_dir->kobj

Yes, but what is that kobject enclosed in?

> but who will release 'index' ?

The final kobject_put() will do that, see cacheinfo_create_index_dir()
for the details.

And please do not top-post, you lost all context.

greg k-h

2019-05-18 15:39:16

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] powerpc: Remove double free

On Wed, 2019-05-15 at 09:07:50 UTC, "Tobin C. Harding" wrote:
> kfree() after kobject_put(). Who ever wrote this was on crack.
>
> Fixes: 7e8039795a80 ("powerpc/cacheinfo: Fix kobject memleak")
> Signed-off-by: Tobin C. Harding <[email protected]>

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/672eaf37db9f99fd794eed2c68a8b3b0

cheers