Skip to contentSkip to conversation

usb: gadget: pch_udc: fix use after free

PATCH New Gustavo A. R. Silva 1 participant 1 message Nov 6, 2019 USB

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 usb: gadget: pch_udc: fix use after free

Remove pointer dereference after free.

pci_pool_free doesn't care about contents of td.
It's just a void* for it

Addresses-Coverity-ID: 1091173 ("Use after free")

---
Changes in v4:
Fix line-wrapping.
Update commit log.
Update subject line.

Changes in v3:
Remove 'td->next = 0x00' inside for loop. Remove unnecessary pointer nullification after free.

Changes in v2:
Move pointer dereference before pci_pool_free()
Set pointer to NULL after free

 drivers/usb/gadget/udc/pch_udc.c | 1 -
 1 file changed, 1 deletion(-)
drivers/usb/gadget/udc/pch_udc.c +0 -1
index 265dab2bbfac..3344fb8c4181 100644
@@ -1519,7 +1519,6 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev,
 		td = phys_to_virt(addr);
 		addr2 = (dma_addr_t)td->next;
 		dma_pool_free(dev->data_requests, td, addr);
-		td->next = 0x00;
 		addr = addr2;
 	}
 	req->chain_len = 1;
Signature · 1 line
2.23.0