[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1389391817-27204-1-git-send-email-bjorn@mork.no>
Date: Fri, 10 Jan 2014 23:10:17 +0100
From: Bjørn Mork <bjorn@...k.no>
To: netdev@...r.kernel.org
Cc: linux-usb@...r.kernel.org, Thomas Kear <thomas@...r.co.nz>,
Ben Hutchings <bhutchings@...arflare.com>,
Bjørn Mork <bjorn@...k.no>,
Ming Lei <ming.lei@...onical.com>
Subject: [PATCH net,stable] net: usbnet: fix SG initialisation
Commit 60e453a940ac ("USBNET: fix handling padding packet")
added an extra SG entry in case padding is necessary, but
failed to update the initialisation of the list. This can
cause list traversal to fall off the end of the list,
resulting in an oops.
Fixes: 60e453a940ac ("USBNET: fix handling padding packet")
Reported-by: Thomas Kear <thomas@...r.co.nz>
Cc: Ming Lei <ming.lei@...onical.com>
Signed-off-by: Bjørn Mork <bjorn@...k.no>
---
I don't have the hardware to verify this fix. It would be good if
someone could test it before it goes to stable...
But in case this works, it should go into v3.12 stable.
Bjørn
drivers/net/usb/usbnet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 8494bb53ebdc..aba04f561760 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -1245,7 +1245,7 @@ static int build_dma_sg(const struct sk_buff *skb, struct urb *urb)
return -ENOMEM;
urb->num_sgs = num_sgs;
- sg_init_table(urb->sg, urb->num_sgs);
+ sg_init_table(urb->sg, urb->num_sgs + 1);
sg_set_buf(&urb->sg[s++], skb->data, skb_headlen(skb));
total_len += skb_headlen(skb);
--
1.8.5.2
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists