Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8106002imu; Tue, 4 Dec 2018 03:06:24 -0800 (PST) X-Google-Smtp-Source: AFSGD/UeJxoaObCLry79HCxyt/dVjQKtBxpJmeul8m/4tjT5FtXzmBqrVCk/l+eB6uiZAj4+hmi1 X-Received: by 2002:a62:6799:: with SMTP id t25mr19532746pfj.139.1543921584726; Tue, 04 Dec 2018 03:06:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543921584; cv=none; d=google.com; s=arc-20160816; b=eO1b6QbuhbjlcsLhgkeU33xip77hIeW+0sYtdHukWhZLmU99iM56mrZVFeWgMtBiq6 AWIEdiFuQlChCdSfDpK6z98ilxgDgbHqnm00hKCNBN9UvfFvzjoU3exVhttL6wwaI5aX +TaKa7BgovqBLUVd5eluJgiTTdsbcnstq9LEYdfjC4DwHRlHFxzQdmcCFSjoBhumdk0a Gu84P3MOF1kLta99kWyl8qdG+RnaARyDqNBElEoWUzd2doat0eV7G5Q1j12sXAq0TLL0 iDHNBadobGoH2D4e0F0dZ3mtk5NZkJstrQQlr5ElcN8bj5CUckOCwnZ9vvxnbFCecqUj 9djg== 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=BFvUJDZG/qsCwFw23U/6bISYwrXB8mpfWa+Re+LfVFI=; b=jcKhnxWLWJzboc6/Sr3nvX+xzcfaZ/0q3/9Bab1s+0IsByC99kH/lp2DxkiAVp3fQE J/xB4LIyg4d61sopSgMAu8W1L/1JGC6RotAieW8BpL1Ve6Li47i5GJIx5ZJqXd2WKFIF MRzEmcLK0+7vNK0gTqxNo8wSDP3swFVwkfzHun4SMgMXW0/6T/kOqRp6bbXy4clImDdm pFWpC4/JGRo88zZAynC24F1OJdg004wVdk+Tni+0rbD5KgLQ4oY97v5wt44NPN2QB4Xn j4xtSh/IQ0yzt02TDbxHKJO89MuMqCgXAMP07P00GVZxOY3Pye0O+8DHspzgUNmeoLYr j8rA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2SUEwzkH; 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 n5si16924919plp.294.2018.12.04.03.06.04; Tue, 04 Dec 2018 03:06:24 -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=2SUEwzkH; 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 S1727277AbeLDLDi (ORCPT + 99 others); Tue, 4 Dec 2018 06:03:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:50166 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727481AbeLDLDg (ORCPT ); Tue, 4 Dec 2018 06:03:36 -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 7BA3B214DA; Tue, 4 Dec 2018 11:03:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921416; bh=V/uc3oedLBbIgliwfsTlM7aJ0pmMuPUMQBEHIXtwdCM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2SUEwzkHQB2Kr6G0EVyLy8ojYYqNuXh51G7J/Famg7RnrBhFo96zxY1B4JSsj6cck 4iit8ONH2hwjHZ4Z1dAtMBrU1K0PSQ63T8I8nrrI1DM6W6pFHTVuDLFBdk7pofqaa0 +F2m1rX7lkN/fgIW8+jvRFrZ2oqPvWAwqVsRDL3U= 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.14 061/146] virtio-net: disable guest csum during XDP set Date: Tue, 4 Dec 2018 11:49:07 +0100 Message-Id: <20181204103729.293745783@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@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.14-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 @@ -61,7 +61,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_stats { @@ -1939,9 +1940,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); } @@ -1951,8 +1949,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); }