freebsd-skq/sys/amd64/ia32
kib ce081b037e In r197963, a race with thread being selected for signal delivery
while in kernel mode, and later changing signal mask to block the
signal, was fixed for sigprocmask(2) and ptread_exit(3). The same race
exists for sigreturn(2), setcontext(2) and swapcontext(2) syscalls.

Use kern_sigprocmask() instead of direct manipulation of td_sigmask to
reschedule newly blocked signals, closing the race.

Reviewed by:	davidxu
Tested by:	pho
MFC after:	1 month
2009-10-27 10:47:58 +00:00
..
ia32_exception.S Restore the segment registers and segment base MSRs for amd64 syscall 2009-07-09 09:34:11 +00:00
ia32_misc.c Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
ia32_reg.c Restore the segment registers and segment base MSRs for amd64 syscall 2009-07-09 09:34:11 +00:00
ia32_signal.c In r197963, a race with thread being selected for signal delivery 2009-10-27 10:47:58 +00:00
ia32_sigtramp.S Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
ia32_syscall.c Optimize vmmeter locking. 2007-06-10 21:59:14 +00:00