From patchwork Thu Aug 13 06:26:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chupenghong X-Patchwork-Id: 75476 X-Patchwork-Delegate: maxime.coquelin@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CD278A04B0; Thu, 13 Aug 2020 08:27:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AE9771C002; Thu, 13 Aug 2020 08:27:02 +0200 (CEST) Received: from mail-m975.mail.163.com (mail-m975.mail.163.com [123.126.97.5]) by dpdk.org (Postfix) with ESMTP id 290B14CA7 for ; Thu, 13 Aug 2020 08:27:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=j34QNhOgzIdTvn0zaL Lq+YEP2vrt/ucX8eABTG4aqfA=; b=oaKsqoSBmAYyIYiUttgwdcAY95FQRi6YyP UvMCKKBBaB5LXWm3A4i26qnGFsfc6e3JmkfQnTBakRHl0AYrJXph27W114ieS/Hm aKMlYwoB2bW54zSk7LCkqdb/p4l6WFW9tQO8gwpVsKPipKeMNOdKmCg1JI70C14w wDjq83pNU= Received: from DESKTOP-TIN6T49.localdomain (unknown [122.96.144.130]) by smtp5 (Coremail) with SMTP id HdxpCgAHHiMn3TRfmBr1Cw--.4042S2; Thu, 13 Aug 2020 14:26:56 +0800 (CST) From: javin To: dev@dpdk.org Cc: yong.liu@intel.com Date: Thu, 13 Aug 2020 14:26:15 +0800 Message-Id: <20200813062615.1759-1-javin158@163.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: HdxpCgAHHiMn3TRfmBr1Cw--.4042S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrZF18tw18Xr4rKFyUJw45GFg_yoWfXrcEkw 1xWFWagF48uFn0vrWUuayrXF1Iq3WrXF10va13tr93Gw4Uuw15Jrn7Zr1jkF13Ww18ZFWf X398Gwn8Xw1fKjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU83ku7UUUUU== X-Originating-IP: [122.96.144.130] X-CM-SenderInfo: pmdyx0qrvyqiywtou0bp/1tbiShB-h1PAMkbTugAAss Subject: [dpdk-dev] [PATCH] net/virtio: fix virtio_net_hdr not being cleared correctly X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 { \