On 2014/8/10 14:14, tangchen wrote: > Sorry, add Xishi Qiu <qiuxi...@huawei.com> > > On 08/10/2014 02:12 PM, Tang Chen wrote: >> In memblock_find_in_range_node(), we defeind ret as int. But it shoule >> 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. >> >> Reported-by: Xishi Qiu <qiuxi...@huawei.com> >> Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com> >> --- >> mm/memblock.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/mm/memblock.c b/mm/memblock.c >> index 6d2f219..70fad0c 100644 >> --- a/mm/memblock.c >> +++ b/mm/memblock.c >> @@ -192,8 +192,7 @@ phys_addr_t __init_memblock >> memblock_find_in_range_node(phys_addr_t size, >> phys_addr_t align, phys_addr_t start, >> phys_addr_t end, int nid) >> { >> - int ret; >> - phys_addr_t kernel_end; >> + phys_addr_t kernel_end, ret; >> /* pump up @end */ >> if (end == MEMBLOCK_ALLOC_ACCESSIBLE) > >
Hi, Tang Chen It is OK now. Tested-by: Xishi Qiu <qiuxi...@huawei.com> > . > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/