net/intel/ice: parse_bool clobbers adjacent devargs fields
https://bugs.dpdk.org/show_bug.cgi?id=2037
Bug ID: 2037
Summary: net/intel/ice: parse_bool clobbers adjacent devargs
fields
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/intel/ice/ice_ethdev.c:2144, ice_ethdev.h:624
parse_bool() stores an int:
static int
parse_bool(const char *key, const char *value, void *args)
{
int *i = args;
...
*i = (value[0] == '1');Three of its five callers pass the address of a uint8_t in struct ice_devargs:
struct ice_devargs {
int rx_low_latency;
int safe_mode_support;
uint8_t proto_xtr_dflt;
uint8_t default_mac_disable; <- 4 byte store
uint8_t proto_xtr[ICE_MAX_QUEUE_NUM];
uint8_t pin_idx;
uint8_t pps_out_ena;
uint8_t ddp_load_sched; <- 4 byte store
uint8_t tm_exposed_levels;
uint8_t source_prune; <- 4 byte store
uint32_t rl_burst_size;
..."default-mac-disable" is the notable one: the three bytes past it land in proto_xtr[], which ice_parse_devargs() has just memset to PROTO_XTR_NONE a few lines earlier, so the protocol extraction configuration is silently altered. ddp_load_sched overruns into tm_exposed_levels/source_prune, and source_prune into rl_burst_size.
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
https://bugs.dpdk.org/show_bug.cgi?id=2037
Anurag Mandal ([email protected]) changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Assignee|[email protected] |[email protected]
Status|UNCONFIRMED |RESOLVED--- Comment #1 from Anurag Mandal ([email protected]) --- Addressed in Patch:
https://patches.dpdk.org/project/dpdk/patch/[email protected]/
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.