lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGWkznHPBTChePBRZ-kf8Db88Hm9SCNZfV_BeOU-Q7NtUgrFpQ@mail.gmail.com>
Date:   Mon, 19 Sep 2022 13:37:40 +0800
From:   Zhaoyang Huang <huangzhaoyang@...il.com>
To:     "zhaoyang.huang" <zhaoyang.huang@...soc.com>
Cc:     Mel Gorman <mgorman@...hsingularity.net>,
        Andrew Morton <akpm@...ux-foundation.org>,
        "open list:MEMORY MANAGEMENT" <linux-mm@...ck.org>,
        LKML <linux-kernel@...r.kernel.org>, Ke Wang <ke.wang@...soc.com>
Subject: Re: [PATCH] mm: check high-order page when free it to pcp

current free_pcp_prepare logic should be inherited from the code
before 44042b4498, where high order pages only reside in the global
list and will be checked during free and alloc.

On Mon, Sep 19, 2022 at 11:47 AM zhaoyang.huang
<zhaoyang.huang@...soc.com> wrote:
>
> From: Zhaoyang Huang <zhaoyang.huang@...soc.com>
>
> High-order pcp page escaped from checking when both of DEBUG_VM and debug_pagealloc
> are all disabled if it allocated again from pcp_list without going to global
> free list, which should be introduced by 44042b4498.
>
> fix:44042b4498
>
> Signed-off-by: Zhaoyang Huang <zhaoyang.huang@...soc.com>
> ---
>  mm/page_alloc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e008a3d..e77f3a7 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1437,7 +1437,7 @@ static bool bulkfree_pcp_prepare(struct page *page)
>   */
>  static bool free_pcp_prepare(struct page *page, unsigned int order)
>  {
> -       if (debug_pagealloc_enabled_static())
> +       if (debug_pagealloc_enabled_static() || order)
>                 return free_pages_prepare(page, order, true, FPI_NONE);
>         else
>                 return free_pages_prepare(page, order, false, FPI_NONE);
> --
> 1.9.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ