]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jan 2018 10:06:44 +0000 (11:06 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jan 2018 10:06:44 +0000 (11:06 +0100)
added patches:
can-af_can-can_rcv-replace-warn_once-by-pr_warn_once.patch
can-af_can-canfd_rcv-replace-warn_once-by-pr_warn_once.patch

queue-4.4/can-af_can-can_rcv-replace-warn_once-by-pr_warn_once.patch [new file with mode: 0644]
queue-4.4/can-af_can-canfd_rcv-replace-warn_once-by-pr_warn_once.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/can-af_can-can_rcv-replace-warn_once-by-pr_warn_once.patch b/queue-4.4/can-af_can-can_rcv-replace-warn_once-by-pr_warn_once.patch
new file mode 100644 (file)
index 0000000..6a6d625
--- /dev/null
@@ -0,0 +1,49 @@
+From 8cb68751c115d176ec851ca56ecfbb411568c9e8 Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Tue, 16 Jan 2018 19:30:14 +0100
+Subject: can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once
+
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+
+commit 8cb68751c115d176ec851ca56ecfbb411568c9e8 upstream.
+
+If an invalid CAN frame is received, from a driver or from a tun
+interface, a Kernel warning is generated.
+
+This patch replaces the WARN_ONCE by a simple pr_warn_once, so that a
+kernel, bootet with panic_on_warn, does not panic. A printk seems to be
+more appropriate here.
+
+Reported-by: syzbot+4386709c0c1284dca827@syzkaller.appspotmail.com
+Suggested-by: Dmitry Vyukov <dvyukov@google.com>
+Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ net/can/af_can.c |   11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+--- a/net/can/af_can.c
++++ b/net/can/af_can.c
+@@ -722,13 +722,12 @@ static int can_rcv(struct sk_buff *skb,
+       if (unlikely(!net_eq(dev_net(dev), &init_net)))
+               goto drop;
+-      if (WARN_ONCE(dev->type != ARPHRD_CAN ||
+-                    skb->len != CAN_MTU ||
+-                    cfd->len > CAN_MAX_DLEN,
+-                    "PF_CAN: dropped non conform CAN skbuf: "
+-                    "dev type %d, len %d, datalen %d\n",
+-                    dev->type, skb->len, cfd->len))
++      if (unlikely(dev->type != ARPHRD_CAN || skb->len != CAN_MTU ||
++                   cfd->len > CAN_MAX_DLEN)) {
++              pr_warn_once("PF_CAN: dropped non conform CAN skbuf: dev type %d, len %d, datalen %d\n",
++                           dev->type, skb->len, cfd->len);
+               goto drop;
++      }
+       can_receive(skb, dev);
+       return NET_RX_SUCCESS;
diff --git a/queue-4.4/can-af_can-canfd_rcv-replace-warn_once-by-pr_warn_once.patch b/queue-4.4/can-af_can-canfd_rcv-replace-warn_once-by-pr_warn_once.patch
new file mode 100644 (file)
index 0000000..6081b46
--- /dev/null
@@ -0,0 +1,49 @@
+From d4689846881d160a4d12a514e991a740bcb5d65a Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Tue, 16 Jan 2018 19:30:14 +0100
+Subject: can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
+
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+
+commit d4689846881d160a4d12a514e991a740bcb5d65a upstream.
+
+If an invalid CANFD frame is received, from a driver or from a tun
+interface, a Kernel warning is generated.
+
+This patch replaces the WARN_ONCE by a simple pr_warn_once, so that a
+kernel, bootet with panic_on_warn, does not panic. A printk seems to be
+more appropriate here.
+
+Reported-by: syzbot+e3b775f40babeff6e68b@syzkaller.appspotmail.com
+Suggested-by: Dmitry Vyukov <dvyukov@google.com>
+Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Cc: linux-stable <stable@vger.kernel.org>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/can/af_can.c |   11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+--- a/net/can/af_can.c
++++ b/net/can/af_can.c
+@@ -745,13 +745,12 @@ static int canfd_rcv(struct sk_buff *skb
+       if (unlikely(!net_eq(dev_net(dev), &init_net)))
+               goto drop;
+-      if (WARN_ONCE(dev->type != ARPHRD_CAN ||
+-                    skb->len != CANFD_MTU ||
+-                    cfd->len > CANFD_MAX_DLEN,
+-                    "PF_CAN: dropped non conform CAN FD skbuf: "
+-                    "dev type %d, len %d, datalen %d\n",
+-                    dev->type, skb->len, cfd->len))
++      if (unlikely(dev->type != ARPHRD_CAN || skb->len != CANFD_MTU ||
++                   cfd->len > CANFD_MAX_DLEN)) {
++              pr_warn_once("PF_CAN: dropped non conform CAN FD skbuf: dev type %d, len %d, datalen %d\n",
++                           dev->type, skb->len, cfd->len);
+               goto drop;
++      }
+       can_receive(skb, dev);
+       return NET_RX_SUCCESS;
index d6d3a5cefe2b74f703d94d840a139f0b1c203713..bf385238f9fe88e021c1ac45ca4b90e3566210bd 100644 (file)
@@ -6,3 +6,5 @@ x86-microcode-intel-fix-bdw-late-loading-revision-check.patch
 x86-cpu-intel-introduce-macros-for-intel-family-numbers.patch
 x86-retpoline-fill-rsb-on-context-switch-for-affected-cpus.patch
 sched-deadline-use-the-revised-wakeup-rule-for-suspending-constrained-dl-tasks.patch
+can-af_can-can_rcv-replace-warn_once-by-pr_warn_once.patch
+can-af_can-canfd_rcv-replace-warn_once-by-pr_warn_once.patch