Messages in this thread | | | Subject | Re: [PATCH 5/5] tracing: Do not record user stack trace from NMI context | From | Steven Rostedt <> | Date | Sun, 14 Mar 2010 11:28:03 -0400 |
| |
On Sun, 2010-03-14 at 11:27 +0100, Frederic Weisbecker wrote:
> > Wow, that's a race :) > > In perf this is dealt with a special copy_from_user_nmi() > (see in arch/x86/kernel/cpu/perf_event.c) > > May be save_stack_trace_user() should use that instead > of a __copy_from_user_inatomic() based thing, just to > cover such NMI corner race case. >
Yeah, we should move the __copy_from_user_nmi() out of the perf code and into the normal uaccess code. Then we could do as you suggest, and have the stack code do:
if (in_nmi()) __copy_from_user_nmi(); else __copy_from_user_inatomic();
Or maybe it would be best to have the __copy_from_user_inatomic() handle it.
-- Steve
| |