Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8096470imu; Tue, 4 Dec 2018 02:57:10 -0800 (PST) X-Google-Smtp-Source: AFSGD/UAanMbGFdmu5sHCnqSp7MZk6ySwFDq1QzpzU8z61AbRauJ5UKXjLLC3G9ybty6EtTzZdAA X-Received: by 2002:a17:902:aa8c:: with SMTP id d12mr19846072plr.25.1543921030218; Tue, 04 Dec 2018 02:57:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543921030; cv=none; d=google.com; s=arc-20160816; b=YbL2gGlTbR6n0SKU8yfKWiHtBukviNNmT1lNaM8qaZHMdjkYQjK3ZfZA2k7vEAZ398 Sm8LLjEB5DH1FlygBA7t/ORc6PZTAUN5se9XWGSwIGZjXa8k74J51WOznhjIcJCCMmOC CV+kgmEtzupz/kROAOXtiGbLiVHy81NXb3ui/zYCXmk4tdAqkaj+o0+3HxeRYal2iqPv z87Wv6UffkUl3uDIW03tOfOZ4rG2Q+Rgoc/UR63zjhd87dT577+fnplizYEJki3ZhTZa OD0OnFe2cPJjhq90wIB3pYKvS4pXecmKY8SgmrpbEPfuhuFaBrmeYEcEymbTKLjZg9RR GDkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/HQvPrf+DJKbodR5kUtuosIe3jNaa1HWU71rcyEgxg8=; b=SSyrMR/dLdOkd2jgsQh2r/19PEUpEUhS82JHDkeotGY9I/rLcNRClSmZ9nbLgXKP// czfhtnvJNXeanm6Z6lyfjEv9CN6JUAjhA8nNl4GzUcX46cyWSn7tAt0/dHeLyw+rQ+0N rCjdlUpCD7Ak9xejiRzawEF7nJM95UwJTs3ruClMjYnABuwD3+Oez2Y9s9n3WmHjHJG9 BZG3qHRTrqBYW+OApccr4uFHMc35qnmz2gMROt3Mz/hA6xCNpZXSruN5r0P2ciLc8g9b XS6IZ6G3KsjUcD4WVeGO/RNCx62AIG1rYZU3XL6RHqb0bt60HKGE+Aq2WYMkjvbpKZkM CRmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cCBIaiNS; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e15si14751952pgg.281.2018.12.04.02.56.54; Tue, 04 Dec 2018 02:57:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cCBIaiNS; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726355AbeLDKzx (ORCPT + 99 others); Tue, 4 Dec 2018 05:55:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:38722 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726336AbeLDKzs (ORCPT ); Tue, 4 Dec 2018 05:55:48 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EDAD2214D9; Tue, 4 Dec 2018 10:55:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543920947; bh=3W/qWBZbd32d1QgkJE4byJcup+1bCqps8eRtiHYHcmU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cCBIaiNSU4NnwWVGhFDZ73gkm6mYwMmxxGbUEvv/QbMMGUPQR1OFrVFMLlS1MxOcV 3DnogwzbixBcG+nfgVND7oBUZt4abxSGDfYeDvgsLcK1CHc/ayczrup0fC2+KnXQlP m5NO+trY9ddlJ+gByZfJisPtiEWcjAyMI647KsCo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jesper Dangaard Brouer , Pavel Popa , David Ahern , Jason Wang , "David S. Miller" Subject: [PATCH 4.19 021/139] virtio-net: disable guest csum during XDP set Date: Tue, 4 Dec 2018 11:48:22 +0100 Message-Id: <20181204103650.849650686@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103649.950154335@linuxfoundation.org> References: <20181204103649.950154335@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jason Wang [ Upstream commit e59ff2c49ae16e1d179de679aca81405829aee6c ] We don't disable VIRTIO_NET_F_GUEST_CSUM if XDP was set. This means we can receive partial csumed packets with metadata kept in the vnet_hdr. This may have several side effects: - It could be overridden by header adjustment, thus is might be not correct after XDP processing. - There's no way to pass such metadata information through XDP_REDIRECT to another driver. - XDP does not support checksum offload right now. So simply disable guest csum if possible in this the case of XDP. Fixes: 3f93522ffab2d ("virtio-net: switch off offloads on demand if possible on XDP set") Reported-by: Jesper Dangaard Brouer Cc: Jesper Dangaard Brouer Cc: Pavel Popa Cc: David Ahern Signed-off-by: Jason Wang Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/virtio_net.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -70,7 +70,8 @@ static const unsigned long guest_offload VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6, VIRTIO_NET_F_GUEST_ECN, - VIRTIO_NET_F_GUEST_UFO + VIRTIO_NET_F_GUEST_UFO, + VIRTIO_NET_F_GUEST_CSUM }; struct virtnet_stat_desc { @@ -2285,9 +2286,6 @@ static int virtnet_clear_guest_offloads( if (!vi->guest_offloads) return 0; - if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_CSUM)) - offloads = 1ULL << VIRTIO_NET_F_GUEST_CSUM; - return virtnet_set_guest_offloads(vi, offloads); } @@ -2297,8 +2295,6 @@ static int virtnet_restore_guest_offload if (!vi->guest_offloads) return 0; - if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_GUEST_CSUM)) - offloads |= 1ULL << VIRTIO_NET_F_GUEST_CSUM; return virtnet_set_guest_offloads(vi, offloads); }