mirror of
https://github.com/opnsense/src.git
synced 2026-02-20 00:11:07 -05:00
fasttrap hooks the userspace breakpoint handler; the hook looks up the breakpoint address in a hash table of tracepoints. It is possible for the tracepoint to be removed by a different thread in between the breakpoint trap and the hash table lookup, in which case SIGTRAP gets delivered to the target process. Fix the problem by adding a per-process generation counter that gets incremented when a tracepoint belonging to that process is removed. Then, when a lookup fails, the trapping instruction is restarted if the thread's counter doesn't match that of the process. Reviewed by: cem MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19273 |
||
|---|---|---|
| .. | ||
| dtmalloc | ||
| dtrace | ||
| fbt | ||
| profile | ||
| sdt | ||
| systrace | ||
| prototype.c | ||