mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 15:43:59 +08:00
virtio_net: fix rx_drops stat for small pkts
We found the stat of rx drops for small pkts does not increment when build_skb fail, it's not coherent with other mode's rx drops stat. Signed-off-by: Wenliang Wang <wangwenliang.1995@bytedance.com> Acked-by: Jason Wang <jasowang@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e08cdf6304
commit
053c9e18c6
@ -733,7 +733,7 @@ static struct sk_buff *receive_small(struct net_device *dev,
|
||||
pr_debug("%s: rx error: len %u exceeds max size %d\n",
|
||||
dev->name, len, GOOD_PACKET_LEN);
|
||||
dev->stats.rx_length_errors++;
|
||||
goto err_len;
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (likely(!vi->xdp_enabled)) {
|
||||
@ -825,10 +825,8 @@ static struct sk_buff *receive_small(struct net_device *dev,
|
||||
|
||||
skip_xdp:
|
||||
skb = build_skb(buf, buflen);
|
||||
if (!skb) {
|
||||
put_page(page);
|
||||
if (!skb)
|
||||
goto err;
|
||||
}
|
||||
skb_reserve(skb, headroom - delta);
|
||||
skb_put(skb, len);
|
||||
if (!xdp_prog) {
|
||||
@ -839,13 +837,12 @@ skip_xdp:
|
||||
if (metasize)
|
||||
skb_metadata_set(skb, metasize);
|
||||
|
||||
err:
|
||||
return skb;
|
||||
|
||||
err_xdp:
|
||||
rcu_read_unlock();
|
||||
stats->xdp_drops++;
|
||||
err_len:
|
||||
err:
|
||||
stats->drops++;
|
||||
put_page(page);
|
||||
xdp_xmit:
|
||||
|
Loading…
Reference in New Issue
Block a user