freebsd-nq/sys/amd64
Konstantin Belousov f98c3ea74e - When executing FreeBSD/amd64 binaries from FreeBSD/i386 or Linux/i386
processes, clear PCB_32BIT and PCB_GS32BIT bits [1].

- Reread the fs and gs bases from the msr unconditionally, not believing
  the values in pcb_fsbase and pcb_gsbase, since usermode may reload
  segment registers, invalidating the cache. [2].

Both problems resulted in the wrong fs base, causing wrong tls pointer
be dereferenced in the usermode.

Reported and tested by:	Vyacheslav Bocharov <adeepv at gmail com> [1]
Reported by:	Bernd Walter <ticsoat cicely7 cicely de>,
	Artem Belevich <fbsdlist at src cx>[2]
Reviewed by:	peter
MFC after:	3 days
2008-09-02 17:52:11 +00:00
..
acpica In keeping with style(9)'s recommendations on macros, use a ';' 2008-03-16 10:58:09 +00:00
amd64 - When executing FreeBSD/amd64 binaries from FreeBSD/i386 or Linux/i386 2008-09-02 17:52:11 +00:00
compile
conf Integrate the new MPSAFE TTY layer to the FreeBSD operating system. 2008-08-20 08:31:58 +00:00
ia32 - When executing FreeBSD/amd64 binaries from FreeBSD/i386 or Linux/i386 2008-09-02 17:52:11 +00:00
include Extend the support for PCI-e memory mapped configuration space access: 2008-08-22 02:14:23 +00:00
isa Now that all platforms use genclock, shuffle things around slightly 2008-04-22 19:38:30 +00:00
linux32 Bring back the save/restore of the %ds, %es, %fs and %gs registers for 2008-07-30 11:30:55 +00:00
pci Extend the support for PCI-e memory mapped configuration space access: 2008-08-22 02:14:23 +00:00
Makefile