Thread (3 messages) 3 messages, 2 authors, 2019-06-21

RE: [PATCH] PCI: hv: Fix a use-after-free bug in hv_eject_device_work()

From: Dexuan Cui <decui@microsoft.com>
Date: 2019-06-21 23:32:04
Also in: linux-pci, lkml

From: Michael Kelley <redacted>
quoted
@@ -1880,6 +1880,7 @@ static void hv_pci_devices_present(struct
hv_pcibus_device
quoted
*hbus,
 static void hv_eject_device_work(struct work_struct *work)
 {
 	struct pci_eject_response *ejct_pkt;
+	struct hv_pcibus_device *hbus;
 	struct hv_pci_dev *hpdev;
 	struct pci_dev *pdev;
 	unsigned long flags;
@@ -1890,6 +1891,7 @@ static void hv_eject_device_work(struct
work_struct *work)
quoted
 	} ctxt;

 	hpdev = container_of(work, struct hv_pci_dev, wrk);
+	hbus = hpdev->hbus;
In the lines of code following this new assignment, there are four uses of
hpdev->hbus besides the one at the bottom of the function that causes the
use-after-free error.  With 'hbus' now available as a local variable, it looks
rather strange to have those other places still using hpdev->hbus.  I'm
thinking
they should be shortened to just 'hbus' for consistency, even though such
changes aren't directly related to fixing the bug.

Michael
 
Ok, let me post a v2 for this.

Thanks,
Dexuan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help