]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
net: initialize skb->peeked when cloning
authorEric Dumazet <edumazet@google.com>
Sat, 7 Apr 2018 20:42:39 +0000 (13:42 -0700)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 14 Aug 2018 10:25:41 +0000 (12:25 +0200)
BugLink: http://bugs.launchpad.net/bugs/1780499
commit b13dda9f9aa7caceeee61c080c2e544d5f5d85e5 upstream.

syzbot reported __skb_try_recv_from_queue() was using skb->peeked
while it was potentially unitialized.

We need to clear it in __skb_clone()

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
net/core/skbuff.c

index e0cc13470d51b574a0585edf14f8d5ebf872e45f..8a0c7af33872e6bd65d3bee3135d671c9537383d 100644 (file)
@@ -857,6 +857,7 @@ static struct sk_buff *__skb_clone(struct sk_buff *n, struct sk_buff *skb)
        n->hdr_len = skb->nohdr ? skb_headroom(skb) : skb->hdr_len;
        n->cloned = 1;
        n->nohdr = 0;
+       n->peeked = 0;
        n->destructor = NULL;
        C(tail);
        C(end);