2021-06-05 16:05:33

by Xianting Tian

[permalink] [raw]
Subject: [PATCH] [v2] virtio_net: Remove BUG() to avoid machine dead

From: Xianting Tian <[email protected]>

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 <[email protected]>
---
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;

if (vi->mergeable_rx_bufs)
hdr->num_buffers = 0;
--
1.8.3.1


2021-06-06 04:53:31

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH] [v2] virtio_net: Remove BUG() to avoid machine dead

On Sat, Jun 05, 2021 at 11:31:00AM -0400, Xianting Tian wrote:
> From: Xianting Tian <[email protected]>
>
> 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 <[email protected]>
> ---
> 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 <[email protected]>

2021-06-07 20:14:22

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] [v2] virtio_net: Remove BUG() to avoid machine dead

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 <[email protected]>
>
> 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 <[email protected]>
>
> [...]

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