FAILED: patch "[PATCH] can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once" failed to apply to 3.18-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 3.18-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
8cb68751c115d176ec851ca56ecfbb411568c9e8Mon Sep 17 00:00:00 2001
From: Marc Kleine-Budde <[email protected]>
Date: Tue, 16 Jan 2018 19:30:14 +0100
Subject: [PATCH] can: af_can: can_rcv(): replace WARN_ONCE by pr_warn_once
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.
net/can/af_can.c +7 -11
@@ -721,20 +721,16 @@ static int can_rcv(struct sk_buff *skb, struct net_device *dev, {struct canfd_frame *cfd = (struct canfd_frame *)skb->data; -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)) - goto drop; +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); +kfree_skb (skb); +return NET_RX_DROP ; + }can_receive (skb, dev);return NET_RX_SUCCESS ; - -drop: -kfree_skb (skb); -return NET_RX_DROP ; } static int canfd_rcv(struct sk_buff *skb, struct net_device *dev,