Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp776852pxa; Wed, 5 Aug 2020 12:29:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWUmwc2BMxCrqdBRnRWMQ11s2aqAiu5RNoQknwQBDzrqxi/QhOgnUoaxZI5Oxk81H/4k7x X-Received: by 2002:aa7:d983:: with SMTP id u3mr823699eds.366.1596655751797; Wed, 05 Aug 2020 12:29:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596655751; cv=none; d=google.com; s=arc-20160816; b=je+MuPlCWW8u/8Qsqu1kZpG2FxxSa1SN/Nt77+3aDpC+aH7Z3y0V1qeX5si0BQNtlp jRBOqLaT8hmsYn8Klnium80+w4GtWDmDpfKuMz8Ln95YHpfPJGBuo9BmcHX6XJkxUmaV z4bs71UFkHXATUn9NPH21sx6n1cTeK6B8VTVj48p+swXqtuXbT2nl+ah0sPTzIZ/6qby yx9JBODc+2Ilqj/eCFlXJg+fbNSQiMPxMvQOVsNkaxDj9a071J4Vw9pd1N58eCSv4f+F qjZCM2ZXJBtSKXnbPLp/elcrlSr+etiGBSIMIre2jHRuhNJwgE2i8WUyuiyP5TtVIger xmhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=nsePUp5bwDzPkeGMt9DhuoyzhxlPvsYKTxQ+QKtzY8M=; b=bOuKIV4j0a9MdCz9yi91/xAzrvwCZDjR48PLQPQEzWAO2a9pdj43ktjM993fKE3fr3 fB37tfUu78cNqbrsRFB7iiabkmjMC43qNPqLRPOErj1znqBTB2IONelYvBe7BWENv+7V qAEGBm3q0DJVa8p4lVWpVmXavgx7pP0JEMyo1TEdiLfshYVtPfag6cSmAWHMN1IXGsp6 weZzU3z4sYuPOnlVVmx4syq6etpmsgBbKsAtaRXDF4KpV32DsZn4hlg4vKnUQP4WFpS3 Rr8GJww5Zwh8shWTaKhcvV+Ms1/XAnu3sKHDGGRZKSyUkuIiFo81pmU/bOtX13utoTWp bkog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=L00RFt4h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 91si168614edr.457.2020.08.05.12.28.48; Wed, 05 Aug 2020 12:29:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=L00RFt4h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728898AbgHET2p (ORCPT + 99 others); Wed, 5 Aug 2020 15:28:45 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:54994 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728599AbgHERL0 (ORCPT ); Wed, 5 Aug 2020 13:11:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1596647485; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=nsePUp5bwDzPkeGMt9DhuoyzhxlPvsYKTxQ+QKtzY8M=; b=L00RFt4hyZphKEkzOLKgLtwumDIYN0ka0yiSzXi3Lxkxo0DUCDZZ6eKg3TGRf6zfhXvtWR 7gKepz9QStTnZtbGqHcA+9dtlFWmw3DOgS1X9FDgfroL9Vz2G3Aanpvhw7LL70/NH0wb8d n/mECgc9MFl+7dZNNT+mCUELluNK8hg= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-167-qXjyYV8GOJ63X808JCdliQ-1; Wed, 05 Aug 2020 09:45:04 -0400 X-MC-Unique: qXjyYV8GOJ63X808JCdliQ-1 Received: by mail-wr1-f72.google.com with SMTP id b13so10876161wrq.19 for ; Wed, 05 Aug 2020 06:45:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=nsePUp5bwDzPkeGMt9DhuoyzhxlPvsYKTxQ+QKtzY8M=; b=dJLeetCIT4mmlidH0LsgEQG4gbOUXaLw0e/e/vr9EwxkWUGAXEGkCVCYq8wrS9Ow4j KzTd7T9FayoZB7Db+LO3XtozH+mgpTamIjaeDW/USAvBtckaQvK4B7ZTwUC7YglrqIKx hMVdsQ4cVvmLQap+JeDQN7c6KQHWOUvULsdUoIKhTsPElikuv49GfU5IWYfgIzOdAPnI wTO78MZjFnmLUNd6nSlJ2sqLL02+9VATxEzDQi8bvSx8ioHlILzHeewx0WiWdXDWgqlE pC1tNUOsFgcEqstXHcKjiL8p3vC4Xr0cYbZBcC9NFEwwxN+6U1i+26myo5YEejQhwCTI TjMw== X-Gm-Message-State: AOAM533ziHBw5S1Ct5sKP+IEhx1WA2kq/i9ERs1thcxgM3DAqKSpDq9T LvhmQz9j/6VxBiwdRA9nhkR1dCmS1grCt3dNiWVeaQoqDBW5EuNt0+UmmfPaV/jfCCJgU12e+2y jZ2xI0/dAzGM1+Iyr+tHWpxxy X-Received: by 2002:a1c:96c5:: with SMTP id y188mr3540959wmd.72.1596635102978; Wed, 05 Aug 2020 06:45:02 -0700 (PDT) X-Received: by 2002:a1c:96c5:: with SMTP id y188mr3540940wmd.72.1596635102770; Wed, 05 Aug 2020 06:45:02 -0700 (PDT) Received: from redhat.com (bzq-79-178-123-8.red.bezeqint.net. [79.178.123.8]) by smtp.gmail.com with ESMTPSA id e16sm2907812wrx.30.2020.08.05.06.45.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2020 06:45:02 -0700 (PDT) Date: Wed, 5 Aug 2020 09:45:00 -0400 From: "Michael S. Tsirkin" To: linux-kernel@vger.kernel.org Cc: Cornelia Huck , Jason Wang , "David S. Miller" , Jakub Kicinski , virtualization@lists.linux-foundation.org, netdev@vger.kernel.org Subject: [PATCH v3 38/38] virtio_net: use LE accessors for speed/duplex Message-ID: <20200805134226.1106164-39-mst@redhat.com> References: <20200805134226.1106164-1-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200805134226.1106164-1-mst@redhat.com> X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Speed and duplex config fields depend on VIRTIO_NET_F_SPEED_DUPLEX which being 63>31 depends on VIRTIO_F_VERSION_1. Accordingly, use LE accessors for these fields. Reported-by: Cornelia Huck Signed-off-by: Michael S. Tsirkin --- drivers/net/virtio_net.c | 9 +++++---- include/uapi/linux/virtio_net.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index ba38765dc490..0934b1ec5320 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -2264,12 +2264,13 @@ static void virtnet_update_settings(struct virtnet_info *vi) if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_SPEED_DUPLEX)) return; - speed = virtio_cread32(vi->vdev, offsetof(struct virtio_net_config, - speed)); + virtio_cread_le(vi->vdev, struct virtio_net_config, speed, &speed); + if (ethtool_validate_speed(speed)) vi->speed = speed; - duplex = virtio_cread8(vi->vdev, offsetof(struct virtio_net_config, - duplex)); + + virtio_cread_le(vi->vdev, struct virtio_net_config, duplex, &duplex); + if (ethtool_validate_duplex(duplex)) vi->duplex = duplex; } diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h index 27d996f29dd1..3f55a4215f11 100644 --- a/include/uapi/linux/virtio_net.h +++ b/include/uapi/linux/virtio_net.h @@ -99,7 +99,7 @@ struct virtio_net_config { * speed, in units of 1Mb. All values 0 to INT_MAX are legal. * Any other value stands for unknown. */ - __virtio32 speed; + __le32 speed; /* * 0x00 - half duplex * 0x01 - full duplex -- MST