| From 1cd17f7f0def31e3695501c4f86cd3faf8489840 Mon Sep 17 00:00:00 2001 |
| From: Emiliano Ingrassia <ingrassia@epigenesys.com> |
| Date: Wed, 27 Nov 2019 17:03:55 +0100 |
| Subject: usb: core: urb: fix URB structure initialization function |
| |
| From: Emiliano Ingrassia <ingrassia@epigenesys.com> |
| |
| commit 1cd17f7f0def31e3695501c4f86cd3faf8489840 upstream. |
| |
| Explicitly initialize URB structure urb_list field in usb_init_urb(). |
| This field can be potentially accessed uninitialized and its |
| initialization is coherent with the usage of list_del_init() in |
| usb_hcd_unlink_urb_from_ep() and usb_giveback_urb_bh() and its |
| explicit initialization in usb_hcd_submit_urb() error path. |
| |
| Signed-off-by: Emiliano Ingrassia <ingrassia@epigenesys.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20191127160355.GA27196@ingrassia.epigenesys.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/core/urb.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/usb/core/urb.c |
| +++ b/drivers/usb/core/urb.c |
| @@ -40,6 +40,7 @@ void usb_init_urb(struct urb *urb) |
| if (urb) { |
| memset(urb, 0, sizeof(*urb)); |
| kref_init(&urb->kref); |
| + INIT_LIST_HEAD(&urb->urb_list); |
| INIT_LIST_HEAD(&urb->anchor_list); |
| } |
| } |