a11ac730a7
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 |
||
---|---|---|
.. | ||
aarch64 | ||
amd64 | ||
arm | ||
i386 | ||
mips | ||
powerpc | ||
riscv | ||
x86 | ||
dtrace_anon.c | ||
dtrace_cddl.h | ||
dtrace_debug.c | ||
dtrace_hacks.c | ||
dtrace_ioctl.c | ||
dtrace_load.c | ||
dtrace_modevent.c | ||
dtrace_sysctl.c | ||
dtrace_test.c | ||
dtrace_unload.c | ||
dtrace_vtime.c |