Messages in this thread | | | Date | Thu, 31 Jul 2014 21:40:59 +0200 | From | Pablo Neira Ayuso <> | Subject | Re: [PATCH v4 net-next 5/5] net: filter: split 'struct sk_filter' into socket and bpf parts |
| |
On Wed, Jul 30, 2014 at 08:34:16PM -0700, Alexei Starovoitov wrote: > clean up names related to socket filtering and bpf 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; > };
I think you can use 'struct bpf_prog prog' instead so the entire sk_filter remains in the same memory blob (as it is before this patch).
You can add an inline function to retrieve the bpg prog from the filter:
static inline struct bpf_prog *sk_filter_bpf(struct sk_filter *)
and use it whenever possible to fetch the bpf program. I'm suggesting this because we can use the zero array size in the socket filtering abstraction later on, if the function above is used, this just needs one line in that function to be updated to fetch the program from the placeholder.
| |