[Intel-wired-lan] [bug report] xsk: Propagate napi_id to XDP socket Rx path
Dan Carpenter
dan.carpenter at oracle.com
Tue Dec 8 12:21:01 UTC 2020
Hello Björn Töpel,
This is a semi-automatic email about new static checker warnings.
The patch b02e5a0ebb17: "xsk: Propagate napi_id to XDP socket Rx
path" from Nov 30, 2020, leads to the following Smatch complaint:
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:6580 ixgbe_setup_rx_resources()
error: we previously assumed 'rx_ring->q_vector' could be null (see line 6550)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6549
6550 if (rx_ring->q_vector)
^^^^^^^^^^^^^^^^^
Check for NULL
6551 ring_node = rx_ring->q_vector->numa_node;
6552
6553 rx_ring->rx_buffer_info = vmalloc_node(size, ring_node);
6554 if (!rx_ring->rx_buffer_info)
6555 rx_ring->rx_buffer_info = vmalloc(size);
6556 if (!rx_ring->rx_buffer_info)
6557 goto err;
6558
6559 /* Round up to nearest 4K */
6560 rx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);
6561 rx_ring->size = ALIGN(rx_ring->size, 4096);
6562
6563 set_dev_node(dev, ring_node);
6564 rx_ring->desc = dma_alloc_coherent(dev,
6565 rx_ring->size,
6566 &rx_ring->dma,
6567 GFP_KERNEL);
6568 set_dev_node(dev, orig_node);
6569 if (!rx_ring->desc)
6570 rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
6571 &rx_ring->dma, GFP_KERNEL);
6572 if (!rx_ring->desc)
6573 goto err;
6574
6575 rx_ring->next_to_clean = 0;
6576 rx_ring->next_to_use = 0;
6577
6578 /* XDP RX-queue info */
6579 if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
6580 rx_ring->queue_index, rx_ring->q_vector->napi.napi_id) < 0)
^^^^^^^^^^^^^^^^^^^
New unchecked dereference.
6581 goto err;
6582
regards,
dan carpenter
More information about the Intel-wired-lan
mailing list