Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Apr 2005 22:41:49 +0000 (UTC)
From:      Peter Wemm <peter@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/compat/ia32 ia32_signal.h
Message-ID:  <200504052241.j35MfnAK083912@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       2005-04-05 22:41:49 UTC

  FreeBSD src repository

  Modified files:
    sys/compat/ia32      ia32_signal.h 
  Log:
  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.
  
  Revision  Changes    Path
  1.7       +72 -72    src/sys/compat/ia32/ia32_signal.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504052241.j35MfnAK083912>