[dpdk-stable] [PATCH] vhost: catch overflow causing mmap of size 0

Maxime Coquelin maxime.coquelin at redhat.com
Wed Feb 5 10:49:10 CET 2020



On 1/16/20 11:44 AM, Maxime Coquelin wrote:
> This patch catches an overflow that could happen if an
> invalid region size or page alignement is provided by the
> guest via the VHOST_USER_SET_MEM_TABLE request.
> 
> If the sum of the size to mmap and the alignment overflows
> uint64_t, then RTE_ALIGN_CEIL(mmap_size, alignment) macro
> will return 0. This value was passed as is as size argument
> to mmap().
> 
> While kernel handling of mmap() syscall returns an error
> if size is 0, it is better to catch it earlier and provide
> a meaningful error log.
> 
> Fixes: ec09c280b839 ("vhost: fix mmap not aligned with hugepage size")
> Cc: stable at dpdk.org
> 
> Reported-by: Ilja Van Sprundel <ivansprundel at ioactive.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
>  lib/librte_vhost/vhost_user.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)

Applied to dpdk-next-virtio tree.

Thanks,
Maxime



More information about the stable mailing list