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>