[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yngp/g2RYgnsdOJH@casper.infradead.org>
Date: Sun, 8 May 2022 21:37:18 +0100
From: Matthew Wilcox <willy@...radead.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Vasily Averin <vvs@...nvz.org>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...hat.com>, kernel@...nvz.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH mm] tracing: incorrect gfp_t conversion
On Sat, May 07, 2022 at 04:00:10PM -0700, Andrew Morton wrote:
> On Sat, 7 May 2022 15:48:35 -0700 Andrew Morton <akpm@...ux-foundation.org> wrote:
>
> > I did the below.
> >
>
> Silly me, doesn't work.
>
> >
> > --- a/include/trace/events/mmflags.h~tracing-incorrect-gfp_t-conversion-fix
> > +++ a/include/trace/events/mmflags.h
> > @@ -13,53 +13,57 @@
> > * Thus most bits set go first.
> > */
> >
> > +#define FUL __force unsigned long
> > +
> > #define __def_gfpflag_names \
> > - {(__force unsigned long)GFP_TRANSHUGE, "GFP_TRANSHUGE"}, \
>
> Can't expand FUL here within the macro definition.
Can we do something even better?
#define GFP_NAME(flag) { (__force unsigned long)flag, #flag },
... with one or more layers of indirection to satisfy the arcane
rules of C macros?
Powered by blists - more mailing lists