In of_node_to_nid() and numa_parse_mdesc(), we should consider the return value of mdesc_grab() as it may return NULL. We should add check to avoid NPD bug. Fixes: 27137e5285a3 ("sparc,sparc64: unify mm/") Signed-off-by: Liang He <windhl@xxxxxxx> --- arch/sparc/mm/init_64.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 04f9db0c3111..d0a0c1a78b41 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c @@ -1176,6 +1176,8 @@ int of_node_to_nid(struct device_node *dp) cfg_handle = (regs->phys_addr >> 32UL) & 0x0fffffff; md = mdesc_grab(); + if (!md) + return -1; count = 0; nid = NUMA_NO_NODE; @@ -1449,6 +1451,9 @@ static int __init numa_parse_mdesc(void) int i, j, err, count; u64 node; + if (!md) + return -ENODEV; + node = mdesc_node_by_name(md, MDESC_NODE_NULL, "latency-groups"); if (node == MDESC_NODE_NULL) { mdesc_release(md); -- 2.25.1