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,11 +306,11 @@
 
         movq    %rbp, %rdi
         call    av_dispatch_nmivect
 
         INTR_POP
-        call    *x86_md_clear
+        call    x86_md_clear
         jmp     tr_iret_auto
         /*NOTREACHED*/
         SET_SIZE(nmiint)
 
 #elif defined(__i386)

@@ -1024,11 +1024,12 @@
         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)
+        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,11 +1085,11 @@
          * 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
+        call    x86_md_clear
         jmp     tr_iret_auto
         /*NOTREACHED*/
         SET_SIZE(fast_null)
 
 #elif defined(__i386)