summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmiliano Ingrassia <ingrassia@epigenesys.com>2019-11-27 17:03:55 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-21 10:35:16 +0100
commitda499a3bd2fb16d9adfaad9e3388b11a232be8b6 (patch)
tree069d7b62999447196b3d445421965a3e1e2be4b1
parentc6055b56075ee49876b7e34a4f12aeec810940bb (diff)
downloadlinux-da499a3bd2fb16d9adfaad9e3388b11a232be8b6.tar.gz
linux-da499a3bd2fb16d9adfaad9e3388b11a232be8b6.tar.bz2
linux-da499a3bd2fb16d9adfaad9e3388b11a232be8b6.zip
usb: core: urb: fix URB structure initialization function
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>
-rw-r--r--drivers/usb/core/urb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
index e43ef7d2d00e..d6fcead91b32 100644
--- 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);
}
}