* Re: [PATCH] [mtd] fixed faulty check
@ 2009-07-30 12:49 Stoyan Gaydarov
2009-07-30 13:03 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 9+ messages in thread
From: Stoyan Gaydarov @ 2009-07-30 12:49 UTC (permalink / raw)
To: linux-kernel
Cc: Stoyan Gaydarov, David.Woodhouse, sr, bigeasy, kay.sievers,
gregkh, linux-mtd
Resubmit of a patch with some additions, see http://lkml.org/lkml/2009/7/30/97
Signed-off-by: Stoyan Gaydarov <sgayda2@uiuc.edu>
---
drivers/mtd/maps/physmap_of.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index 39d357b..e7ab5f0 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -215,7 +215,8 @@ static int __devinit of_flash_probe(struct of_device *dev,
goto err_out;
mtd_list = kzalloc(sizeof(struct mtd_info) * count, GFP_KERNEL);
- if (!info)
+ if (!mtd_list)
+ kfree(info);
goto err_out;
dev_set_drvdata(&dev->dev, info);
--
1.6.3.3
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] [mtd] fixed faulty check
2009-07-30 12:49 [PATCH] [mtd] fixed faulty check Stoyan Gaydarov
@ 2009-07-30 13:03 ` Sebastian Andrzej Siewior
2009-07-30 13:39 ` vimal singh
0 siblings, 1 reply; 9+ messages in thread
From: Sebastian Andrzej Siewior @ 2009-07-30 13:03 UTC (permalink / raw)
To: Stoyan Gaydarov
Cc: linux-kernel, David.Woodhouse, sr, kay.sievers, gregkh, linux-mtd
Stoyan Gaydarov wrote:
> Resubmit of a patch with some additions, see http://lkml.org/lkml/2009/7/30/97
>
Please add a description of the path here. That's the place where people
are looking for them. The link might be a an additional reference.
> Signed-off-by: Stoyan Gaydarov <sgayda2@uiuc.edu>
> ---
> drivers/mtd/maps/physmap_of.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
> index 39d357b..e7ab5f0 100644
> --- a/drivers/mtd/maps/physmap_of.c
> +++ b/drivers/mtd/maps/physmap_of.c
> @@ -215,7 +215,8 @@ static int __devinit of_flash_probe(struct of_device *dev,
> goto err_out;
>
> mtd_list = kzalloc(sizeof(struct mtd_info) * count, GFP_KERNEL);
> - if (!info)
> + if (!mtd_list)
> + kfree(info);
> goto err_out;
This is not python, you have to be explicit about braces. Now your code
looks like this:
mtd_list = kzalloc(sizeof(struct mtd_info) * count, GFP_KERNEL);
if (!mtd_list)
kfree(info);
goto err_out;
>
> dev_set_drvdata(&dev->dev, info);
Sebastian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] [mtd] fixed faulty check
2009-07-30 13:03 ` Sebastian Andrzej Siewior
@ 2009-07-30 13:39 ` vimal singh
2009-07-30 13:47 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 9+ messages in thread
From: vimal singh @ 2009-07-30 13:39 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Stoyan Gaydarov, linux-kernel, David.Woodhouse, sr, kay.sievers,
gregkh, linux-mtd
On Thu, Jul 30, 2009 at 6:33 PM, Sebastian Andrzej
Siewior<bigeasy@linutronix.de> wrote:
> Stoyan Gaydarov wrote:
>>
>> Resubmit of a patch with some additions, see
>> http://lkml.org/lkml/2009/7/30/97
>>
> Please add a description of the path here. That's the place where people
> are looking for them. The link might be a an additional reference.
>
>> Signed-off-by: Stoyan Gaydarov <sgayda2@uiuc.edu>
>> ---
>> drivers/mtd/maps/physmap_of.c | 3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
>> index 39d357b..e7ab5f0 100644
>> --- a/drivers/mtd/maps/physmap_of.c
>> +++ b/drivers/mtd/maps/physmap_of.c
>> @@ -215,7 +215,8 @@ static int __devinit of_flash_probe(struct of_device
>> *dev,
>> goto err_out;
>> mtd_list = kzalloc(sizeof(struct mtd_info) * count, GFP_KERNEL);
>> - if (!info)
>> + if (!mtd_list)
>> + kfree(info);
>> goto err_out;
What if you go to 'err_out' due to some other error?? Do not you need
to free 'info'?
So, better free it in at the label.
Currently label is like below, which is again incorrect.
-----code snippet (line 339)-----
err_out:
kfree(mtd_list);
of_flash_remove(dev);
-------------------------------------------
Think about when you get jump to this label even before 'mtd_list' is
allocated. This is the scenario of null pointer dereferencing.
So, this requires two separate labels:
-one label for errors which occur before 'mtd_list' memory allocation
-and, another for then onward errors
something like below:
err_out2:
kfree(info);
kfree(mtd_list);
err_out1:
of_flash_remove(dev);
-vimal
>
> This is not python, you have to be explicit about braces. Now your code
> looks like this:
>
> mtd_list = kzalloc(sizeof(struct mtd_info) * count, GFP_KERNEL);
> if (!mtd_list)
> kfree(info);
> goto err_out;
>>
>> dev_set_drvdata(&dev->dev, info);
>
>
> Sebastian
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
---
Regards,
\/ | |\/| /-\ |_
____ __o
------ -\<,
----- ( )/ ( )
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] [mtd] fixed faulty check
2009-07-30 13:39 ` vimal singh
@ 2009-07-30 13:47 ` Sebastian Andrzej Siewior
2009-07-30 14:14 ` vimal singh
0 siblings, 1 reply; 9+ messages in thread
From: Sebastian Andrzej Siewior @ 2009-07-30 13:47 UTC (permalink / raw)
To: vimal singh
Cc: Stoyan Gaydarov, linux-kernel, David.Woodhouse, sr, kay.sievers,
gregkh, linux-mtd
vimal singh wrote:
> What if you go to 'err_out' due to some other error?? Do not you need
> to free 'info'?
We have to and of_flash_remove() takes care of it.
The initial patch would be shorter if
dev_set_drvdata(&dev->dev, info);
would be moved prior the kzalloc()
Sebastian
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] [mtd] fixed faulty check
2009-07-30 13:47 ` Sebastian Andrzej Siewior
@ 2009-07-30 14:14 ` vimal singh
[not found] ` <4A71AD5E.4080704@uiuc.edu>
0 siblings, 1 reply; 9+ messages in thread
From: vimal singh @ 2009-07-30 14:14 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: Stoyan Gaydarov, linux-kernel, David.Woodhouse, sr, kay.sievers,
gregkh, linux-mtd
On Thu, Jul 30, 2009 at 7:17 PM, Sebastian Andrzej
Siewior<bigeasy@linutronix.de> wrote:
> vimal singh wrote:
>>
>> What if you go to 'err_out' due to some other error?? Do not you need
>> to free 'info'?
>
> We have to and of_flash_remove() takes care of it.
that's correct...
>
> The initial patch would be shorter if
> dev_set_drvdata(&dev->dev, info);
> would be moved prior the kzalloc()
>
> Sebastian
>
--
---
Regards,
\/ | |\/| /-\ |_
____ __o
------ -\<,
----- ( )/ ( )
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-07-30 15:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-30 12:49 [PATCH] [mtd] fixed faulty check Stoyan Gaydarov
2009-07-30 13:03 ` Sebastian Andrzej Siewior
2009-07-30 13:39 ` vimal singh
2009-07-30 13:47 ` Sebastian Andrzej Siewior
2009-07-30 14:14 ` vimal singh
[not found] ` <4A71AD5E.4080704@uiuc.edu>
2009-07-30 14:34 ` vimal singh
2009-07-30 14:53 ` Sebastian Andrzej Siewior
2009-07-30 15:13 ` vimal singh
[not found] ` <4A71B940.80607@uiuc.edu>
2009-07-30 15:24 ` vimal singh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®