Re: [PATCH] Check kmalloc return value before use the buffer

From: Steven Liu
Date: Fri May 07 2010 - 05:47:54 EST


Hi, guy,

the code in arch/arm/mach-u300/dummyspichip.c is

bigtxbuf_virtual = kmalloc(DMA_TEST_SIZE, GFP_KERNEL);
if (bigtxbuf_virtual == NULL) {
status = -ENOMEM;
goto out;
}
bigrxbuf_virtual = kmalloc(DMA_TEST_SIZE, GFP_KERNEL);


if kmalloc memory space for bigrxbuf_virtual is NULL, when it have
kmalloc DMA_TEST_SIZE memory space for bigtxbuf_virtual,so ,if kmalloc
memory for bigtxbuf_virtual success and kmalloc memory for
bigrxbuf_virtual faild,i think we must kfree bigtxbuf_virtual memory



best regards,



LiuQi
2010/5/7 Nigel Cunningham <nigel@xxxxxxxxxxxx>:
> Hi.
>
> No commit comment?
>
> On 07/05/10 17:17, Steven Liu wrote:
>>
>> Signed-off-by: LiuQi<lingjiujianke@xxxxxxxxx>
>> ---
>>  arch/arm/mach-u300/dummyspichip.c |    5 +++++
>>  1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-u300/dummyspichip.c
>> b/arch/arm/mach-u300/dummyspichip.c
>> index 5f55012..df19f9b 100644
>> --- a/arch/arm/mach-u300/dummyspichip.c
>> +++ b/arch/arm/mach-u300/dummyspichip.c
>> @@ -64,6 +64,11 @@ static ssize_t dummy_looptest(struct device *dev,
>>                goto out;
>>        }
>>        bigrxbuf_virtual = kmalloc(DMA_TEST_SIZE, GFP_KERNEL);
>> +       if (bigrxbuf_virtual == NULL) {
>> +               status = -ENOMEM;
>> +               kfree(bigtxbuf_virtual);
>
> Why kfree something you know is NULL?
>
> Regards,
>
> Nigel
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/