diff mbox series

net: Check if nc is NULL in qemu_get_vnet_hdr_len()

Message ID 20240817-net-v1-1-699b5591ad3b@daynix.com (mailing list archive)
State New, archived
Headers show
Series net: Check if nc is NULL in qemu_get_vnet_hdr_len() | expand

Commit Message

Akihiko Odaki Aug. 17, 2024, 7 a.m. UTC
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(+)


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

Best regards,

Comments

Jonathan Cameron Oct. 10, 2024, 4:36 p.m. UTC | #1
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,
Michael S. Tsirkin Oct. 11, 2024, 5:55 a.m. UTC | #2
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>
Jason Wang Oct. 18, 2024, 8:11 a.m. UTC | #3
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
Michael Tokarev Oct. 18, 2024, 6:34 p.m. UTC | #4
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
diff mbox series

Patch

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;
 }