Message ID | 1622907060-8417-1-git-send-email-xianting_tian@126.com |
---|---|
State | New |
Headers | show |
Series | [v2] virtio_net: Remove BUG() to avoid machine dead | expand |
On Sat, Jun 05, 2021 at 11:31:00AM -0400, Xianting Tian wrote: > From: Xianting Tian <xianting.tian@linux.alibaba.com> > > We should not directly BUG() when there is hdr error, it is > better to output a print when such error happens. Currently, > the caller of xmit_skb() already did it. > > Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com> > --- > drivers/net/virtio_net.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 9b6a4a8..7f11ea4 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -1623,7 +1623,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb) > if (virtio_net_hdr_from_skb(skb, &hdr->hdr, > virtio_is_little_endian(vi->vdev), false, > 0)) > - BUG(); > + return -EPROTO; Yeah, as we discussed, BUG*() macros in non-core code that checks in-kernel API better to be deleted. Thanks, Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Hello: This patch was applied to netdev/net-next.git (refs/heads/master): On Sat, 5 Jun 2021 11:31:00 -0400 you wrote: > From: Xianting Tian <xianting.tian@linux.alibaba.com> > > We should not directly BUG() when there is hdr error, it is > better to output a print when such error happens. Currently, > the caller of xmit_skb() already did it. > > Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com> > > [...] Here is the summary with links: - [v2] virtio_net: Remove BUG() to avoid machine dead https://git.kernel.org/netdev/net-next/c/85eb1389458d You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 9b6a4a8..7f11ea4 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1623,7 +1623,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb) if (virtio_net_hdr_from_skb(skb, &hdr->hdr, virtio_is_little_endian(vi->vdev), false, 0)) - BUG(); + return -EPROTO; if (vi->mergeable_rx_bufs) hdr->num_buffers = 0;