* [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation
@ 2016-05-11 8:48 Slawomir Mrozowicz
2016-05-11 10:17 ` Dumitrescu, Cristian
0 siblings, 1 reply; 4+ messages in thread
From: Slawomir Mrozowicz @ 2016-05-11 8:48 UTC (permalink / raw)
To: cristian.dumitrescu; +Cc: dev, jasvinder.singh, Slawomir Mrozowicz
Fix issue reported by Coverity.
Coverity ID 30690: Bad bit shift operation
large_shift: In expression 1ULL << i, left shifting by more than 63 bits
has undefined behavior. The shift amount, i, is as much as 127.
Fixes: de3cfa2c9823 ("sched: initial import")
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
---
examples/qos_sched/args.c | 4 ++--
examples/qos_sched/main.h | 5 ++++-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
index 3e7fd08..354372d 100644
--- a/examples/qos_sched/args.c
+++ b/examples/qos_sched/args.c
@@ -123,7 +123,7 @@ app_eal_core_mask(void)
uint64_t cm = 0;
struct rte_config *cfg = rte_eal_get_configuration();
- for (i = 0; i < RTE_MAX_LCORE; i++) {
+ for (i = 0; i < APP_MAX_LCORE; i++) {
if (cfg->lcore_role[i] == ROLE_RTE)
cm |= (1ULL << i);
}
@@ -142,7 +142,7 @@ app_cpu_core_count(void)
char path[PATH_MAX];
uint32_t ncores = 0;
- for(i = 0; i < RTE_MAX_LCORE; i++) {
+ for (i = 0; i < APP_MAX_LCORE; i++) {
len = snprintf(path, sizeof(path), SYS_CPU_DIR, i);
if (len <= 0 || (unsigned)len >= sizeof(path))
continue;
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index 82aa0fa..c7490c6 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -68,7 +68,10 @@ extern "C" {
#define BURST_TX_DRAIN_US 100
-#define MAX_DATA_STREAMS (RTE_MAX_LCORE/2)
+#ifndef APP_MAX_LCORE
+#define APP_MAX_LCORE 64
+#endif
+#define MAX_DATA_STREAMS (APP_MAX_LCORE/2)
#define MAX_SCHED_SUBPORTS 8
#define MAX_SCHED_PIPES 4096
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation
2016-05-11 8:48 [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation Slawomir Mrozowicz
@ 2016-05-11 10:17 ` Dumitrescu, Cristian
2016-05-16 16:34 ` Thomas Monjalon
2016-05-16 16:39 ` Thomas Monjalon
0 siblings, 2 replies; 4+ messages in thread
From: Dumitrescu, Cristian @ 2016-05-11 10:17 UTC (permalink / raw)
To: Mrozowicz, SlawomirX; +Cc: dev, Singh, Jasvinder
> -----Original Message-----
> From: Mrozowicz, SlawomirX
> Sent: Wednesday, May 11, 2016 9:48 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>;
> Mrozowicz, SlawomirX <slawomirx.mrozowicz@intel.com>
> Subject: [PATCH v4] examples/qos_sched: fix bad bit shift operation
>
> Fix issue reported by Coverity.
>
> Coverity ID 30690: Bad bit shift operation
> large_shift: In expression 1ULL << i, left shifting by more than 63 bits
> has undefined behavior. The shift amount, i, is as much as 127.
>
> Fixes: de3cfa2c9823 ("sched: initial import")
>
> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
> ---
> examples/qos_sched/args.c | 4 ++--
> examples/qos_sched/main.h | 5 ++++-
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
> index 3e7fd08..354372d 100644
> --- a/examples/qos_sched/args.c
> +++ b/examples/qos_sched/args.c
> @@ -123,7 +123,7 @@ app_eal_core_mask(void)
> uint64_t cm = 0;
> struct rte_config *cfg = rte_eal_get_configuration();
>
> - for (i = 0; i < RTE_MAX_LCORE; i++) {
> + for (i = 0; i < APP_MAX_LCORE; i++) {
> if (cfg->lcore_role[i] == ROLE_RTE)
> cm |= (1ULL << i);
> }
> @@ -142,7 +142,7 @@ app_cpu_core_count(void)
> char path[PATH_MAX];
> uint32_t ncores = 0;
>
> - for(i = 0; i < RTE_MAX_LCORE; i++) {
> + for (i = 0; i < APP_MAX_LCORE; i++) {
> len = snprintf(path, sizeof(path), SYS_CPU_DIR, i);
> if (len <= 0 || (unsigned)len >= sizeof(path))
> continue;
> diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
> index 82aa0fa..c7490c6 100644
> --- a/examples/qos_sched/main.h
> +++ b/examples/qos_sched/main.h
> @@ -68,7 +68,10 @@ extern "C" {
>
> #define BURST_TX_DRAIN_US 100
>
> -#define MAX_DATA_STREAMS (RTE_MAX_LCORE/2)
> +#ifndef APP_MAX_LCORE
> +#define APP_MAX_LCORE 64
> +#endif
> +#define MAX_DATA_STREAMS (APP_MAX_LCORE/2)
> #define MAX_SCHED_SUBPORTS 8
> #define MAX_SCHED_PIPES 4096
>
> --
> 1.9.1
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation
2016-05-11 10:17 ` Dumitrescu, Cristian
@ 2016-05-16 16:34 ` Thomas Monjalon
2016-05-16 16:39 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2016-05-16 16:34 UTC (permalink / raw)
To: Dumitrescu, Cristian, Mrozowicz, SlawomirX; +Cc: dev
> > Subject: [PATCH v4] examples/qos_sched: fix bad bit shift operation
Slawomir, please use --in-reply-to when sending a new revision,
to let us see the full history in our mailer and in the archives.
[...]
> > diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
> > index 3e7fd08..354372d 100644
> > --- a/examples/qos_sched/args.c
> > +++ b/examples/qos_sched/args.c
> > @@ -123,7 +123,7 @@ app_eal_core_mask(void)
> > uint64_t cm = 0;
> > struct rte_config *cfg = rte_eal_get_configuration();
> >
> > - for (i = 0; i < RTE_MAX_LCORE; i++) {
> > + for (i = 0; i < APP_MAX_LCORE; i++) {
> > if (cfg->lcore_role[i] == ROLE_RTE)
> > cm |= (1ULL << i);
> > }
> > @@ -142,7 +142,7 @@ app_cpu_core_count(void)
> > char path[PATH_MAX];
> > uint32_t ncores = 0;
> >
> > - for(i = 0; i < RTE_MAX_LCORE; i++) {
> > + for (i = 0; i < APP_MAX_LCORE; i++) {
> > len = snprintf(path, sizeof(path), SYS_CPU_DIR, i);
> > if (len <= 0 || (unsigned)len >= sizeof(path))
> > continue;
> > diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
> > index 82aa0fa..c7490c6 100644
> > --- a/examples/qos_sched/main.h
> > +++ b/examples/qos_sched/main.h
> > @@ -68,7 +68,10 @@ extern "C" {
> >
> > #define BURST_TX_DRAIN_US 100
> >
> > -#define MAX_DATA_STREAMS (RTE_MAX_LCORE/2)
> > +#ifndef APP_MAX_LCORE
> > +#define APP_MAX_LCORE 64
> > +#endif
> > +#define MAX_DATA_STREAMS (APP_MAX_LCORE/2)
> > #define MAX_SCHED_SUBPORTS 8
> > #define MAX_SCHED_PIPES 4096
> >
> > --
> > 1.9.1
>
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Cristian, please remove patch content when acking.
My hand is tired of scrolling ;)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation
2016-05-11 10:17 ` Dumitrescu, Cristian
2016-05-16 16:34 ` Thomas Monjalon
@ 2016-05-16 16:39 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2016-05-16 16:39 UTC (permalink / raw)
To: Mrozowicz, SlawomirX; +Cc: dev, Dumitrescu, Cristian, Singh, Jasvinder
> > Fix issue reported by Coverity.
> >
> > Coverity ID 30690: Bad bit shift operation
> > large_shift: In expression 1ULL << i, left shifting by more than 63 bits
> > has undefined behavior. The shift amount, i, is as much as 127.
> >
> > Fixes: de3cfa2c9823 ("sched: initial import")
> >
> > Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
>
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Applied, thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-05-16 16:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-11 8:48 [dpdk-dev] [PATCH v4] examples/qos_sched: fix bad bit shift operation Slawomir Mrozowicz
2016-05-11 10:17 ` Dumitrescu, Cristian
2016-05-16 16:34 ` Thomas Monjalon
2016-05-16 16:39 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).