On Sun, 10 Aug 2014 14:12:03 +0800 Tang Chen <tangchen@xxxxxxxxxxxxxx> wrote:
In memblock_find_in_range_node(), we defeind ret as int. But it shouleWhich kernel versions need this fix?
be phys_addr_t because it is used to store the return value from
__memblock_find_range_bottom_up().
The bug has not been triggered because when allocating low memory near
the kernel end, the "int ret" won't turn out to be minus. When we started
to allocate memory on other nodes, and the "int ret" could be minus.
Then the kernel will panic.
A simple way to reproduce this: comment out the following code in numa_init(),
memblock_set_bottom_up(false);
and the kernel won't boot.