DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/bonding: fix stack overflow in selection logic
@ 2019-07-30 11:31 kkanas
  2019-07-30 11:34 ` David Marchand
  0 siblings, 1 reply; 2+ messages in thread
From: kkanas @ 2019-07-30 11:31 UTC (permalink / raw)
  To: dev, Chas Williams; +Cc: Krzysztof Kanas, danielx.t.mrzyglod

From: Krzysztof Kanas <kkanas@marvell.com>

Bonding selection logic uses agg_bandwidth, agg_count indexed by port_id
but those arrays are 8 entries long.

Fixes: 6d72657ce379 ("net/bonding: add other aggregator modes")
Cc: danielx.t.mrzyglod@intel.com

Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 1e6a3fc7c641..a7c040e26931 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -669,8 +669,8 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
 	struct port *agg, *port;
 	uint16_t slaves_count, new_agg_id, i, j = 0;
 	uint16_t *slaves;
-	uint64_t agg_bandwidth[8] = {0};
-	uint64_t agg_count[8] = {0};
+	uint64_t agg_bandwidth[RTE_MAX_ETHPORTS] = {0};
+	uint64_t agg_count[RTE_MAX_ETHPORTS] = {0};
 	uint16_t default_slave = 0;
 	uint8_t mode_count_id, mode_band_id;
 	struct rte_eth_link link_info;
-- 
2.21.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH] net/bonding: fix stack overflow in selection logic
  2019-07-30 11:31 [dpdk-dev] [PATCH] net/bonding: fix stack overflow in selection logic kkanas
@ 2019-07-30 11:34 ` David Marchand
  0 siblings, 0 replies; 2+ messages in thread
From: David Marchand @ 2019-07-30 11:34 UTC (permalink / raw)
  To: kkanas; +Cc: dev, Chas Williams, danielx.t.mrzyglod

On Tue, Jul 30, 2019 at 1:32 PM <kkanas@marvell.com> wrote:
>
> From: Krzysztof Kanas <kkanas@marvell.com>
>
> Bonding selection logic uses agg_bandwidth, agg_count indexed by port_id
> but those arrays are 8 entries long.
>
> Fixes: 6d72657ce379 ("net/bonding: add other aggregator modes")
> Cc: danielx.t.mrzyglod@intel.com
>
> Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
> ---
>  drivers/net/bonding/rte_eth_bond_8023ad.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
> index 1e6a3fc7c641..a7c040e26931 100644
> --- a/drivers/net/bonding/rte_eth_bond_8023ad.c
> +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
> @@ -669,8 +669,8 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
>         struct port *agg, *port;
>         uint16_t slaves_count, new_agg_id, i, j = 0;
>         uint16_t *slaves;
> -       uint64_t agg_bandwidth[8] = {0};
> -       uint64_t agg_count[8] = {0};
> +       uint64_t agg_bandwidth[RTE_MAX_ETHPORTS] = {0};
> +       uint64_t agg_count[RTE_MAX_ETHPORTS] = {0};
>         uint16_t default_slave = 0;
>         uint8_t mode_count_id, mode_band_id;
>         struct rte_eth_link link_info;
> --
> 2.21.0
>

I already sent the same patch.
Please see the comments if you want to take over this:
https://patchwork.dpdk.org/patch/51492/


-- 
David Marchand

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-07-30 11:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-30 11:31 [dpdk-dev] [PATCH] net/bonding: fix stack overflow in selection logic kkanas
2019-07-30 11:34 ` David Marchand

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).