net/af_xdp: fix unchecked return of recvfrom()
Checks
Commit Message
Coverity complains that the return value of recvfrom() in the AF_XDP
datapath is not checked. We don't care about the return value because in
the case of an error we still return 0 from the receive function to
indicate no packets were received. So to make Coverity happy we cast the
return to 'void'.
Coverity issue: 369671
Fixes: 63e8989fe5a4 ("net/af_xdp: use recvfrom instead of poll syscall")
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
---
drivers/net/af_xdp/rte_eth_af_xdp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
On 3/25/2021 8:22 AM, Ciara Loftus wrote:
> Coverity complains that the return value of recvfrom() in the AF_XDP
> datapath is not checked. We don't care about the return value because in
> the case of an error we still return 0 from the receive function to
> indicate no packets were received. So to make Coverity happy we cast the
> return to 'void'.
>
> Coverity issue: 369671
> Fixes: 63e8989fe5a4 ("net/af_xdp: use recvfrom instead of poll syscall")
>
> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Applied to dpdk-next-net/main, thanks.
@@ -274,7 +274,7 @@ af_xdp_rx_zc(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
if (nb_pkts == 0) {
if (syscall_needed(&rxq->fq, rxq->busy_budget))
- recvfrom(xsk_socket__fd(rxq->xsk), NULL, 0,
+ (void)recvfrom(xsk_socket__fd(rxq->xsk), NULL, 0,
MSG_DONTWAIT, NULL, NULL);
return 0;
@@ -346,7 +346,7 @@ af_xdp_rx_cp(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
if (nb_pkts == 0) {
#if defined(XDP_USE_NEED_WAKEUP)
if (xsk_ring_prod__needs_wakeup(fq))
- recvfrom(xsk_socket__fd(rxq->xsk), NULL, 0,
+ (void)recvfrom(xsk_socket__fd(rxq->xsk), NULL, 0,
MSG_DONTWAIT, NULL, NULL);
#endif
return 0;