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

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:23:39 +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-01-22 11:40:00 +01: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-09-08 15:32:35 -07:00
2020-11-11 23:49:22 +01:00
2019-10-31 15:03:10 -07:00
2021-07-13 15:08:15 -05:00
2019-05-22 18:45:52 -07:00
2020-05-22 09:09:01 +02:00
2021-05-07 00:26:34 -07:00
2021-01-04 11:37:27 +01:00
2020-05-19 17:39:32 +02:00
2019-02-04 10:56:41 -08:00
2020-05-22 09:10:53 +02:00
2021-04-06 15:12:58 +02:00
2018-08-01 13:20:15 -07:00
2021-04-06 15:12:58 +02:00
2019-04-03 10:32:54 +02:00
2021-09-08 15:32:35 -07:00
2019-07-25 21:45:05 -07:00
2021-01-27 21:49:16 +01:00
2020-09-07 22:25:27 +02:00
2016-05-09 12:00:02 +02:00