On 8/28/2017 1:53 PM, Andrew Rybchenko wrote: > From: Ivan Malov <ivan.ma...@oktetlabs.ru> > > efx_rx_scale_tbl_set() takes the number of entries in the scale table > to be set, not the size of the table in bytes; currently this bug does > not make any damage since the size argument is used to wrap the loop > on the input table when filling in an MCDI request in case if the table > size in the MCDI request is larger then one provided by the user, > and MCDI scale table size is the same as the size of the table provided > by the driver; this patch brings a fix for the bug > > Fixes: 4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver > attach") > Cc: sta...@dpdk.org > > Signed-off-by: Ivan Malov <ivan.ma...@oktetlabs.ru> > Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> > --- > drivers/net/sfc/sfc_rx.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c > index 1bf8644..364f718 100644 > --- a/drivers/net/sfc/sfc_rx.c > +++ b/drivers/net/sfc/sfc_rx.c > @@ -1068,7 +1068,7 @@ struct sfc_dp_rx sfc_efx_rx = { > goto finish; >
It is not shown in this patch, but there is "sizeof(sa->rss_key)" usage here, since its type is uint8_t, it is not wrong, but it can be good to change that one too to RTE_DIM() both to show the intent and to be safe if in the future type updated... But this is your call to update or not. > rc = efx_rx_scale_tbl_set(sa->nic, sa->rss_tbl, > - sizeof(sa->rss_tbl)); > + RTE_DIM(sa->rss_tbl)); There are more sizeof(sa->rss_tbl) usage in sfc_ethdev.c [1], can you please check them too? malloc and memcpy ones look suspicious. [1] $ git grep "sizeof(sa->rss_tbl)" drivers/net/sfc/sfc_ethdev.c: rss_tbl_new = rte_zmalloc("rss_tbl_new", sizeof(sa->rss_tbl), 0); drivers/net/sfc/sfc_ethdev.c: rte_memcpy(rss_tbl_new, sa->rss_tbl, sizeof(sa->rss_tbl)); drivers/net/sfc/sfc_ethdev.c: rte_memcpy(sa->rss_tbl, rss_tbl_new, sizeof(sa->rss_tbl)); drivers/net/sfc/sfc_rx.c: sizeof(sa->rss_tbl)); > } > > finish: >