[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2204021446370.47162@angie.orcam.me.uk>
Date: Sat, 2 Apr 2022 14:48:31 +0100 (BST)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: yaliang.wang@...driver.com
cc: rppt@...nel.org, Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
huangpei@...ngson.cn, Andrew Morton <akpm@...ux-foundation.org>,
kumba@...too.org, Geert Uytterhoeven <geert@...ux-m68k.org>,
anshuman.khandual@....com, penberg@...nel.org,
linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] MIPS: pgalloc: fix memory leak caused by pgd_free()
On Thu, 10 Mar 2022, yaliang.wang@...driver.com wrote:
> 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"
>
> Fixes: f9cb654cb550 ("asm-generic: pgalloc: provide generic pgd_free()")
> Signed-off-by: Yaliang Wang <Yaliang.Wang@...driver.com>
As a critical regression shouldn't this have been marked for backporting
to stable branches?
Maciej
Powered by blists - more mailing lists