Description
In the Linux kernel, the following vulnerability has been resolved: MIPS: pgalloc: fix memory leak caused by pgd_free() pgd page is freed by generic implementation pgd_free() since commit f9cb654cb550 ("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"
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
f9cb654cb550b7b87e8608b14fc3eca432429ffe to < fa3d44424579972cc7c4fac3d9cf227798ebdfa0affectedf9cb654cb550b7b87e8608b14fc3eca432429ffe to < d29cda15cab086d82d692de016f7249545d4b6b4affectedf9cb654cb550b7b87e8608b14fc3eca432429ffe to < 5a8501d34b261906e4c76ec9da679f2cb4d309edaffectedf9cb654cb550b7b87e8608b14fc3eca432429ffe to < 1bf0d78c8cc3cf615a6e7bf33ada70b73592f0a1affectedf9cb654cb550b7b87e8608b14fc3eca432429ffe to < 2bc5bab9a763d520937e4f3fe8df51c6a1eceb97affected
Linux Linux
Default version status: affected
5.9affected0 to < 5.9unaffected5.10.110 to ≤ 5.10.*unaffected5.15.33 to ≤ 5.15.*unaffected5.16.19 to ≤ 5.16.*unaffected5.17.2 to ≤ 5.17.*unaffected5.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fa3d44424579972cc7c4fac3d9cf227798ebdfa0 ↗
- https://git.kernel.org/stable/c/d29cda15cab086d82d692de016f7249545d4b6b4 ↗
- https://git.kernel.org/stable/c/5a8501d34b261906e4c76ec9da679f2cb4d309ed ↗
- https://git.kernel.org/stable/c/1bf0d78c8cc3cf615a6e7bf33ada70b73592f0a1 ↗
- https://git.kernel.org/stable/c/2bc5bab9a763d520937e4f3fe8df51c6a1eceb97 ↗