/* The range must be contiguous but may span node boundaries.  */
void __init free_bootmem(unsigned long addr, unsigned long size)
/* The range must be contiguous but may span node boundaries.  */
void __init free_bootmem(unsigned long addr, unsigned long size)
{
	unsigned long start, end;
	kmemleak_free_part(__va(addr), size);
	start = PFN_UP(addr);
	end = PFN_DOWN(addr + size);
	mark_bootmem(start, end, 0, 0);
}