mm: percpu: fix incorrect size in pcpu_obj_full_size()
authorYafang Shao <laoar.shao@gmail.com>
Tue, 14 Feb 2023 15:35:49 +0000 (15:35 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 17 Feb 2023 04:43:55 +0000 (20:43 -0800)
commit2ef8ed7ddd2e6e69da7802be51af8ad71326a74f
treeabf089b7cce04ead6f17bb66efa8c03257a6edd3
parent44081c77e8a4aac9c5a010ed0d9ccdcf684041e1
mm: percpu: fix incorrect size in pcpu_obj_full_size()

The extra space which is used to store the obj_cgroup membership is only
valid when kmemcg is enabled.  The kmemcg can be disabled via the kernel
parameter "cgroup.memory=nokmem" at boot time.  This helper is also used
in non-memcg code, for example the tracepoint, so we should fix it.

It was found by code review when I was implementing bpf memory usage[1].
No real issue happens in production environment.

[1]. https://lwn.net/Articles/921991/

Link: https://lkml.kernel.org/r/20230214153549.12291-1-laoar.shao@gmail.com
Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>
Acked-by: Dennis Zhou <dennis@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Vasily Averin <vvs@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/percpu-internal.h