Re: [PATCH v2 2/3] mm/sparse: fix possible memory leak

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> diff --git a/mm/sparse.c b/mm/sparse.c
>> index 781fa04..a803599 100644
>> --- a/mm/sparse.c
>> +++ b/mm/sparse.c
>> @@ -75,6 +75,22 @@ static struct mem_section noinline __init_refok *sparse_index_alloc(int nid)
>>  	return section;
>>  }
>>  
>> +static void noinline __init_refok sparse_index_free(struct mem_section *section,
>> +						    int nid)
>
>noinline is unecessary, this is only referenced from sparse_index_init() 
>and it's perfectly legimitate to inline.  Also, this should be __meminit 
>and not __init.
>

Thanks for your comments. I'll change it into "inline __meminit" in next version :-)

>> +{
>> +	unsigned long size = SECTIONS_PER_ROOT *
>> +			     sizeof(struct mem_section);
>> +
>> +	if (!section)
>> +		return;
>> +
>> +	if (slab_is_available())
>> +		kfree(section);
>> +	else
>> +		free_bootmem_node(NODE_DATA(nid),
>> +			virt_to_phys(section), size);
>
>Did you check what happens here if !node_state(nid, N_HIGH_MEMORY)?
>

I'm sorry that I'm not catching your point. Please explain for more
if necessary.

I'm not sure you're talking about "kfree(section);" since the memory
chunk is allocated either by kzalloc_node() or kzalloc().

Thanks,
Gavin

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]