For machines with RDFSBASE support, we only saved and restored fs and gs base registers when corresponding segment register contained the predefined value. This breaks some valid uses of the LDT together with WR{F,G}SBASE. Unconditionally save bases, and restore them on return to usermode. The PCB_FULL_IRET optimization is still in place.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/amd64/amd64/exception.S | ||
---|---|---|
1193–1194 | Yes, and the jmp above it as well. |