[dpdk-dev] [PATCH] net/virtio: fix virtio_net_hdr not being cleared correctly

javin javin158 at 163.com
Thu Aug 13 08:26:15 CEST 2020


The macro ASSIGN_UNLESS_EQUAL doesn't assign value to the
variable, so the virtio_net_hdr may not be cleared correctly and the
tx packet may be droped due to wrong virtio_net_hdr.

Fixes: 57f90f894588 ("net/virtio: reuse packed ring functions")
Cc: yong.liu at intel.com
Signed-off-by: javin <javin158 at 163.com>
---
 drivers/net/virtio/virtqueue.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
index 105a9c00c..e94d78ae5 100644
--- a/drivers/net/virtio/virtqueue.h
+++ b/drivers/net/virtio/virtqueue.h
@@ -610,7 +610,7 @@ virtqueue_notify(struct virtqueue *vq)
 	typeof(var) var_ = (var);		\
 	typeof(val) val_ = (val);		\
 	if ((var_) != (val_))			\
-		(var_) = (val_);		\
+		(var) = (val_);		\
 } while (0)
 
 #define virtqueue_clear_net_hdr(hdr) do {		\
-- 
2.17.1



More information about the dev mailing list