At least old Xen net backends seem to send frags with no real data sometimes. In case such a fragment happens to occur with the frag limit already reached the frontend will BUG currently even if this situation is easily recoverable.
Modify the BUG_ON() condition accordingly.
Cc: stable@vger.kernel.org Tested-by: Dietmar Hahn dietmar.hahn@ts.fujitsu.com Signed-off-by: Juergen Gross jgross@suse.com --- drivers/net/xen-netfront.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index f17f602e6171..5b97cc946d70 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -905,7 +905,7 @@ static RING_IDX xennet_fill_frags(struct netfront_queue *queue, if (skb_shinfo(skb)->nr_frags == MAX_SKB_FRAGS) { unsigned int pull_to = NETFRONT_SKB_CB(skb)->pull_to;
- BUG_ON(pull_to <= skb_headlen(skb)); + BUG_ON(pull_to < skb_headlen(skb)); __pskb_pull_tail(skb, pull_to - skb_headlen(skb)); } if (unlikely(skb_shinfo(skb)->nr_frags >= MAX_SKB_FRAGS)) {
From: Juergen Gross jgross@suse.com Date: Tue, 18 Dec 2018 16:06:19 +0100
At least old Xen net backends seem to send frags with no real data sometimes. In case such a fragment happens to occur with the frag limit already reached the frontend will BUG currently even if this situation is easily recoverable.
Modify the BUG_ON() condition accordingly.
Tested-by: Dietmar Hahn dietmar.hahn@ts.fujitsu.com Signed-off-by: Juergen Gross jgross@suse.com
Applied and queued up for -stable.
But many of these BUG's in the driver should be converted to WARNs and recovery code added.
On 19/12/2018 07:00, David Miller wrote:
From: Juergen Gross jgross@suse.com Date: Tue, 18 Dec 2018 16:06:19 +0100
At least old Xen net backends seem to send frags with no real data sometimes. In case such a fragment happens to occur with the frag limit already reached the frontend will BUG currently even if this situation is easily recoverable.
Modify the BUG_ON() condition accordingly.
Tested-by: Dietmar Hahn dietmar.hahn@ts.fujitsu.com Signed-off-by: Juergen Gross jgross@suse.com
Applied and queued up for -stable.
But many of these BUG's in the driver should be converted to WARNs and recovery code added.
Right, but that will be no stable material then. Will start that effort after Christmas.
Juergen
linux-stable-mirror@lists.linaro.org