[PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()

Akihiko Odaki posted 1 patch 3 months, 1 week ago
net/net.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()
Posted by Akihiko Odaki 3 months, 1 week ago
A netdev may not have a peer specified, resulting in NULL. We should
make it behave like /dev/null in such a case instead of letting it
cause segmentatin fault.

Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")
Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 net/net.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/net.c b/net/net.c
index 6938da05e077..4c21d91f9450 100644
--- a/net/net.c
+++ b/net/net.c
@@ -542,6 +542,10 @@ void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
 
 int qemu_get_vnet_hdr_len(NetClientState *nc)
 {
+    if (!nc) {
+        return 0;
+    }
+
     return nc->vnet_hdr_len;
 }
 

---
base-commit: 31669121a01a14732f57c49400bc239cf9fd505f
change-id: 20240817-net-dc461895a295

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>
Re: [PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()
Posted by Michael Tokarev 1 month ago
17.08.2024 10:00, Akihiko Odaki wrote:
> A netdev may not have a peer specified, resulting in NULL. We should
> make it behave like /dev/null in such a case instead of letting it
> cause segmentatin fault.
> 
> Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")

Feels like qemu-stable material (Cc'd).

/mjt
Re: [PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()
Posted by Michael S. Tsirkin 1 month, 2 weeks ago
On Sat, Aug 17, 2024 at 04:00:43PM +0900, Akihiko Odaki wrote:
> A netdev may not have a peer specified, resulting in NULL. We should
> make it behave like /dev/null in such a case instead of letting it
> cause segmentatin fault.

segmentation

> 
> Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")
> Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>


Acked-by: Michael S. Tsirkin <mst@redhat.com>

Jason, you tree?

> ---
>  net/net.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/net/net.c b/net/net.c
> index 6938da05e077..4c21d91f9450 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -542,6 +542,10 @@ void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
>  
>  int qemu_get_vnet_hdr_len(NetClientState *nc)
>  {
> +    if (!nc) {
> +        return 0;
> +    }
> +
>      return nc->vnet_hdr_len;
>  }
>  
> 
> ---
> base-commit: 31669121a01a14732f57c49400bc239cf9fd505f
> change-id: 20240817-net-dc461895a295
> 
> Best regards,
> -- 
> Akihiko Odaki <akihiko.odaki@daynix.com>
Re: [PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()
Posted by Jason Wang 1 month ago
On Fri, Oct 11, 2024 at 1:55 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Sat, Aug 17, 2024 at 04:00:43PM +0900, Akihiko Odaki wrote:
> > A netdev may not have a peer specified, resulting in NULL. We should
> > make it behave like /dev/null in such a case instead of letting it
> > cause segmentatin fault.
>
> segmentation
>
> >
> > Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")
> > Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
>
>
> Acked-by: Michael S. Tsirkin <mst@redhat.com>
>
> Jason, you tree?
>

Yes.

Queued.

Thanks
Re: [PATCH] net: Check if nc is NULL in qemu_get_vnet_hdr_len()
Posted by Jonathan Cameron via 1 month, 2 weeks ago
On Sat, 17 Aug 2024 16:00:43 +0900
Akihiko Odaki <akihiko.odaki@daynix.com> wrote:

> A netdev may not have a peer specified, resulting in NULL. We should
> make it behave like /dev/null in such a case instead of letting it
> cause segmentatin fault.
> 
> Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")
> Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>

FWIW fixed my issue. I'd forgotten about but noticed that
it was still in my tree after a rebase.

Tested-by; Jonathan Cameron <Jonathan.Cameron@huawei.com>


> ---
>  net/net.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/net/net.c b/net/net.c
> index 6938da05e077..4c21d91f9450 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -542,6 +542,10 @@ void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
>  
>  int qemu_get_vnet_hdr_len(NetClientState *nc)
>  {
> +    if (!nc) {
> +        return 0;
> +    }
> +
>      return nc->vnet_hdr_len;
>  }
>  
> 
> ---
> base-commit: 31669121a01a14732f57c49400bc239cf9fd505f
> change-id: 20240817-net-dc461895a295
> 
> Best regards,