* [dpdk-stable] [RFC 3/3] app/testpmd: fix hex string parser in flow commands [not found] <20210910141609.8410-1-viacheslavo@nvidia.com> @ 2021-09-10 14:16 ` Viacheslav Ovsiienko [not found] ` <20211001195223.31909-1-viacheslavo@nvidia.com> ` (4 subsequent siblings) 5 siblings, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-09-10 14:16 UTC (permalink / raw) To: dev; +Cc: orika, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 529ead6b2a..9e7fe1ae9f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20211001195223.31909-1-viacheslavo@nvidia.com>]
* [dpdk-stable] [PATCH 3/3] app/testpmd: fix hex string parser in flow commands [not found] ` <20211001195223.31909-1-viacheslavo@nvidia.com> @ 2021-10-01 19:52 ` Viacheslav Ovsiienko 0 siblings, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-01 19:52 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 736029c4fd..6827d9228f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20211010234547.1495-1-viacheslavo@nvidia.com>]
* [dpdk-stable] [PATCH v2 3/5] app/testpmd: fix hex string parser in flow commands [not found] ` <20211010234547.1495-1-viacheslavo@nvidia.com> @ 2021-10-10 23:45 ` Viacheslav Ovsiienko 2021-10-11 9:15 ` Ori Kam 0 siblings, 1 reply; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-10 23:45 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 736029c4fd..6827d9228f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-stable] [PATCH v2 3/5] app/testpmd: fix hex string parser in flow commands 2021-10-10 23:45 ` [dpdk-stable] [PATCH v2 3/5] " Viacheslav Ovsiienko @ 2021-10-11 9:15 ` Ori Kam 0 siblings, 0 replies; 12+ messages in thread From: Ori Kam @ 2021-10-11 9:15 UTC (permalink / raw) To: Slava Ovsiienko, dev Cc: Raslan Darawsheh, Matan Azrad, Shahaf Shuler, Gregory Etelson, NBU-Contact-Thomas Monjalon, stable Hi Slava, > -----Original Message----- > From: Slava Ovsiienko <viacheslavo@nvidia.com> > Sent: Monday, October 11, 2021 2:46 AM > Subject: [PATCH v2 3/5] app/testpmd: fix hex string parser in flow commands > > The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and > might cause the application failure (segmentation fault is observed usually). > > Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") > Cc: stable@dpdk.org > > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > --- > app/test-pmd/cmdline_flow.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index > 736029c4fd..6827d9228f 100644 > --- a/app/test-pmd/cmdline_flow.c > +++ b/app/test-pmd/cmdline_flow.c > @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, > hexlen -= 2; > } > if (hexlen > length) > - return -1; > + goto error; > ret = parse_hex_string(str, hex_tmp, &hexlen); > if (ret < 0) > goto error; > + /* Check the converted binary fits into data buffer. */ > + if (hexlen > size) > + goto error; > /* Let parse_int() fill length information first. */ > ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); > if (ret < 0) > -- > 2.18.1 Acked-by: Ori Kam <orika@nvidia.com> Thanks, Ori ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20211012080631.28504-1-viacheslavo@nvidia.com>]
* [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action [not found] ` <20211012080631.28504-1-viacheslavo@nvidia.com> @ 2021-10-12 8:06 ` Viacheslav Ovsiienko 2021-10-12 8:13 ` Ori Kam 2021-10-12 8:14 ` [dpdk-stable] [dpdk-dev] " Andrew Rybchenko 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko 1 sibling, 2 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-12 8:06 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable EXPERIMENTAL tag was missed in rte_flow_action_modify_data structure description. Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- lib/ethdev/rte_flow.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index f14f77772b..8a1eddd0b7 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3204,6 +3204,9 @@ enum rte_flow_field_id { }; /** + * @warning + * @b EXPERIMENTAL: this structure may change without prior notice + * * Field description for MODIFY_FIELD action. */ struct rte_flow_action_modify_data { -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko @ 2021-10-12 8:13 ` Ori Kam 2021-10-12 8:14 ` [dpdk-stable] [dpdk-dev] " Andrew Rybchenko 1 sibling, 0 replies; 12+ messages in thread From: Ori Kam @ 2021-10-12 8:13 UTC (permalink / raw) To: Slava Ovsiienko, dev Cc: Raslan Darawsheh, Matan Azrad, Shahaf Shuler, Gregory Etelson, NBU-Contact-Thomas Monjalon, stable Hi Slava, > -----Original Message----- > From: Slava Ovsiienko <viacheslavo@nvidia.com> > Sent: Tuesday, October 12, 2021 11:06 AM > To: dev@dpdk.org > Subject: [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action > > EXPERIMENTAL tag was missed in rte_flow_action_modify_data structure description. > > Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") > Cc: stable@dpdk.org > > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> > --- > lib/ethdev/rte_flow.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index f14f77772b..8a1eddd0b7 100644 > --- a/lib/ethdev/rte_flow.h > +++ b/lib/ethdev/rte_flow.h > @@ -3204,6 +3204,9 @@ enum rte_flow_field_id { }; > > /** > + * @warning > + * @b EXPERIMENTAL: this structure may change without prior notice > + * > * Field description for MODIFY_FIELD action. > */ > struct rte_flow_action_modify_data { > -- > 2.18.1 Acked-by: Ori Kam <orika@nvidia.com> Thanks, Ori ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko 2021-10-12 8:13 ` Ori Kam @ 2021-10-12 8:14 ` Andrew Rybchenko 1 sibling, 0 replies; 12+ messages in thread From: Andrew Rybchenko @ 2021-10-12 8:14 UTC (permalink / raw) To: Viacheslav Ovsiienko, dev Cc: rasland, matan, shahafs, orika, getelson, thomas, stable On 10/12/21 11:06 AM, Viacheslav Ovsiienko wrote: > EXPERIMENTAL tag was missed in rte_flow_action_modify_data > structure description. > > Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") > Cc: stable@dpdk.org > > Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-stable] [PATCH v3 4/5] app/testpmd: fix hex string parser in flow commands [not found] ` <20211012080631.28504-1-viacheslavo@nvidia.com> 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko @ 2021-10-12 8:06 ` Viacheslav Ovsiienko 1 sibling, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-12 8:06 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 736029c4fd..6827d9228f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20211012202557.30295-1-viacheslavo@nvidia.com>]
* [dpdk-stable] [PATCH v5 2/5] ethdev: fix missed experimental tag for modify field action [not found] ` <20211012202557.30295-1-viacheslavo@nvidia.com> @ 2021-10-12 20:25 ` Viacheslav Ovsiienko 2021-10-12 20:25 ` [dpdk-stable] [PATCH v5 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko 1 sibling, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-12 20:25 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable EXPERIMENTAL tag was missed in rte_flow_action_modify_data structure description. Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- lib/ethdev/rte_flow.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index f14f77772b..8a1eddd0b7 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3204,6 +3204,9 @@ enum rte_flow_field_id { }; /** + * @warning + * @b EXPERIMENTAL: this structure may change without prior notice + * * Field description for MODIFY_FIELD action. */ struct rte_flow_action_modify_data { -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-stable] [PATCH v5 4/5] app/testpmd: fix hex string parser in flow commands [not found] ` <20211012202557.30295-1-viacheslavo@nvidia.com> 2021-10-12 20:25 ` [dpdk-stable] [PATCH v5 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko @ 2021-10-12 20:25 ` Viacheslav Ovsiienko 1 sibling, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-12 20:25 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 736029c4fd..6827d9228f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20211013184516.25338-1-viacheslavo@nvidia.com>]
* [dpdk-stable] [PATCH v6 2/5] ethdev: fix missed experimental tag for modify field action [not found] ` <20211013184516.25338-1-viacheslavo@nvidia.com> @ 2021-10-13 18:45 ` Viacheslav Ovsiienko 2021-10-13 18:45 ` [dpdk-stable] [PATCH v6 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko 1 sibling, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-13 18:45 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable EXPERIMENTAL tag was missed in rte_flow_action_modify_data structure description. Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- lib/ethdev/rte_flow.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index f14f77772b..8a1eddd0b7 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -3204,6 +3204,9 @@ enum rte_flow_field_id { }; /** + * @warning + * @b EXPERIMENTAL: this structure may change without prior notice + * * Field description for MODIFY_FIELD action. */ struct rte_flow_action_modify_data { -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-stable] [PATCH v6 4/5] app/testpmd: fix hex string parser in flow commands [not found] ` <20211013184516.25338-1-viacheslavo@nvidia.com> 2021-10-13 18:45 ` [dpdk-stable] [PATCH v6 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko @ 2021-10-13 18:45 ` Viacheslav Ovsiienko 1 sibling, 0 replies; 12+ messages in thread From: Viacheslav Ovsiienko @ 2021-10-13 18:45 UTC (permalink / raw) To: dev; +Cc: rasland, matan, shahafs, orika, getelson, thomas, stable The hexadecimal string parser does not check the target field buffer size, buffer overflow happens and might cause the application failure (segmentation fault is observed usually). Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- app/test-pmd/cmdline_flow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 736029c4fd..6827d9228f 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -7291,10 +7291,13 @@ parse_hex(struct context *ctx, const struct token *token, hexlen -= 2; } if (hexlen > length) - return -1; + goto error; ret = parse_hex_string(str, hex_tmp, &hexlen); if (ret < 0) goto error; + /* Check the converted binary fits into data buffer. */ + if (hexlen > size) + goto error; /* Let parse_int() fill length information first. */ ret = snprintf(tmp, sizeof(tmp), "%u", hexlen); if (ret < 0) -- 2.18.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-10-13 18:45 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20210910141609.8410-1-viacheslavo@nvidia.com> 2021-09-10 14:16 ` [dpdk-stable] [RFC 3/3] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko [not found] ` <20211001195223.31909-1-viacheslavo@nvidia.com> 2021-10-01 19:52 ` [dpdk-stable] [PATCH " Viacheslav Ovsiienko [not found] ` <20211010234547.1495-1-viacheslavo@nvidia.com> 2021-10-10 23:45 ` [dpdk-stable] [PATCH v2 3/5] " Viacheslav Ovsiienko 2021-10-11 9:15 ` Ori Kam [not found] ` <20211012080631.28504-1-viacheslavo@nvidia.com> 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko 2021-10-12 8:13 ` Ori Kam 2021-10-12 8:14 ` [dpdk-stable] [dpdk-dev] " Andrew Rybchenko 2021-10-12 8:06 ` [dpdk-stable] [PATCH v3 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko [not found] ` <20211012202557.30295-1-viacheslavo@nvidia.com> 2021-10-12 20:25 ` [dpdk-stable] [PATCH v5 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko 2021-10-12 20:25 ` [dpdk-stable] [PATCH v5 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko [not found] ` <20211013184516.25338-1-viacheslavo@nvidia.com> 2021-10-13 18:45 ` [dpdk-stable] [PATCH v6 2/5] ethdev: fix missed experimental tag for modify field action Viacheslav Ovsiienko 2021-10-13 18:45 ` [dpdk-stable] [PATCH v6 4/5] app/testpmd: fix hex string parser in flow commands Viacheslav Ovsiienko
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).