]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
If a trap is encountered upon executing iretq from within doreti() the
authortychon <tychon@FreeBSD.org>
Wed, 25 Apr 2018 14:21:13 +0000 (14:21 +0000)
committertychon <tychon@FreeBSD.org>
Wed, 25 Apr 2018 14:21:13 +0000 (14:21 +0000)
commitb5071925e0a4dea5168dbb369a22477666a84c7e
treed066329c8a1f667b02326a21656cf35a9fdfe48d
parent2f45771b4bf93817364061a353338d9cc519e136
If a trap is encountered upon executing iretq from within doreti() the
hardware will ensure the stack pointer is aligned to a 16-byte
boundary before saving the fault state on the stack.

In the PTI case, handle this potential alignment adjustment by copying
both frames independently while unwinding the stack in between.

Reviewed by: kib
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D15183
sys/amd64/amd64/exception.S