[Bug 250043] ptrace() GETFPREGS/SETFPREGS uses 32-bit version of *XSAVE*/*XRSTOR* truncating FIP/FDP

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Oct 3 23:17:38 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250043

--- Comment #2 from commit-hook at FreeBSD.org ---
A commit references this bug:

Author: kib
Date: Sat Oct  3 23:17:30 UTC 2020
New revision: 366417
URL: https://svnweb.freebsd.org/changeset/base/366417

Log:
  amd64: Store full 64bit of FIP/FDP for 64bit processes when using XSAVE.

  If current process is 64bit, use rex-prefixed version of XSAVE
  (XSAVE64).  If current process is 32bit and CPU supports saving
  segment registers cs/ds in the FPU save area, use non-prefixed variant
  of XSAVE.

  Reported and tested by:       Micha? G?rny <mgorny at mgorny@moritz.systems>
  PR:   250043
  Reviewed by:  emaste, markj
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week
  Differential revision:        https://reviews.freebsd.org/D26643

Changes:
  head/sys/amd64/amd64/cpu_switch.S
  head/sys/amd64/amd64/fpu.c
  head/sys/amd64/include/md_var.h

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list