[PATCH] mm/sparse:avoid null pointer access in memory_present()

From: Liam Ni
Date: Sat Jun 17 2023 - 00:41:01 EST


__nr_to_section() may return a null pointer,
before accessing the member variable section_mem_map,
we should first determine whether it is a null pointer.

Signed-off-by: Liam Ni <zhiguangni01@xxxxxxxxx>
---
mm/sparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/sparse.c b/mm/sparse.c
index 4e6e3a9d49dc..37fa3818bc25 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -258,7 +258,7 @@ static void __init memory_present(int nid, unsigned long start, unsigned long en
set_section_nid(section, nid);

ms = __nr_to_section(section);
- if (!ms->section_mem_map) {
+ if (ms && !ms->section_mem_map) {
ms->section_mem_map = sparse_encode_early_nid(nid) |
SECTION_IS_ONLINE;
__section_mark_present(ms, section);
--
2.25.1