On Mon, 16 Nov 2020 16:42:28 +0200 Camelia Groza wrote: > + if (likely(fd_format == qm_fd_contig)) { > + xdp_act = dpaa_run_xdp(priv, (struct qm_fd *)fd, vaddr, > + &xdp_meta_len); > + if (xdp_act != XDP_PASS) { > + percpu_stats->rx_packets++; > + percpu_stats->rx_bytes += qm_fd_get_length(fd); > + return qman_cb_dqrr_consume; > + } > skb = contig_fd_to_skb(priv, fd); > - else > + } else { > + WARN_ONCE(priv->xdp_prog, "S/G frames not supported under > XDP\n"); > skb = sg_fd_to_skb(priv, fd);
It'd be safer to drop the packet if the format does not allow XDP to run. Otherwise someone can bypass whatever policy XDP is trying to enforce.