stack: occasional crash due to uninitialized variable
PATCH 1/1 stack: occasional crash due to uninitialized variable
Variable "success" was not being initialized and there was a code path where the last do/while loop in __rte_stack_lf_pop_elems looked at the value of this variable before it was set to any.
Compiling with msvc resulted in stack_lf_autotest sometimes crashing.
The fix is to initialize the variable. This same fix was applied to stack\rte_stack_lf_generic.h in the past but was missed here.
--- lib/stack/rte_stack_lf_c11.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
lib/stack/rte_stack_lf_c11.h +1 -1
@@ -77,7 +77,7 @@ __rte_stack_lf_pop_elems(struct rte_stack_lf_list *list, {struct rte_stack_lf_head old_head;uint64_t len; -int success; +int success =0 ;/* Reserve num elements, if available */ len =rte_atomic_load_explicit (&list->len, rte_memory_order_relaxed);
Signature · 1 line
2.47.2.vfs.0.1
Quoted 7 lines · Andre Muezerie
Variable "success" was not being initialized and there was a code path where the last do/while loop in
__rte_stack_lf_pop_elemslooked at the value of this variable before it was set to any.Compiling with msvc resulted in
stack_lf_autotestsometimes crashing.
Quoted 7 lines
The fix is to initialize the variable. This same fix was applied to stack\rte_stack_lf_generic.h in the past but was missed here.
Fixes 7e6e609939a8 ("stack: add C11 atomic implementation")Signed-off-by Andre Muezerie <[email protected]>
Indeed, good catch.
Signature · 1 line
David Marchand
David Marchand
AppliedQuoted 7 lines · Andre Muezerie
Variable "success" was not being initialized and there was a code path where the last do/while loop in
__rte_stack_lf_pop_elemslooked at the value of this variable before it was set to any.Compiling with msvc resulted in
stack_lf_autotestsometimes crashing.
Quoted 7 lines
The fix is to initialize the variable. This same fix was applied to stack\rte_stack_lf_generic.h in the past but was missed here.
Fixes 7e6e609939a8 ("stack: add C11 atomic implementation")Signed-off-by Andre Muezerie <[email protected]>
Applied, thanks.
Signature · 1 line
David Marchand