On Sat, Mar 23, 2024 at 10:48:42PM +0800, keivinwang wrote:
> add param check when tx_queue or rx_queqe is null.
> 

Hi,

trying to get some context on this patch. Have you encountered a situation
where there are actually NULL parameters getting passed to the functions,
or where an rx queue is unexpectedly NULL? If so, while adding NULL checks
is not a big issue in itself, the values being NULL may indicate a more
serious underlying issue we need to investigate.

> Signed-off-by: keivinwang <keivinw...@126.com>

For a sign-off, the general format is to have both firstname and
second/family name given as separate words.

Thanks,
/Bruce

> ---
>  drivers/net/ixgbe/ixgbe_rxtx.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index f6c17d4efb..245b3527db 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -2539,6 +2539,8 @@ static const struct ixgbe_txq_ops def_txq_ops = {
>  void __rte_cold
>  ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)
>  {
> +     if (txq == NULL)
> +             return;

Have you encountered a situation where this function can be given a null
parameter?

>       /* Use a simple Tx queue (no offloads, no multi segs) if possible */
>       if ((txq->offloads == 0) &&
>  #ifdef RTE_LIB_SECURITY
> @@ -4953,12 +4955,13 @@ ixgbe_set_rx_function(struct rte_eth_dev *dev)
>  
>       for (i = 0; i < dev->data->nb_rx_queues; i++) {
>               struct ixgbe_rx_queue *rxq = dev->data->rx_queues[i];
> -

Similarly here, if nb_rx_queues == X, is it possible a queue between
0..X-1 to be NULL?

> -             rxq->rx_using_sse = rx_using_sse;
> +             if (rxq) {
> +                     rxq->rx_using_sse = rx_using_sse;
>  #ifdef RTE_LIB_SECURITY
> -             rxq->using_ipsec = !!(dev->data->dev_conf.rxmode.offloads &
> -                             RTE_ETH_RX_OFFLOAD_SECURITY);
> +                     rxq->using_ipsec = 
> !!(dev->data->dev_conf.rxmode.offloads &
> +                                     RTE_ETH_RX_OFFLOAD_SECURITY);
>  #endif
> +             }
>       }

Reply via email to