Skip site navigation (1)Skip section navigation (2)
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>