Just like nr_cpu_ids, nr_node_ids covers the side of possible_map and is thus constant after init. Mark the variable __ro_after_init to both improve performance and enhance security, since the variable is exported. A module writing to it would be 'unfortunate'. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> --- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -305,7 +305,7 @@ int movable_zone; EXPORT_SYMBOL(movable_zone); #if MAX_NUMNODES > 1 -unsigned int nr_node_ids __read_mostly = MAX_NUMNODES; +unsigned int nr_node_ids __ro_after_init = MAX_NUMNODES; unsigned int nr_online_nodes __read_mostly = 1; EXPORT_SYMBOL(nr_node_ids); EXPORT_SYMBOL(nr_online_nodes);