Re: [PATCH v4 net-next 0/5] net: filter: split sk_filter into socket and bpf, cleanup names

From: David Miller
Date: Sat Aug 02 2014 - 18:10:24 EST


From: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed, 30 Jul 2014 20:34:11 -0700

> The main goal of the series is to split 'struct sk_filter' into socket and
> bpf parts and cleanup names in the following way:
> - everything that deals with sockets keeps 'sk_*' prefix
> - everything that is pure BPF is changed to 'bpf_*' prefix
>
> split 'struct sk_filter' into
> struct sk_filter {
> atomic_t refcnt;
> struct rcu_head rcu;
> struct bpf_prog *prog;
> };
> and
> struct bpf_prog {
> u32 jited:1,
> len:31;
> struct sock_fprog_kern *orig_prog;
> unsigned int (*bpf_func)(const struct sk_buff *skb,
> const struct bpf_insn *filter);
> union {
> struct sock_filter insns[0];
> struct bpf_insn insnsi[0];
> struct work_struct work;
> };
> };
> so that 'struct bpf_prog' can be used independent of sockets and cleans up
> 'unattached' bpf use cases:
> isdn, ppp, team, seccomp, ptp, xt_bpf, cls_bpf, test_bpf
> which don't need refcnt/rcu fields.
>
> It's a follow up to the rcu cleanup started by Pablo in
> commit 34c5bd66e5 ("net: filter: don't release unattached filter through call_rcu()")
>
> Patch 1 - cleans up socket memory charging and makes it possible for functions
> sk(bpf)_migrate_filter(), sk(bpf)_prepare_filter() to be socket independent
> Patches 2-4 - trivial renames
> Patch 5 - sk_filter split and renames of related sk_*() functions

Series applied, thanks Alexei.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/