On Thu, Oct 3, 2013 at 10:16 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > On Thu, 2013-10-03 at 21:11 -0700, Alexei Starovoitov wrote: > > -static inline unsigned int sk_filter_len(const struct sk_filter *fp) > +static inline unsigned int sk_filter_size(const struct sk_filter *fp, > + unsigned int proglen) > { > - return fp->len * sizeof(struct sock_filter) + sizeof(*fp); > + return max(sizeof(*fp), > + offsetof(struct sk_filter, insns[proglen])); > }
indeed that's cleaner. Like this then: -static inline unsigned int sk_filter_len(const struct sk_filter *fp) +static inline unsigned int sk_filter_size(unsigned int proglen) { - return fp->len * sizeof(struct sock_filter) + sizeof(*fp); + return max(sizeof(struct sk_filter), + offsetof(struct sk_filter, insns[proglen])); } testing it... will send v4 shortly _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev