Page MenuHomeFreeBSD

D15708.id43477.diff
No OneTemporary

D15708.id43477.diff

Index: head/sys/amd64/amd64/trap.c
===================================================================
--- head/sys/amd64/amd64/trap.c
+++ head/sys/amd64/amd64/trap.c
@@ -770,7 +770,8 @@
* If nx protection of the usermode portion of kernel page
* tables caused trap, panic.
*/
- if (pti && usermode && pg_nx != 0 && (frame->tf_err & (PGEX_P | PGEX_W |
+ if (PCPU_GET(curpmap)->pm_ucr3 != PMAP_NO_CR3 && usermode &&
+ pg_nx != 0 && (frame->tf_err & (PGEX_P | PGEX_W |
PGEX_U | PGEX_I)) == (PGEX_P | PGEX_U | PGEX_I) &&
(curpcb->pcb_saved_ucr3 & ~CR3_PCID_MASK)==
(PCPU_GET(curpmap)->pm_cr3 & ~CR3_PCID_MASK))

File Metadata

Mime Type
text/plain
Expires
Fri, May 15, 4:34 AM (14 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33072951
Default Alt Text
D15708.id43477.diff (639 B)

Event Timeline