Files
android_kernel_xiaomi_sm8450/arch/mips/include/asm
Yaliang Wang fa3d444245 MIPS: pgalloc: fix memory leak caused by pgd_free()
[ Upstream commit 2bc5bab9a763d520937e4f3fe8df51c6a1eceb97 ]

pgd page is freed by generic implementation pgd_free() since commit
f9cb654cb5 ("asm-generic: pgalloc: provide generic pgd_free()"),
however, there are scenarios that the system uses more than one page as
the pgd table, in such cases the generic implementation pgd_free() won't
be applicable anymore. For example, when PAGE_SIZE_4KB is enabled and
MIPS_VA_BITS_48 is not enabled in a 64bit system, the macro "PGD_ORDER"
will be set as "1", which will cause allocating two pages as the pgd
table. Well, at the same time, the generic implementation pgd_free()
just free one pgd page, which will result in the memory leak.

The memory leak can be easily detected by executing shell command:
"while true; do ls > /dev/null; grep MemFree /proc/meminfo; done"

Fixes: f9cb654cb5 ("asm-generic: pgalloc: provide generic pgd_free()")
Signed-off-by: Yaliang Wang <Yaliang.Wang@windriver.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-08 14:40:21 +02:00
..
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2020-09-07 22:25:27 +02:00
2021-03-04 11:37:41 +01:00
2020-05-22 09:09:01 +02:00
2019-10-31 15:03:10 -07:00
2020-05-22 09:09:01 +02:00
2019-05-22 18:45:52 -07:00
2020-05-22 09:09:01 +02:00
2020-07-28 22:49:53 +02:00
2020-05-19 17:39:32 +02:00
2019-02-04 10:56:41 -08:00
2019-02-04 10:56:41 -08:00
2020-05-22 09:10:53 +02:00
2020-05-07 11:55:47 +02:00
2019-07-01 17:51:40 +02:00
2019-10-31 15:03:10 -07:00
2018-08-01 13:20:15 -07:00
2019-04-03 10:32:54 +02:00
2020-08-12 10:57:58 -07:00
2019-10-02 14:06:41 -07:00
2019-07-25 21:45:05 -07:00
2020-09-07 22:25:27 +02:00
2016-05-09 12:00:02 +02:00