Skip to content

Commit

Permalink
examples/qos_sched: fix core mask overflow
Browse files Browse the repository at this point in the history
Masking of core mask was incorrect. Instead of using 1U for shifting, it
should be using 1LU as the result is assigned to uint64.

CID 375859: Potentially overflowing expression "1U << app_main_core" with
type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit
arithmetic, and then used in a context that expects an expression of
type "uint64_t" (64 bits, unsigned).

Coverity issue: 375859
Fixes: de3cfa2 ("sched: initial import")
Cc: stable@dpdk.org

Signed-off-by: Megha Ajmera <megha.ajmera@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
  • Loading branch information
megha-ajmera authored and tmonjalo committed Feb 25, 2022
1 parent d91c4b1 commit 9c9fad3
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions examples/qos_sched/args.c
Expand Up @@ -427,13 +427,13 @@ app_parse_args(int argc, char **argv)

/* check main core index validity */
for (i = 0; i <= app_main_core; i++) {
if (app_used_core_mask & (1u << app_main_core)) {
if (app_used_core_mask & RTE_BIT64(app_main_core)) {
RTE_LOG(ERR, APP, "Main core index is not configured properly\n");
app_usage(prgname);
return -1;
}
}
app_used_core_mask |= 1u << app_main_core;
app_used_core_mask |= RTE_BIT64(app_main_core);

if ((app_used_core_mask != app_eal_core_mask()) ||
(app_main_core != rte_get_main_lcore())) {
Expand Down

0 comments on commit 9c9fad3

Please sign in to comment.