Re: [PATCH v3 04/22] x86/doublefault: Make memmove() notrace/NOKPROBE

From: Steven Rostedt
Date: Wed Feb 19 2020 - 12:05:25 EST


On Wed, 19 Feb 2020 08:27:47 -0800
"Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:

> > Or, we could just cut and paste the current memmove and make a notrace
> > version too. Then we don't need to worry bout bugs like this.
>
> OK, I will bite...
>
> Can we just make the core be an inline function and make a notrace and
> a trace caller? Possibly going one step further and having one call
> the other? (Presumably the traceable version invoking the notrace
> version, but it has been one good long time since I have looked at
> function preambles.)

Sure. Looking at the implementation (which is big and ugly), we could
have a

static always_inline void __memmove(...)
{
[..]
}

__visible void *memmove(...)
{
return __memmove(...);
}

__visible notrace void *memmove_notrace(...)
{
return __memmove(...);
}

-- Steve