bpf: use skb_pkt_type_ok helper in bpf_skb_change_type
authorDaniel Borkmann <daniel@iogearbox.net>
Wed, 17 Aug 2016 23:00:38 +0000 (01:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Aug 2016 06:38:16 +0000 (23:38 -0700)
Since we have a skb_pkt_type_ok() helper for checking the type before
mangling, make use of it instead of open coding. Follow-up to commit
8b10cab64c13 ("net: simplify and make pkt_type_ok() available for other
users") that came in after d2485c4242a8 ("bpf: add bpf_skb_change_type
helper").

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/filter.c

index cb06ace..58b5e6d 100644 (file)
@@ -1976,8 +1976,8 @@ static u64 bpf_skb_change_type(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5)
        u32 pkt_type = r2;
 
        /* We only allow a restricted subset to be changed for now. */
-       if (unlikely(skb->pkt_type > PACKET_OTHERHOST ||
-                    pkt_type > PACKET_OTHERHOST))
+       if (unlikely(!skb_pkt_type_ok(skb->pkt_type) ||
+                    !skb_pkt_type_ok(pkt_type)))
                return -EINVAL;
 
        skb->pkt_type = pkt_type;