From: Nikolay Aleksandrov <razor@blackwall.org>
To: netdev@vger.kernel.org
Cc: mst@redhat.com, roopa@cumulusnetworks.com, davem@davemloft.net,
Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Subject: [PATCH net-next 2/2] virtio_net: validate ethtool port setting and explain the user validation
Date: Sun, 7 Feb 2016 21:52:24 +0100 [thread overview]
Message-ID: <1454878344-21730-3-git-send-email-razor@blackwall.org> (raw)
In-Reply-To: <1454878344-21730-1-git-send-email-razor@blackwall.org>
From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
We should validate the port setting that we got from the user and check
if it's what we've set it to (PORT_OTHER), also add explanation that
ignoring advertising is good as long as we don't have autonegotiation.
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
---
drivers/net/virtio_net.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index c9fd52a8e6ec..fb0eae42bf39 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1386,11 +1386,13 @@ static bool virtnet_validate_ethtool_cmd(const struct ethtool_cmd *cmd)
struct ethtool_cmd diff1 = *cmd;
struct ethtool_cmd diff2 = {};
- /* advertising and cmd are usually set, ignore port because we set it */
+ /* cmd is always set so we need to clear it, validate the port type
+ * and also without autonegotiation we can ignore advertising
+ */
ethtool_cmd_speed_set(&diff1, 0);
+ diff2.port = PORT_OTHER;
diff1.advertising = 0;
diff1.duplex = 0;
- diff1.port = 0;
diff1.cmd = 0;
return !memcmp(&diff1, &diff2, sizeof(diff1));
--
2.4.3
next prev parent reply other threads:[~2016-02-07 20:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-07 20:52 [PATCH net-next 0/2] virtio_net: better ethtool setting validation Nikolay Aleksandrov
2016-02-07 20:52 ` [PATCH net-next 1/2] ethtool: make validate_speed accept all speeds between 0 and INT_MAX Nikolay Aleksandrov
2016-02-07 21:26 ` Michael S. Tsirkin
2016-02-07 20:52 ` Nikolay Aleksandrov [this message]
2016-02-07 21:26 ` [PATCH net-next 2/2] virtio_net: validate ethtool port setting and explain the user validation Michael S. Tsirkin
2016-02-11 16:56 ` [PATCH net-next 0/2] virtio_net: better ethtool setting validation David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1454878344-21730-3-git-send-email-razor@blackwall.org \
--to=razor@blackwall.org \
--cc=davem@davemloft.net \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=nikolay@cumulusnetworks.com \
--cc=roopa@cumulusnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).