[PATCH] mm/sparse: return right away if sparsemap_buf is null
From: Leesoo Ahn
Date: Fri Jul 26 2024 - 03:11:11 EST
sparse_buffer_fini(..) takes the following actions even though the value of
sparsemap_buf is NULL,
1. calculate size of sparsemap buffer (which is meaningless).
2. set sparsemap_buf variable to NULL (although it is already NULL).
These steps are unnecessary if the variable, sparsemap_buf is NULL.
Refactor the function to return right away if the variable is NULL.
Hence, it doesn't need to take further actions.
Signed-off-by: Leesoo Ahn <lsahn@xxxxxxxxxx>
---
mm/sparse.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mm/sparse.c b/mm/sparse.c
index e4b830091d13..091e4bc2f72c 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -469,9 +469,13 @@ static void __init sparse_buffer_init(unsigned long size, int nid)
static void __init sparse_buffer_fini(void)
{
- unsigned long size = sparsemap_buf_end - sparsemap_buf;
+ unsigned long size;
- if (sparsemap_buf && size > 0)
+ if (!sparsemap_buf)
+ return;
+
+ size = sparsemap_buf_end - sparsemap_buf;
+ if (size > 0)
sparse_buffer_free(size);
sparsemap_buf = NULL;
}
--
2.34.1