From: Thanos Makatos <[email protected]>

Signed-off-by: Thanos Makatos <[email protected]>
Fixes: 667866d66620 ("vfio-user: implement VFIO_USER_DEVICE_GET_REGION_INFO")
Reviewed-by: Cédric Le Goater <[email protected]>
Link: 
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Cédric Le Goater <[email protected]>
(cherry picked from commit 152f7dd3b04f1ad8e99248610c74f876e0da2107)
Signed-off-by: Michael Tokarev <[email protected]>

diff --git a/hw/vfio-user/device.c b/hw/vfio-user/device.c
index 9055f648cf0..8feedf82238 100644
--- a/hw/vfio-user/device.c
+++ b/hw/vfio-user/device.c
@@ -96,6 +96,10 @@ static int vfio_user_get_region_info(VFIOUserProxy *proxy,
         error_printf("vfio_user_get_region_info argsz too large\n");
         return -E2BIG;
     }
+    if (size > proxy->max_xfer_size) {
+        error_printf("vfio_user_get_region_info argsz too large\n");
+        return -E2BIG;
+    }
 
     if (fds != NULL && fds->send_fds != 0) {
         error_printf("vfio_user_get_region_info can't send FDs\n");
-- 
2.47.3


Reply via email to