Date: Thu, 27 Jan 2011 21:45:38 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/linux32 linux.h Message-ID: <201101272145.p0RLjsYi065837@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2011-01-27 21:45:38 UTC
FreeBSD src repository
Modified files:
sys/amd64/linux32 linux.h
Log:
SVN rev 217991 on 2011-01-27 21:45:38Z by kib
linux_sigreturn() loads the struct trapframe from l_sigcontext
members, thus making a signed extension of 32 bit register
context. If the register is not touched in usermode between
return from signal and next syscall entry, the sign-extension
part of 64bit register is not cleared, causing
linux32_fetch_syscall_args() to read wrong values.
Use unsigned type for the registers in the linux sigcontext.
Reported by: Jacob Frelinger <jacob.frelinger duke edu>, arundel
In collaboration with: dchagin
MFC after: 1 week
Revision Changes Path
1.31 +22 -22 src/sys/amd64/linux32/linux.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101272145.p0RLjsYi065837>
