]> git.itanic.dy.fi Git - linux-stable/commit
net: qdisc_pkt_len_init() should be more robust
authorEric Dumazet <edumazet@google.com>
Fri, 19 Jan 2018 03:59:19 +0000 (19:59 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Jan 2018 21:00:05 +0000 (16:00 -0500)
commit7c68d1a6b4db9012790af7ac0f0fdc0d2083422a
tree080fa20981e54ee032dc59e2e80a925f9d7c4dd7
parent18b0affaf40cf5f320258d28f7069dfff76da184
net: qdisc_pkt_len_init() should be more robust

Without proper validation of DODGY packets, we might very well
feed qdisc_pkt_len_init() with invalid GSO packets.

tcp_hdrlen() might access out-of-bound data, so let's use
skb_header_pointer() and proper checks.

Whole story is described in commit d0c081b49137 ("flow_dissector:
properly cap thoff field")

We have the goal of validating DODGY packets earlier in the stack,
so we might very well revert this fix in the future.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Jason Wang <jasowang@redhat.com>
Reported-by: syzbot+9da69ebac7dddd804552@syzkaller.appspotmail.com
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c