net/virtio: fix virtio_net_hdr not being cleared correctly
Checks
Commit Message
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@intel.com
Signed-off-by: javin <javin158@163.com>
---
drivers/net/virtio/virtqueue.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -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 { \