mm,page_owner: don't remove __GFP_NOLOCKDEP in add_stack_record_to_list
authorChristoph Hellwig <hch@lst.de>
Mon, 29 Apr 2024 08:28:28 +0000 (10:28 +0200)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:28:07 +0000 (17:28 -0700)
Otherwise we'll generate false lockdep positives.

Link: https://lkml.kernel.org/r/20240429082828.1615986-1-hch@lst.de
Fixes: 217b2119b9e2 ("mm,page_owner: implement the tracking of the stacks count")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Oscar Salvador <osalvador@suse.de>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Marco Elver <elver@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_owner.c

index 6669c7eadfb36df6b46df1a928c614cc65c50cda..8eed0f3dc0853c3a694b8169ccee62edef321b43 100644 (file)
@@ -170,7 +170,7 @@ static void add_stack_record_to_list(struct stack_record *stack_record,
 
        /* Filter gfp_mask the same way stackdepot does, for consistency */
        gfp_mask &= ~GFP_ZONEMASK;
-       gfp_mask &= (GFP_ATOMIC | GFP_KERNEL);
+       gfp_mask &= (GFP_ATOMIC | GFP_KERNEL | __GFP_NOLOCKDEP);
        gfp_mask |= __GFP_NOWARN;
 
        set_current_in_page_owner();