2017-09-20 07:00:13

by Arvind Yadav

[permalink] [raw]
Subject: [PATCH] PM / OPP: Handle return value of kasprintf

kasprintf() can fail here and we must check its return value.

Signed-off-by: Arvind Yadav <[email protected]>
---
drivers/base/power/opp/debugfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/base/power/opp/debugfs.c b/drivers/base/power/opp/debugfs.c
index 81cf120..226d6ae 100644
--- a/drivers/base/power/opp/debugfs.c
+++ b/drivers/base/power/opp/debugfs.c
@@ -45,7 +45,8 @@ static bool opp_debug_create_supplies(struct dev_pm_opp *opp,

for (i = 0; i < opp_table->regulator_count; i++) {
name = kasprintf(GFP_KERNEL, "supply-%d", i);
-
+ if (!name)
+ return false;
/* Create per-opp directory */
d = debugfs_create_dir(name, pdentry);

--
1.9.1


2017-09-20 11:17:40

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] PM / OPP: Handle return value of kasprintf

On Wed, 2017-09-20 at 12:29 +0530, Arvind Yadav wrote:
> kasprintf() can fail here and we must check its return value.
[]
> diff --git a/drivers/base/power/opp/debugfs.c b/drivers/base/power/opp/debugfs.c
[]
> @@ -45,7 +45,8 @@ static bool opp_debug_create_supplies(struct dev_pm_opp *opp,
>
> for (i = 0; i < opp_table->regulator_count; i++) {
> name = kasprintf(GFP_KERNEL, "supply-%d", i);
> -
> + if (!name)
> + return false;
> /* Create per-opp directory */
> d = debugfs_create_dir(name, pdentry);

Probably more sensible to avoid the kasprintf/kfree
and just have
char name[20];
on the stack

2017-09-20 14:49:06

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH] PM / OPP: Handle return value of kasprintf

On 20-09-17, 04:17, Joe Perches wrote:
> On Wed, 2017-09-20 at 12:29 +0530, Arvind Yadav wrote:
> > kasprintf() can fail here and we must check its return value.
> []
> > diff --git a/drivers/base/power/opp/debugfs.c b/drivers/base/power/opp/debugfs.c
> []
> > @@ -45,7 +45,8 @@ static bool opp_debug_create_supplies(struct dev_pm_opp *opp,
> >
> > for (i = 0; i < opp_table->regulator_count; i++) {
> > name = kasprintf(GFP_KERNEL, "supply-%d", i);
> > -
> > + if (!name)
> > + return false;
> > /* Create per-opp directory */
> > d = debugfs_create_dir(name, pdentry);
>
> Probably more sensible to avoid the kasprintf/kfree
> and just have
> char name[20];
> on the stack

Sure.

@Arvind: I will let you write that patch.

--
viresh

2017-09-20 16:58:49

by Arvind Yadav

[permalink] [raw]
Subject: Re: [PATCH] PM / OPP: Handle return value of kasprintf

Hi,

On Wednesday 20 September 2017 08:19 PM, Viresh Kumar wrote:
> On 20-09-17, 04:17, Joe Perches wrote:
>> On Wed, 2017-09-20 at 12:29 +0530, Arvind Yadav wrote:
>>> kasprintf() can fail here and we must check its return value.
>> []
>>> diff --git a/drivers/base/power/opp/debugfs.c b/drivers/base/power/opp/debugfs.c
>> []
>>> @@ -45,7 +45,8 @@ static bool opp_debug_create_supplies(struct dev_pm_opp *opp,
>>>
>>> for (i = 0; i < opp_table->regulator_count; i++) {
>>> name = kasprintf(GFP_KERNEL, "supply-%d", i);
>>> -
>>> + if (!name)
>>> + return false;
>>> /* Create per-opp directory */
>>> d = debugfs_create_dir(name, pdentry);
>> Probably more sensible to avoid the kasprintf/kfree
>> and just have
>> char name[20];
>> on the stack
> Sure.
>
> @Arvind: I will let you write that patch.
Yes, I will do.
>
~arvind