Liu Zixian 13db8c5047 mm/hugetlb: initialize hugetlb_usage in mm_init
After fork, the child process will get incorrect (2x) hugetlb_usage.  If
a process uses 5 2MB hugetlb pages in an anonymous mapping,

	HugetlbPages:	   10240 kB

and then forks, the child will show,

	HugetlbPages:	   20480 kB

The reason for double the amount is because hugetlb_usage will be copied
from the parent and then increased when we copy page tables from parent
to child.  Child will have 2x actual usage.

Fix this by adding hugetlb_count_init in mm_init.

Link: https://lkml.kernel.org/r/20210826071742.877-1-liuzixian4@huawei.com
Fixes: 5d317b2b6536 ("mm: hugetlb: proc: add HugetlbPages field to /proc/PID/status")
Signed-off-by: Liu Zixian <liuzixian4@huawei.com>
Reviewed-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-09-08 18:45:53 -07:00
..
2021-09-07 12:08:04 -07:00
2021-09-03 11:22:50 -07:00
2021-09-02 13:00:15 -07:00
2021-08-30 14:26:36 -07:00
2021-08-30 14:26:36 -07:00
2021-09-07 12:08:04 -07:00
2021-08-11 13:11:12 -07:00
2021-06-18 11:43:08 +02:00
2021-05-07 00:26:33 -07:00
2021-07-11 11:06:09 -07:00
2021-06-18 11:43:09 +02:00
2020-12-01 10:30:28 +00:00
2021-08-11 14:47:16 +02:00
2021-05-07 00:26:34 -07:00