On Thu 09-06-22 12:03:42, Muchun Song wrote: > "numa_stat" should not be included in the scope of CONFIG_HUGETLB_PAGE, > if CONFIG_HUGETLB_PAGE is not configured even if CONFIG_NUMA is configured, > "numa_stat" is missed form /proc. Remove it out of CONFIG_HUGETLB_PAGE > and move numa_stat sysctl handling to mm/vmstat.c. > > Fixes: 4518085e127d ("mm, sysctl: make NUMA stats configurable") > Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> It really looks like numa_stat is misplaced but I am wondering why the fix cannot be as simple as diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 830aaf8ca08e..b9c2cd9ed3a2 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2463,6 +2463,17 @@ static struct ctl_table vm_table[] = { .extra1 = SYSCTL_ZERO, .extra2 = SYSCTL_TWO_HUNDRED, }, +#ifdef CONFIG_NUMA + { + .procname = "numa_stat", + .data = &sysctl_vm_numa_stat, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = sysctl_vm_numa_stat_handler, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_ONE, + }, +#endif #ifdef CONFIG_HUGETLB_PAGE { .procname = "nr_hugepages", @@ -2479,15 +2490,6 @@ static struct ctl_table vm_table[] = { .mode = 0644, .proc_handler = &hugetlb_mempolicy_sysctl_handler, }, - { - .procname = "numa_stat", - .data = &sysctl_vm_numa_stat, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = sysctl_vm_numa_stat_handler, - .extra1 = SYSCTL_ZERO, - .extra2 = SYSCTL_ONE, - }, #endif { .procname = "hugetlb_shm_group", -- Michal Hocko SUSE Labs