Mark Johnston a11ac730a7 Prevent CPU migration when checking the DTrace nofault flag on x86.
dtrace_trap() consumes page and protection faults triggered by code running
in DTrace probe context. Such faults occur with interrupts disabled and are
detected using a per-CPU flag. Regular faults cause dtrace_trap() to be
called with interrupts enabled, and nothing was ensuring that the flag was
read from the correct CPU. This may result in dtrace_trap() consuming
unrelated page and protection faults when DTrace is enabled, causing the
fault handler to return without actually having handled the fault.

Diagnosed by:	Ryan Libby <rlibby@gmail.com>
MFC after:	3 days
Sponsored by:	Dell EMC Isilon
2017-02-16 23:05:20 +00:00
..
2017-01-28 02:22:15 +00:00
2017-01-28 16:31:23 +00:00
2017-01-28 02:22:15 +00:00
2017-02-16 21:18:31 +00:00
2017-02-16 11:38:50 +00:00
2017-02-15 23:33:14 +00:00
2017-02-14 13:54:05 +00:00
2017-01-28 02:22:15 +00:00