lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 17 Nov 2012 00:06:03 +0000 From: Matt Evans <matt@...abs.org> To: Daniel Borkmann <dxchgb@...il.com> Cc: davem@...emloft.net, benh@...nel.crashing.org, netdev@...r.kernel.org Subject: Re: [PATCH net-next 2/2] PPC: net: bpf_jit_comp: add VLAN instructions for BPF JIT Hi, On 08/11/2012, at 9:41 PM, Daniel Borkmann wrote: > This patch is a follow-up for patch "net: filter: add vlan tag access" > to support the new VLAN_TAG/VLAN_TAG_PRESENT accessors in BPF JIT. > > Signed-off-by: Daniel Borkmann <daniel.borkmann@....ee.ethz.ch> > Cc: Matt Evans <matt@...abs.org> > Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org> > --- > Disclaimer: uncompiled and untested, since I don't have a PPC machine, > but it should (hopefully) integrate cleanly; impl. after PPC instruction > reference. And for this too, Acked-by: Matt Evans <matt@...abs.org> Sorry for the delay in reviewing this! Thanks, Matt > > arch/powerpc/net/bpf_jit_comp.c | 14 ++++++++++++++ > 1 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net/bpf_jit_comp.c > index b9434de..e834f1e 100644 > --- a/arch/powerpc/net/bpf_jit_comp.c > +++ b/arch/powerpc/net/bpf_jit_comp.c > @@ -13,6 +13,8 @@ > #include <asm/cacheflush.h> > #include <linux/netdevice.h> > #include <linux/filter.h> > +#include <linux/if_vlan.h> > + > #include "bpf_jit.h" > > #ifndef __BIG_ENDIAN > @@ -89,6 +91,8 @@ static void bpf_jit_build_prologue(struct sk_filter *fp, u32 *image, > case BPF_S_ANC_IFINDEX: > case BPF_S_ANC_MARK: > case BPF_S_ANC_RXHASH: > + case BPF_S_ANC_VLAN_TAG: > + case BPF_S_ANC_VLAN_TAG_PRESENT: > case BPF_S_ANC_CPU: > case BPF_S_ANC_QUEUE: > case BPF_S_LD_W_ABS: > @@ -382,6 +386,16 @@ static int bpf_jit_build_body(struct sk_filter *fp, u32 *image, > PPC_LWZ_OFFS(r_A, r_skb, offsetof(struct sk_buff, > rxhash)); > break; > + case BPF_S_ANC_VLAN_TAG: > + case BPF_S_ANC_VLAN_TAG_PRESENT: > + BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, vlan_tci) != 2); > + PPC_LHZ_OFFS(r_A, r_skb, offsetof(struct sk_buff, > + vlan_tci)); > + if (filter[i].code == BPF_S_ANC_VLAN_TAG) > + PPC_ANDI(r_A, r_A, VLAN_VID_MASK); > + else > + PPC_ANDI(r_A, r_A, VLAN_TAG_PRESENT); > + break; > case BPF_S_ANC_QUEUE: > BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, > queue_mapping) != 2); -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists