From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Liu Xinyun Date: Tue, 23 Jul 2019 14:09:19 +0800 Subject: [PATCH] drivers/hyper_dmabuf: fix potential invalid array index count may keep increasing if new virtio request fired on vCPU[0,...,max_vcpu-2], at last, count is larger than max_vcpu and out of the array bounds. Change-Id: I6dd564c4bf7ed16ed2a5d0625a573615e835508e Tracked-On: OAM-84155 Signed-off-by: Liu Xinyun Reviewed-by: Zhao Yakui --- .../hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c b/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c index 360ced127d12..67b9c51de6de 100644 --- a/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c +++ b/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c @@ -194,6 +194,12 @@ static int virtio_be_handle_kick(int client_id, unsigned long *ioreqs_map) acrn_ioreq_complete_request( fe_info->client_id, vcpu, req); count++; + if (count >= fe_info->max_vcpu) { + dev_warn(hy_drv_priv->dev, + "client %d ignore req on high vCPUs\n", + client_id); + break; + } } } -- https://clearlinux.org