netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Jacob Keller <jacob.e.keller@intel.com>,
	netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
	Andrew Bowers <andrewx.bowers@intel.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next v2 07/11] i40e: remove out-of-range comparisons in i40e_validate_cloud_filter
Date: Fri,  3 May 2019 16:09:35 -0700	[thread overview]
Message-ID: <20190503230939.6739-8-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <20190503230939.6739-1-jeffrey.t.kirsher@intel.com>

From: Jacob Keller <jacob.e.keller@intel.com>

The function i40e_validate_cloud_filter checks that the destination and
source port numbers are valid by attempting to ensure that the number is
non-zero and no larger than 0xFFFF. However, the types for the dst_port
and src_port variable are __be16 which by definition cannot be larger
than 0xFFFF

Since these values cannot be larger than 2 bytes, the check to see if
they exceed 0xFFFF is meaningless.

One might consider these checks as some sort of defensive coding, in
case the type was later changed. However, these checks also byte-swap
the value before comparison using be16_to_cpu, which will truncate the
values to 16bits anyways. Additionally, changing the type would require
updating the opcodes to support new data layout of these virtchnl
commands.

Remove the check to silence the -Wtype-limits warning that was added to
GCC 8.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 24628de8e624..925ca880bea3 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -3129,7 +3129,7 @@ static int i40e_validate_cloud_filter(struct i40e_vf *vf,
 	}
 
 	if (mask.dst_port & data.dst_port) {
-		if (!data.dst_port || be16_to_cpu(data.dst_port) > 0xFFFF) {
+		if (!data.dst_port) {
 			dev_info(&pf->pdev->dev, "VF %d: Invalid Dest port\n",
 				 vf->vf_id);
 			goto err;
@@ -3137,7 +3137,7 @@ static int i40e_validate_cloud_filter(struct i40e_vf *vf,
 	}
 
 	if (mask.src_port & data.src_port) {
-		if (!data.src_port || be16_to_cpu(data.src_port) > 0xFFFF) {
+		if (!data.src_port) {
 			dev_info(&pf->pdev->dev, "VF %d: Invalid Source port\n",
 				 vf->vf_id);
 			goto err;
-- 
2.20.1


  parent reply	other threads:[~2019-05-03 23:09 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-03 23:09 [net-next v2 00/11][pull request] 40GbE Intel Wired LAN Driver Updates 2019-05-03 Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 01/11] i40e: Fix for allowing too many MDD events on VF Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 02/11] i40e: change behavior on PF in response to MDD event Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 03/11] i40e: remove error msg when vf with port vlan tries to remove vlan 0 Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 04/11] i40e: ShadowRAM checksum calculation change Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 05/11] i40e: Report advertised link modes on 40GBase_LR4, CR4 and fibre Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 06/11] i40e: Further implementation of LLDP Jeff Kirsher
2019-05-03 23:09 ` Jeff Kirsher [this message]
2019-05-03 23:09 ` [net-next v2 08/11] i40e: update version number Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 09/11] i40e: fix misleading message about promisc setting on un-trusted VF Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 10/11] i40e: print PCI vendor and device ID during probe Jeff Kirsher
2019-05-03 23:09 ` [net-next v2 11/11] i40e: Introduce recovery mode support Jeff Kirsher
2019-05-04 11:35   ` Jakub Kicinski
2019-05-05  1:23     ` Jeff Kirsher
2019-05-07 18:51     ` Michael, Alice
2019-05-07 21:22       ` Jakub Kicinski
2019-05-04  3:32 ` [net-next v2 00/11][pull request] 40GbE Intel Wired LAN Driver Updates 2019-05-03 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=20190503230939.6739-8-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=andrewx.bowers@intel.com \
    --cc=davem@davemloft.net \
    --cc=jacob.e.keller@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.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).