Skip to contentSkip to conversation

net/vhost: open_int writes two bytes into seven int callers

DPDK/ethdev Bug 2039 [email protected] 1 participant 1 message Sep 13

lore
Share & tools
lore
#0 lore raw

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")
Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.