summaryrefslogtreecommitdiffstats
path: root/arch/sparc/net/bpf_jit_asm.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-09-24 16:48:32 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-24 16:48:32 -0400
commit4daaab4f0c2b55adccab08da06e17acc270cb84a (patch)
tree41dfea3867755d3853218d50533c5600ac8fa6c0 /arch/sparc/net/bpf_jit_asm.S
parent3c4d1daecef875d28bdbe93587908c897c29ba71 (diff)
parentb94d525e58dc9638dd3f98094cb468bcfb262039 (diff)
downloadop-kernel-dev-4daaab4f0c2b55adccab08da06e17acc270cb84a.zip
op-kernel-dev-4daaab4f0c2b55adccab08da06e17acc270cb84a.tar.gz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'arch/sparc/net/bpf_jit_asm.S')
-rw-r--r--arch/sparc/net/bpf_jit_asm.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sparc/net/bpf_jit_asm.S b/arch/sparc/net/bpf_jit_asm.S
index 9d016c7..8c83f4b 100644
--- a/arch/sparc/net/bpf_jit_asm.S
+++ b/arch/sparc/net/bpf_jit_asm.S
@@ -6,10 +6,12 @@
#define SAVE_SZ 176
#define SCRATCH_OFF STACK_BIAS + 128
#define BE_PTR(label) be,pn %xcc, label
+#define SIGN_EXTEND(reg) sra reg, 0, reg
#else
#define SAVE_SZ 96
#define SCRATCH_OFF 72
#define BE_PTR(label) be label
+#define SIGN_EXTEND(reg)
#endif
#define SKF_MAX_NEG_OFF (-0x200000) /* SKF_LL_OFF from filter.h */
@@ -135,6 +137,7 @@ bpf_slow_path_byte_msh:
save %sp, -SAVE_SZ, %sp; \
mov %i0, %o0; \
mov r_OFF, %o1; \
+ SIGN_EXTEND(%o1); \
call bpf_internal_load_pointer_neg_helper; \
mov (LEN), %o2; \
mov %o0, r_TMP; \
OpenPOWER on IntegriCloud