mm/memblock.c: fix NULL dereference error
authorzijun_hu <zijun_hu@htc.com>
Thu, 4 Aug 2016 22:32:00 +0000 (15:32 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Aug 2016 00:02:09 +0000 (20:02 -0400)
commite47608ab6dbe63fefe60c211a30b3fc78a1b5d5e
treee1b92f9ab8517f8be2f4faf673b97606acb5584a
parent4b16b0c0bf416de61d14ac31703883d76395ed5f
mm/memblock.c: fix NULL dereference error

It causes NULL dereference error and failure to get type_a->regions[0]
info if parameter type_b of __next_mem_range_rev() == NULL

Fix this by checking before dereferring and initializing idx_b to 0

The approach is tested by dumping all types of region via
__memblock_dump_all() and __next_mem_range_rev() fixed to UART
separately the result is okay after checking the logs.

Link: http://lkml.kernel.org/r/57A0320D.6070102@zoho.com
Signed-off-by: zijun_hu <zijun_hu@htc.com>
Tested-by: zijun_hu <zijun_hu@htc.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memblock.c