Because fuword on AMD64 returns 64bit long integer -1 on fault, clear
entire %rax to zero instead of only clearing %eax, otherwise it will leave garbage data in upper 32 bits.
This commit is contained in:
parent
b4359bd8e5
commit
2328274aec
@ -412,7 +412,7 @@ ENTRY(fubyte)
|
||||
ALIGN_TEXT
|
||||
fusufault:
|
||||
movq PCPU(CURPCB),%rcx
|
||||
xorl %eax,%eax
|
||||
xorq %rax,%rax
|
||||
movq %rax,PCB_ONFAULT(%rcx)
|
||||
decq %rax
|
||||
ret
|
||||
|
Loading…
x
Reference in New Issue
Block a user