On Tue, Dec 14, 2021 at 8:56 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > On Mon, Dec 13, 2021 at 10:54PM +0100, andrey.konovalov@xxxxxxxxx wrote: > [...] > > > > + /* > > + * Skip page_alloc poisoning and zeroing for pages backing VM_ALLOC > > + * mappings. Only effective in HW_TAGS mode. > > + */ > > + gfp &= __GFP_SKIP_KASAN_UNPOISON & __GFP_SKIP_ZERO; > > This will turn gfp == 0 always. Should it have been > > gfp |= __GFP_SKIP_KASAN_UNPOISON | __GFP_SKIP_ZERO Oh, this is bad. Thanks for noticing! Will fix in v4. > Also, not sure it matters, but on non-KASAN builds, this will now always > generate an extra instruction. You could conditionally define GFP_SKIP* > only in the KASAN modes that need them, otherwise they become 0, so the > compiler optimizes this out. (Although I think it does does complicate > GFP_SHIFT a little?) I can implement this, but I don't think a single extra instruction per vmalloc() matters.