Maxime Coquelin c6420a3632 vhost: catch overflow causing mmap of size 0
This patch catches an overflow that could happen if an
invalid region size or page alignment 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@dpdk.org

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
2020-02-05 11:47:18 +01:00
2020-02-05 15:14:46 +01:00
2020-02-05 15:14:46 +01:00
2020-02-05 09:51:21 +01:00
2020-01-20 17:53:42 +01:00
2019-11-26 00:12:08 +01:00
2016-11-13 15:25:12 +01:00
2020-01-14 00:09:33 +01:00
2020-02-05 15:14:46 +01:00
2019-02-26 15:29:27 +01:00
2019-11-26 00:12:08 +01:00
2019-11-25 15:07:02 +01:00
2018-01-04 22:41:38 +01:00
2020-01-21 01:26:11 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org
Description
No description provided
Readme 128 MiB
Languages
C 99.1%
Meson 0.5%
Python 0.2%
Shell 0.1%