DM: Add endpoint index value check in doorbell write

Check max ep index in doorbell write function to avoid overwriting
the pci_xhci_dev_emu->eps[XHCI_MAX_ENDPOINTS].

Tracked-On: #7759
Signed-off-by: Liu Long <long.liu@linux.intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
This commit is contained in:
Liu Long 2022-06-14 10:10:32 +08:00 committed by acrnsi-robot
parent dc65edec35
commit b2d9112ed5
1 changed files with 5 additions and 0 deletions

View File

@ -3419,6 +3419,11 @@ pci_xhci_dbregs_write(struct pci_xhci_vdev *xdev,
UPRINTF(LWRN, "pci_xhci: controller halted\r\n");
return;
}
if (XHCI_DB_TARGET_GET(value) > XHCI_MAX_ENDPOINTS) {
UPRINTF(LWRN, "pci_xhci: invalid doorbell target %d!\n",
XHCI_DB_TARGET_GET(value));
return;
}
if (offset == 0)
pci_xhci_complete_commands(xdev);