On Tue, Dec 29, 2015 at 6:50 PM, Alexei Starovoitov
<alexei.starovoi...@gmail.com> wrote:
> On Tue, Dec 29, 2015 at 12:29:09PM -0500, Craig Gallek wrote:
>> From: Craig Gallek <kr...@google.com>
>> +static struct sock *run_bpf(struct sock_reuseport *reuse, u16 socks,
>> +                         struct bpf_prog *prog, struct sk_buff *skb,
>> +                         int hdr_len)
>> +{
>> +     struct sk_buff *nskb = NULL;
>> +     u32 index;
>> +
>> +     if (skb_shared(skb)) {
>> +             nskb = skb_clone(skb, GFP_ATOMIC);
>> +             if (!nskb)
>> +                     return NULL;
>> +             skb = nskb;
>> +     }
>> +
>> +     /* temporarily advance data past protocol header */
>> +     if (!pskb_may_pull(skb, hdr_len) || !skb_pull_inline(skb, hdr_len)) {
>
> pskb_pull() would be cleaner.
ACK -> v3

>> +             consume_skb(nskb);
>> +             return NULL;
>> +     }
>> +     index = bpf_prog_run_save_cb(prog, skb);
>> +     __skb_push(skb, hdr_len);
>
> This indeed matches what normal bpf filters see with udp sockets, so
> I guess that's fine.
> Acked-by: Alexei Starovoitov <a...@kernel.org>
Thanks for the review!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to