summaryrefslogtreecommitdiff
path: root/net/can
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2019-06-07 16:46:07 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-10 09:55:33 +0200
commita97e26569b454c4243eb225d61d08751fe39c024 (patch)
treea7bdaaa82b1befee74eb7b6cecb755b4d79dd8cc /net/can
parent50b1c5b57e4bafdea996e45e814cb11f13aacbec (diff)
can: purge socket error queue on sock destruct
commit fd704bd5ee749d560e86c4f1fd2ef486d8abf7cf upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/can')
-rw-r--r--net/can/af_can.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c
index ac1552d8b4ad..e5a9e3d76e26 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -113,6 +113,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)