]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/sparc/net/bpf_jit_asm.S
net: filter: Fix some more small issues in sparc JIT.
[karo-tx-linux.git] / arch / sparc / net / bpf_jit_asm.S
index 46d8f59f14c5348ba5c8ce0f82f3fd01b6c21c5f..9d016c7017f718f2ea0c78e7babcddfd6e24b591 100644 (file)
@@ -195,5 +195,11 @@ bpf_jit_load_byte_msh_negative_offset:
         sll    r_OFF, 2, r_X
 
 bpf_error:
+       /* Make the JIT program return zero.  The JIT epilogue
+        * stores away the original %o7 into r_saved_O7.  The
+        * normal leaf function return is to use "retl" which
+        * would evalute to "jmpl %o7 + 8, %g0" but we want to
+        * use the saved value thus the sequence you see here.
+        */
        jmpl    r_saved_O7 + 8, %g0
         clr    %o0