Patch "xhci: fix memleak in xhci_run()" has been added to the 4.12-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
xhci: fix memleak in xhci_run()
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
xhci-fix-memleak-in-xhci_run.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
d6f5f071f1e13cadecf8aef1faa7e5d6fbc9f33bMon Sep 17 00:00:00 2001
From: Shu Wang <[email protected]>
Date: Thu, 20 Jul 2017 14:48:31 +0300
Subject: xhci: fix memleak in xhci_run()
From: Shu Wang <[email protected]>
commit d6f5f071f1e13cadecf8aef1faa7e5d6fbc9f33b upstream.
Found this issue by kmemleak.xhci_run() did not check return val and free command for xhci_queue_vendor_command()
unreferenced object 0xffff88011c0be500 (size 64):
comm "kworker/0:1", pid 58, jiffies 4294670908 (age 50.420s) hex dump (first 32 bytes):
backtrace:
[<ffffffff8176166a>] kmemleak_alloc+0x4a/0xa0
[<ffffffff8121801a>] kmem_cache_alloc_trace+0xca/0x1d0
[<ffffffff81576bf4>] xhci_alloc_command+0x44/0x130
[<ffffffff8156f1cc>] xhci_run+0x4cc/0x630
[<ffffffff8153b84b>] usb_add_hcd+0x3bb/0x950
[<ffffffff8154eac8>] usb_hcd_pci_probe+0x188/0x500
[<ffffffff815851ac>] xhci_pci_probe+0x2c/0x220
[<ffffffff813d2ca5>] local_pci_probe+0x45/0xa0
[<ffffffff810a54e4>] work_for_cpu_fn+0x14/0x20
[<ffffffff810a8409>] process_one_work+0x149/0x360
[<ffffffff810a8d08>] worker_thread+0x1d8/0x3c0
[<ffffffff810ae7d9>] kthread+0x109/0x140
[<ffffffff8176d585>] ret_from_fork+0x25/0x30
[<ffffffffffffffff>] 0xffffffffffffffff--- drivers/usb/host/xhci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/usb/host/xhci.c +3 -1
@@ -622,8 +622,10 @@ int xhci_run(struct usb_hcd *hcd)if (!command)return -ENOMEM ; -xhci_queue_vendor_command (xhci, command,0 ,0 ,0 , + ret =xhci_queue_vendor_command (xhci, command,0 ,0 ,0 ,TRB_TYPE (TRB_NEC_GET_FW )); +if (ret) +xhci_free_command (xhci, command); }xhci_dbg_trace (xhci, trace_xhci_dbg_init,"Finished xhci_run for USB2 roothub" );
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/xhci-fix-memleak-in-xhci_run.patch