https://bugs.dpdk.org/show_bug.cgi?id=2039
Bug ID: 2039
Summary: net/vhost: open_int writes two bytes into seven int
callers
Product: DPDK
Version: 26.11
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
drivers/net/vhost/rte_eth_vhost.c:1589
static int
open_int(const char *key __rte_unused, const char *value, void
*extra_args)
{
uint16_t *n = extra_args;
...
*n = (uint16_t)strtoul(value, NULL, 0);
Eight callers; only "queues" passes a uint16_t. The other seven -- client,
iommu-support, postcopy-support, tso, linear-buffer, ext-buffer and
legacy-ol-flags -- pass the address of an int, so only two of four bytes
are written. Works on little endian because each local is zeroed first,
wrong on big endian.
Fixes: 39cac2adcad0 ("net/vhost: add client option")
--
You are receiving this mail because:
You are the assignee for the bug.