summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2005-04-05 22:41:49 +0000
committerpeter <peter@FreeBSD.org>2005-04-05 22:41:49 +0000
commit0cf2f689219da669cfcdf2a1664e8a16eaf01e90 (patch)
treea749cb1d2b4ba2d2917ed8aef886f5b1606bca5f /lib
parentb2320665efc86fd7f23ef7150bef13b967c39ca1 (diff)
downloadFreeBSD-src-0cf2f689219da669cfcdf2a1664e8a16eaf01e90.zip
FreeBSD-src-0cf2f689219da669cfcdf2a1664e8a16eaf01e90.tar.gz
Fix 32 bit signals on amd64. It turns out that I was sign extending
the register values coming back from sigreturn(2). Normally this wouldn't matter because the 32 bit environment would truncate the upper 32 bits and re-save the truncated values at the next trap. However, if we got a fast second signal and it was pending while we were returning from sigreturn(2) in the signal trampoline, we'd never have had a chance to truncate the bogus values in 32 bit mode, and the new sendsig would get an EFAULT when trying to write to the bogus user stack address.
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud