2014-02-07 08:45:50

by Levente Kurusa

[permalink] [raw]
Subject: [PATCH] backlight: replace kfree with put_device

As per the comments on device_register, we shouldn't call kfree()
right after a device_register() failure. Instead call put_device(),
which in turn will call bl_device_release resulting in a kfree to the
full structure.

Signed-off-by: Levente Kurusa <[email protected]>
---
drivers/video/backlight/backlight.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 5d05555..20b276e 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -333,7 +333,7 @@ struct backlight_device *backlight_device_register(const char *name,

rc = device_register(&new_bd->dev);
if (rc) {
- kfree(new_bd);
+ put_device(&new_bd->dev);
return ERR_PTR(rc);
}

--
1.8.3.1


2014-02-10 00:22:49

by Jingoo Han

[permalink] [raw]
Subject: Re: [PATCH] backlight: replace kfree with put_device

On Friday, February 07, 2014 5:43 PM, Levente Kurusa wrote:
>
> As per the comments on device_register, we shouldn't call kfree()
> right after a device_register() failure. Instead call put_device(),
> which in turn will call bl_device_release resulting in a kfree to the
> full structure.
>
> Signed-off-by: Levente Kurusa <[email protected]>

(+cc Bryan Wu, Lee Jones)

Acked-by: Jingoo Han <[email protected]>

Best regards,
Jingoo Han

> ---
> drivers/video/backlight/backlight.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
> index 5d05555..20b276e 100644
> --- a/drivers/video/backlight/backlight.c
> +++ b/drivers/video/backlight/backlight.c
> @@ -333,7 +333,7 @@ struct backlight_device *backlight_device_register(const char *name,
>
> rc = device_register(&new_bd->dev);
> if (rc) {
> - kfree(new_bd);
> + put_device(&new_bd->dev);
> return ERR_PTR(rc);
> }
>
> --
> 1.8.3.1

2014-02-10 11:13:58

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] backlight: replace kfree with put_device

> > As per the comments on device_register, we shouldn't call kfree()
> > right after a device_register() failure. Instead call put_device(),
> > which in turn will call bl_device_release resulting in a kfree to the
> > full structure.
> >
> > Signed-off-by: Levente Kurusa <[email protected]>
>
> (+cc Bryan Wu, Lee Jones)
>
> Acked-by: Jingoo Han <[email protected]>

Applied to temporary Backlight repo [1], thanks.

[1] git://git.linaro.org/people/lee.jones/backlight.git

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2014-02-10 17:37:55

by Bryan Wu

[permalink] [raw]
Subject: Re: [PATCH] backlight: replace kfree with put_device

On Mon, Feb 10, 2014 at 3:13 AM, Lee Jones <[email protected]> wrote:
>> > As per the comments on device_register, we shouldn't call kfree()
>> > right after a device_register() failure. Instead call put_device(),
>> > which in turn will call bl_device_release resulting in a kfree to the
>> > full structure.
>> >
>> > Signed-off-by: Levente Kurusa <[email protected]>
>>
>> (+cc Bryan Wu, Lee Jones)
>>
>> Acked-by: Jingoo Han <[email protected]>
>
> Applied to temporary Backlight repo [1], thanks.
>
> [1] git://git.linaro.org/people/lee.jones/backlight.git
>

Great, I think we can put the Git URL into the MAINTAINS file for
Backlight subsystem after your finalize the git repo.

Thanks,
-Bryan


> --
> Lee Jones
> Linaro STMicroelectronics Landing Team Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog

2014-02-10 17:47:42

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] backlight: replace kfree with put_device

> >> > As per the comments on device_register, we shouldn't call kfree()
> >> > right after a device_register() failure. Instead call put_device(),
> >> > which in turn will call bl_device_release resulting in a kfree to the
> >> > full structure.
> >> >
> >> > Signed-off-by: Levente Kurusa <[email protected]>
> >>
> >> (+cc Bryan Wu, Lee Jones)
> >>
> >> Acked-by: Jingoo Han <[email protected]>
> >
> > Applied to temporary Backlight repo [1], thanks.
> >
> > [1] git://git.linaro.org/people/lee.jones/backlight.git
> >
>
> Great, I think we can put the Git URL into the MAINTAINS file for
> Backlight subsystem after your finalize the git repo.

Right, I plan do to this for MFD too. Before doing so I need to load
my GPG Key with lots of signatures, at Linus' request. I'm aiming for
the end of the month(ish).

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog