From dea2574819c6d28eb9b857b91aa4ef794ba535fe Mon Sep 17 00:00:00 2001 From: Liu Long Date: Tue, 24 Aug 2021 16:24:52 +0800 Subject: [PATCH] ACRN:DM: Add pointer check before use the erst The event ring segment table pointer may be NULL when get the address from guest, add pointer check before use it. Tracked-On: #6476 Signed-off-by: Liu Long Acked-by: Wang, Yu1 --- devicemodel/hw/pci/xhci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/devicemodel/hw/pci/xhci.c b/devicemodel/hw/pci/xhci.c index 8ab216bcc..bc83b669c 100644 --- a/devicemodel/hw/pci/xhci.c +++ b/devicemodel/hw/pci/xhci.c @@ -1817,6 +1817,11 @@ pci_xhci_insert_event(struct pci_xhci_vdev *xdev, int erdp_idx; rts = &xdev->rtsregs; + if (&rts->erstba_p == NULL) { + UPRINTF(LFTL, "Invalid Event Ring Segment Table base address!\r\n"); + return -EINVAL; + } + erdp = rts->intrreg.erdp & ~0xF; erst = &rts->erstba_p[rts->er_enq_seg]; erdp_idx = (erdp - erst->qwRingSegBase) / sizeof(struct xhci_trb);