2015-08-25 18:22:53

by Javi Merino

[permalink] [raw]
Subject: [PATCH] thermal: power_allocator: allocate with kcalloc what you free with kfree

Commit cf736ea6f902 ("thermal: power_allocator: do not use devm*
interfaces") forgot to change a devm_kcalloc() to just kcalloc(), but
it's corresponding devm_kfree() was changed to kfree(). Allocate with
kcalloc() to match the kfree().

Fixes: cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces")
Cc: Dmitry Torokhov <[email protected]>
Cc: Eduardo Valentin <[email protected]>
Cc: Zhang Rui <[email protected]>
Signed-off-by: Javi Merino <[email protected]>
---

Can this be merged for 4.2, please? I'm having memory problems with
4.2-rc8 because of this.

drivers/thermal/power_allocator.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/thermal/power_allocator.c b/drivers/thermal/power_allocator.c
index 7006860f2f36..251676902869 100644
--- a/drivers/thermal/power_allocator.c
+++ b/drivers/thermal/power_allocator.c
@@ -258,8 +258,7 @@ static int allocate_power(struct thermal_zone_device *tz,
BUILD_BUG_ON(sizeof(*req_power) != sizeof(*granted_power));
BUILD_BUG_ON(sizeof(*req_power) != sizeof(*extra_actor_power));
BUILD_BUG_ON(sizeof(*req_power) != sizeof(*weighted_req_power));
- req_power = devm_kcalloc(&tz->device, num_actors * 5,
- sizeof(*req_power), GFP_KERNEL);
+ req_power = kcalloc(num_actors * 5, sizeof(*req_power), GFP_KERNEL);
if (!req_power) {
ret = -ENOMEM;
goto unlock;
--
1.9.1


2015-08-27 15:49:48

by Javi Merino

[permalink] [raw]
Subject: Re: [PATCH] thermal: power_allocator: allocate with kcalloc what you free with kfree

On Tue, Aug 25, 2015 at 07:22:35PM +0100, Javi Merino wrote:
> Commit cf736ea6f902 ("thermal: power_allocator: do not use devm*
> interfaces") forgot to change a devm_kcalloc() to just kcalloc(), but
> it's corresponding devm_kfree() was changed to kfree(). Allocate with
> kcalloc() to match the kfree().
>
> Fixes: cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces")
> Cc: Dmitry Torokhov <[email protected]>
> Cc: Eduardo Valentin <[email protected]>
> Cc: Zhang Rui <[email protected]>
> Signed-off-by: Javi Merino <[email protected]>
> ---
>
> Can this be merged for 4.2, please? I'm having memory problems with
> 4.2-rc8 because of this.

Please merge this for 4.2 or revert cf736ea6f902 ("thermal:
power_allocator: do not use devm* interfaces")

2015-08-29 12:27:56

by Javi Merino

[permalink] [raw]
Subject: Re: [PATCH] thermal: power_allocator: allocate with kcalloc what you free with kfree

Hi Linus,

On Thu, Aug 27, 2015 at 04:49:37PM +0100, Javi Merino wrote:
> On Tue, Aug 25, 2015 at 07:22:35PM +0100, Javi Merino wrote:
> > Commit cf736ea6f902 ("thermal: power_allocator: do not use devm*
> > interfaces") forgot to change a devm_kcalloc() to just kcalloc(), but
> > it's corresponding devm_kfree() was changed to kfree(). Allocate with
> > kcalloc() to match the kfree().
> >
> > Fixes: cf736ea6f902 ("thermal: power_allocator: do not use devm* interfaces")
> > Cc: Dmitry Torokhov <[email protected]>
> > Cc: Eduardo Valentin <[email protected]>
> > Cc: Zhang Rui <[email protected]>
> > Signed-off-by: Javi Merino <[email protected]>
> > ---
> >
> > Can this be merged for 4.2, please? I'm having memory problems with
> > 4.2-rc8 because of this.
>
> Please merge this for 4.2 or revert cf736ea6f902 ("thermal:
> power_allocator: do not use devm* interfaces")

cf736ea6f902 ("thermal: power_allocator: do not use devm*
interfaces") was merged for 4.2-rc8. It leaves an allocation of
memory with devm_kcalloc() that is then freed with kfree(). The
patch at the top of the thread[0][1] fixes this. Can you either
merge this patch or revert cf736ea6f902 for 4.2?

[0] https://patchwork.kernel.org/patch/7072591/
[1] Message-ID: <[email protected]>

Thanks,
Javi

2015-08-29 17:55:07

by Linus Torvalds

[permalink] [raw]
Subject: Re: [PATCH] thermal: power_allocator: allocate with kcalloc what you free with kfree

On Sat, Aug 29, 2015 at 5:27 AM, Javi Merino <[email protected]> wrote:
>
> cf736ea6f902 ("thermal: power_allocator: do not use devm*
> interfaces") was merged for 4.2-rc8. It leaves an allocation of
> memory with devm_kcalloc() that is then freed with kfree(). The
> patch at the top of the thread[0][1] fixes this. Can you either
> merge this patch or revert cf736ea6f902 for 4.2?

Applied the patch. Thanks,

Linus