lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 17 Nov 2015 09:05:56 +0900 From: Ingi Kim <ingi2.kim@...sung.com> To: Jacek Anaszewski <j.anaszewski@...sung.com>, Rob Herring <robh+dt@...nel.org> Cc: Linux LED Subsystem <linux-leds@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] leds: ktd2692: Add missing of_node_put Hi Rob, Jacek You're right, It is better to remove "return 0" Thanks for the review. On 2015년 11월 16일 23:30, Jacek Anaszewski wrote: > On 11/16/2015 03:09 PM, Rob Herring wrote: >> On Mon, Nov 16, 2015 at 4:00 AM, Jacek Anaszewski >> <j.anaszewski@...sung.com> wrote: >>> Hi Ingi, Rob, >>> >>> With this patch we will be leaking of_node when parsing succeeds. >>> I think that "return 0" should be removed. I can remove it and apply, >>> provided that Rob's ack is still in force with this. Rob? >> >> Okay. > > Removed discussed line and applied, thanks. > >>> On 11/10/2015 04:00 AM, Ingi Kim wrote: >>>> >>>> The refcount of device_node increases after of_node_get() is called. >>>> So, a break out of the loop requires of_node_put(). >>>> >>>> This patch adds missing of_node_put() when loop breaks. >>>> >>>> Signed-off-by: Ingi Kim <ingi2.kim@...sung.com> >>>> --- >>>> drivers/leds/leds-ktd2692.c | 11 ++++++++--- >>>> 1 file changed, 8 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/drivers/leds/leds-ktd2692.c b/drivers/leds/leds-ktd2692.c >>>> index feca07b..dbf37ce 100644 >>>> --- a/drivers/leds/leds-ktd2692.c >>>> +++ b/drivers/leds/leds-ktd2692.c >>>> @@ -332,21 +332,26 @@ static int ktd2692_parse_dt(struct ktd2692_context >>>> *led, struct device *dev, >>>> &cfg->movie_max_microamp); >>>> if (ret) { >>>> dev_err(dev, "failed to parse led-max-microamp\n"); >>>> - return ret; >>>> + goto err_parse_dt; >>>> } >>>> >>>> ret = of_property_read_u32(child_node, "flash-max-microamp", >>>> &cfg->flash_max_microamp); >>>> if (ret) { >>>> dev_err(dev, "failed to parse flash-max-microamp\n"); >>>> - return ret; >>>> + goto err_parse_dt; >>>> } >>>> >>>> ret = of_property_read_u32(child_node, "flash-max-timeout-us", >>>> &cfg->flash_max_timeout); >>>> - if (ret) >>>> + if (ret) { >>>> dev_err(dev, "failed to parse flash-max-timeout-us\n"); >>>> + goto err_parse_dt; >>>> + } >>>> + >>>> + return 0; >>>> >>>> +err_parse_dt: >>>> of_node_put(child_node); >>>> return ret; >>>> } >>>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@...r.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ >> > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists