projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bf3c228
)
sparc: bpf_jit: add SKF_AD_PKTTYPE support to JIT
author
Alexei Starovoitov
<ast@plumgrid.com>
Tue, 16 Sep 2014 19:35:35 +0000
(12:35 -0700)
committer
David S. Miller
<davem@davemloft.net>
Fri, 19 Sep 2014 19:34:40 +0000
(15:34 -0400)
commit
233577a22089
("net: filter: constify detection of pkt_type_offset")
allows us to implement simple PKTTYPE support in sparc JIT
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/net/bpf_jit_comp.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/sparc/net/bpf_jit_comp.c
b/arch/sparc/net/bpf_jit_comp.c
index b2ad9dc5425e261fd580232aff0b22b763542d99..2dde48bdcc429639623836fb50776dd90fce3dac 100644
(file)
--- a/
arch/sparc/net/bpf_jit_comp.c
+++ b/
arch/sparc/net/bpf_jit_comp.c
@@
-579,16
+579,11
@@
void bpf_jit_compile(struct bpf_prog *fp)
case BPF_ANC | SKF_AD_PROTOCOL:
emit_skb_load16(protocol, r_A);
break;
-#if 0
- /* GCC won't let us take the address of
- * a bit field even though we very much
- * know what we are doing here.
- */
case BPF_ANC | SKF_AD_PKTTYPE:
- __emit_skb_load8(pkt_type, r_A);
+ __emit_skb_load8(__pkt_type_offset, r_A);
+ emit_andi(r_A, PKT_TYPE_MAX, r_A);
emit_alu_K(SRL, 5);
break;
-#endif
case BPF_ANC | SKF_AD_IFINDEX:
emit_skb_loadptr(dev, r_A);
emit_cmpi(r_A, 0);