Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2002 09:47:13 -0800 (PST)
From:      Bruce Evans <bde@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/i386 machdep.c
Message-ID:  <200201301747.g0UHlEs29212@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
bde         2002/01/30 09:47:13 PST

  Modified files:
    sys/i386/i386        machdep.c 
  Log:
  Cleaned up the 0ldSiG magic check before removing it.  Just use fuword()
  to fetch the magic word instead of useracc() plus a direct access.
  This is more efficient as well as simpler and less incorrect:
  - it was inefficent because useracc() takes much longer than just
    accessing the data using a correct access method, at least on i386's.
  - it was incorrect because direct access is incorrect unless the address
    has been mapped.  This and nearby direct accesses are mostly handled
    better for other arches because they have to be (direct accesses don't
    work).
  - using magic in sigreturn is still fundamentally broken because false
    matches are possible.  On i386's, a false match occurs when %eip in a
    new signal context happens to equal the magic value.  This is not
    handled better for other arches.
  
  Revision  Changes    Path
  1.489     +8 -13     src/sys/i386/i386/machdep.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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