From patchwork Tue Jan 24 20:36:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emmanuel Roullit X-Patchwork-Id: 19982 X-Patchwork-Delegate: yuanhan.liu@linux.intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 83BEB1023; Tue, 24 Jan 2017 21:36:15 +0100 (CET) Received: from mail-wj0-f195.google.com (mail-wj0-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id A4254201 for ; Tue, 24 Jan 2017 21:36:13 +0100 (CET) Received: by mail-wj0-f195.google.com with SMTP id i7so3219358wjf.2 for ; Tue, 24 Jan 2017 12:36:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=a9QRjJtMJWitj1idCyHQr8ly/ZOsTxe6j16Wr5z6Fpk=; b=GpX6i9ay/1TvjNLiHDGn/9HzsPnJZ26p/IWsHuKOXpZ8P7KzVoq3nogfZN0n4tsXJH 0b0BuLLPpyaH77wKQMPd/0S7tSQGRi7wC41WnNLXO2hrIv6a9ZRfurXSaGRFi7wPDpkp U08TxfmuZyOF8V/Kj1PpZqUjRPu7HvTzUwltN3L6BnrutoXQGCIzrOcIKwZ1f0rh8oW4 B3Hns09GX9VtPTtSj1CBCa36Xd7M2cIZdMclI+0z0u+k2iktQFMW2qICnkHbmQq/nsPy TUDiaGMA4Ml3+EC86mIosJo9GYVaFdH1syf2olOAA1vJVwSlwR/Qr/y2QYdBgjfPqOgl RWGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=a9QRjJtMJWitj1idCyHQr8ly/ZOsTxe6j16Wr5z6Fpk=; b=h5s5DyycCeZggd8usYiQaP8q/9FC74xG3dRvHej475ArUwFFe1o4PyNZy5hUC8iDk8 WdaZMxctcyyIkMRazr3syCNVZ2Qhf40LOj3kei079mKXviMRVzSymCK6dGEYf9Z9gXH+ hbU38we6mt/XFIuQVhThx7qKYW3r5ojeOv/RYSvLDts6gqElzqppkjFxsWGQfjb4ibfC oxhf5rIEJuGDC3RG9jBi/m6T0GZv4nFjneE/OBV85tsY9dcIDRMaRZs9mCQ43Q93c9P8 FSO5ISPPnSBrg/H3DEHhmlfsZDBC60qC93cfOatqRBGrZnKAVUgAdRVYgxgFf5226+GL kWuw== X-Gm-Message-State: AIkVDXJU3pKA9Iw1adnKpDqPWZDL/vDyU1hZbLqoWZO8tWmTkj6Kj43NIaWZaIcvMQ58sQ== X-Received: by 10.223.170.221 with SMTP id i29mr37046549wrc.131.1485290173381; Tue, 24 Jan 2017 12:36:13 -0800 (PST) Received: from emmanuel-Aspire-E5-571.primacom.net ([185.44.151.141]) by smtp.gmail.com with ESMTPSA id z134sm27930449wmc.20.2017.01.24.12.36.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 24 Jan 2017 12:36:12 -0800 (PST) From: Emmanuel Roullit To: huawei.xie@intel.com, yuanhan.liu@linux.intel.com Cc: dev@dpdk.org Date: Tue, 24 Jan 2017 21:36:03 +0100 Message-Id: <20170124203603.3887-1-emmanuel.roullit@gmail.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] net/virtio: do not gso when no header is present 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" Found with clang static analysis: lib/librte_vhost/virtio_net.c:723:17: warning: Access to field 'data_off' results in a dereference of a null pointer (loaded from variable 'tcp_hdr') m->l4_len = (tcp_hdr->data_off & 0xf0) >> 2; ^~~~~~~~~~~~~~~~~ Fixes: 2a51b1091cb5 ("vhost: support indirect descriptor in non-mergeable Rx") Signed-off-by: Emmanuel Roullit --- lib/librte_vhost/virtio_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c index 595f67c4d..82444b7b9 100644 --- a/lib/librte_vhost/virtio_net.c +++ b/lib/librte_vhost/virtio_net.c @@ -677,6 +677,7 @@ parse_ethernet(struct rte_mbuf *m, uint16_t *l4_proto, void **l4_hdr) default: m->l3_len = 0; *l4_proto = 0; + *l4_hdr = NULL; break; } } @@ -713,7 +714,7 @@ vhost_dequeue_offload(struct virtio_net_hdr *hdr, struct rte_mbuf *m) } } - if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) { + if (l4_hdr && hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) { switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) { case VIRTIO_NET_HDR_GSO_TCPV4: case VIRTIO_NET_HDR_GSO_TCPV6: