Print this page
11787 Kernel needs to be built with retpolines
11788 Kernel needs to generally use RSB stuffing
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: John Levon <john.levon@joyent.com>
*** 306,316 ****
movq %rbp, %rdi
call av_dispatch_nmivect
INTR_POP
! call *x86_md_clear
jmp tr_iret_auto
/*NOTREACHED*/
SET_SIZE(nmiint)
#elif defined(__i386)
--- 306,316 ----
movq %rbp, %rdi
call av_dispatch_nmivect
INTR_POP
! call x86_md_clear
jmp tr_iret_auto
/*NOTREACHED*/
SET_SIZE(nmiint)
#elif defined(__i386)
*** 1024,1034 ****
cmpl $T_LASTFAST, %eax
ja 1f
orl %eax, %eax /* (zero extend top 32-bits) */
leaq fasttable(%rip), %r11
leaq (%r11, %rax, CLONGSIZE), %r11
! jmp *(%r11)
1:
/*
* Fast syscall number was illegal. Make it look
* as if the INT failed. Modify %rip to point before the
* INT, push the expected error code and fake a GP fault.
--- 1024,1035 ----
cmpl $T_LASTFAST, %eax
ja 1f
orl %eax, %eax /* (zero extend top 32-bits) */
leaq fasttable(%rip), %r11
leaq (%r11, %rax, CLONGSIZE), %r11
! movq (%r11), %r11
! INDIRECT_JMP_REG(r11)
1:
/*
* Fast syscall number was illegal. Make it look
* as if the INT failed. Modify %rip to point before the
* INT, push the expected error code and fake a GP fault.
*** 1084,1094 ****
* XXX a constant would be nicer.
*/
ENTRY_NP(fast_null)
XPV_TRAP_POP
orq $PS_C, 24(%rsp) /* set carry bit in user flags */
! call *x86_md_clear
jmp tr_iret_auto
/*NOTREACHED*/
SET_SIZE(fast_null)
#elif defined(__i386)
--- 1085,1095 ----
* XXX a constant would be nicer.
*/
ENTRY_NP(fast_null)
XPV_TRAP_POP
orq $PS_C, 24(%rsp) /* set carry bit in user flags */
! call x86_md_clear
jmp tr_iret_auto
/*NOTREACHED*/
SET_SIZE(fast_null)
#elif defined(__i386)