can: purge socket error queue on sock destruct
authorWillem de Bruijn <willemb@google.com>
Fri, 7 Jun 2019 20:46:07 +0000 (16:46 -0400)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 7 Jun 2019 21:03:54 +0000 (23:03 +0200)
CAN supports software tx timestamps as of the below commit. Purge
any queued timestamp packets on socket destroy.

Fixes: 51f31cabe3ce ("ip: support for TX timestamps on UDP and RAW sockets")
Reported-by: syzbot+a90604060cb40f5bdd16@syzkaller.appspotmail.com
Signed-off-by: Willem de Bruijn <willemb@google.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/af_can.c

index 743470680127a79ef13890879dd293170ae61075..80281ef2ccbd227fcdb6a2f482c70c35dd1c1def 100644 (file)
@@ -99,6 +99,7 @@ EXPORT_SYMBOL(can_ioctl);
 static void can_sock_destruct(struct sock *sk)
 {
        skb_queue_purge(&sk->sk_receive_queue);
+       skb_queue_purge(&sk->sk_error_queue);
 }
 
 static const struct can_proto *can_get_proto(int protocol)