OSDN Git Service

libvhost-user: Add vu_rem_mem_reg input validation
authorRaphael Norwitz <raphael.norwitz@nutanix.com>
Mon, 17 Jan 2022 04:12:24 +0000 (04:12 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 4 Feb 2022 14:07:43 +0000 (09:07 -0500)
commit316ee11144e3b8e1bc97a1d0fc6b1caf1963e104
tree70ddbaa0375d325d4047246db8eccdb3be09e299
parent408ca92634770de5eac7965ed97c6260e770f2e7
libvhost-user: Add vu_rem_mem_reg input validation

Today if multiple FDs are sent from the VMM to the backend in a
VHOST_USER_REM_MEM_REG message, one FD will be unmapped and the remaining
FDs will be leaked. Therefore if multiple FDs are sent we report an
error and fail the operation, closing all FDs in the message.

Likewise in case the VMM sends a message with a size less than that of a
memory region descriptor, we add a check to gracefully report an error
and fail the operation rather than crashing.

Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <20220117041050.19718-2-raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
subprojects/libvhost-user/libvhost-user.c
subprojects/libvhost-user/libvhost-user.h