All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Arkady Gilinksky <arkady.gilinsky@harmonicinc.com>,
	Brett Creeley <brett.creeley@intel.com>,
	Andrew Bowers <andrewx.bowers@intel.com>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 38/90] i40e: Fix virtchnl_queue_select bitmap validation
Date: Mon,  3 Feb 2020 16:19:41 +0000	[thread overview]
Message-ID: <20200203161922.708588217@linuxfoundation.org> (raw)
In-Reply-To: <20200203161917.612554987@linuxfoundation.org>

From: Brett Creeley <brett.creeley@intel.com>

[ Upstream commit d9d6a9aed3f66f8ce5fa3ca6ca26007d75032296 ]

Currently in i40e_vc_disable_queues_msg() we are incorrectly
validating the virtchnl queue select bitmaps. The
virtchnl_queue_select rx_queues and tx_queue bitmap is being
compared against ICE_MAX_VF_QUEUES, but the problem is that
these bitmaps can have a value greater than I40E_MAX_VF_QUEUES.
Fix this by comparing the bitmaps against BIT(I40E_MAX_VF_QUEUES).

Also, add the function i40e_vc_validate_vqs_bitmaps() that checks to see
if both virtchnl_queue_select bitmaps are empty along with checking that
the bitmaps only have valid bits set. This function can then be used in
both the queue enable and disable flows.

Suggested-by: Arkady Gilinksky <arkady.gilinsky@harmonicinc.com>
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../ethernet/intel/i40e/i40e_virtchnl_pf.c    | 22 +++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 3d24408388226..3515ace0f0201 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2322,6 +2322,22 @@ static int i40e_ctrl_vf_rx_rings(struct i40e_vsi *vsi, unsigned long q_map,
 	return ret;
 }
 
+/**
+ * i40e_vc_validate_vqs_bitmaps - validate Rx/Tx queue bitmaps from VIRTHCHNL
+ * @vqs: virtchnl_queue_select structure containing bitmaps to validate
+ *
+ * Returns true if validation was successful, else false.
+ */
+static bool i40e_vc_validate_vqs_bitmaps(struct virtchnl_queue_select *vqs)
+{
+	if ((!vqs->rx_queues && !vqs->tx_queues) ||
+	    vqs->rx_queues >= BIT(I40E_MAX_VF_QUEUES) ||
+	    vqs->tx_queues >= BIT(I40E_MAX_VF_QUEUES))
+		return false;
+
+	return true;
+}
+
 /**
  * i40e_vc_enable_queues_msg
  * @vf: pointer to the VF info
@@ -2347,7 +2363,7 @@ static int i40e_vc_enable_queues_msg(struct i40e_vf *vf, u8 *msg)
 		goto error_param;
 	}
 
-	if ((0 == vqs->rx_queues) && (0 == vqs->tx_queues)) {
+	if (i40e_vc_validate_vqs_bitmaps(vqs)) {
 		aq_ret = I40E_ERR_PARAM;
 		goto error_param;
 	}
@@ -2409,9 +2425,7 @@ static int i40e_vc_disable_queues_msg(struct i40e_vf *vf, u8 *msg)
 		goto error_param;
 	}
 
-	if ((vqs->rx_queues == 0 && vqs->tx_queues == 0) ||
-	    vqs->rx_queues > I40E_MAX_VF_QUEUES ||
-	    vqs->tx_queues > I40E_MAX_VF_QUEUES) {
+	if (i40e_vc_validate_vqs_bitmaps(vqs)) {
 		aq_ret = I40E_ERR_PARAM;
 		goto error_param;
 	}
-- 
2.20.1




  parent reply	other threads:[~2020-02-03 16:41 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-03 16:19 [PATCH 5.4 00/90] 5.4.18-stable review Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 01/90] vfs: fix do_last() regression Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 02/90] cifs: fix soft mounts hanging in the reconnect code Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 03/90] x86/resctrl: Fix a deadlock due to inaccurate reference Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 04/90] x86/resctrl: Fix use-after-free when deleting resource groups Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 05/90] x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 06/90] e1000e: Drop unnecessary __E1000_DOWN bit twiddling Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 07/90] e1000e: Revert "e1000e: Make watchdog use delayed work" Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 08/90] gfs2: Another gfs2_find_jhead fix Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 09/90] perf c2c: Fix return type for histogram sorting comparision functions Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 10/90] PM / devfreq: Add new name attribute for sysfs Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 11/90] tools lib: Fix builds when glibc contains strlcpy() Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 12/90] arm64: kbuild: remove compressed images on make ARCH=arm64 (dist)clean Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 13/90] mm/mempolicy.c: fix out of bounds write in mpol_parse_str() Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 14/90] reiserfs: Fix memory leak of journal device string Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 15/90] media: digitv: dont continue if remote control state cant be read Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 16/90] media: af9005: uninitialized variable printked Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 17/90] media: vp7045: do not read uninitialized values if usb transfer fails Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 18/90] media: gspca: zero usb_buf Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 19/90] media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0 Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 20/90] tomoyo: Use atomic_t for statistics counter Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 21/90] ttyprintk: fix a potential deadlock in interrupt context issue Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 22/90] Bluetooth: Fix race condition in hci_release_sock() Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 23/90] cgroup: Prevent double killing of css when enabling threaded cgroup Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 24/90] clk: sunxi-ng: v3s: Fix incorrect number of hw_clks Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 25/90] arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 26/90] ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 27/90] ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 28/90] ARM: dts: beagle-x15-common: Model 5V0 regulator Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 29/90] soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 30/90] tools lib traceevent: Fix memory leakage in filter_event Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 31/90] rseq: Unregister rseq for clone CLONE_VM Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 32/90] clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 33/90] clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 34/90] mac80211: mesh: restrict airtime metric to peered established plinks Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 35/90] clk: mmp2: Fix the order of timer mux parents Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 36/90] ASoC: rt5640: Fix NULL dereference on module unload Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 37/90] s390/zcrypt: move ap device reset from bus to driver code Greg Kroah-Hartman
2020-02-03 16:19 ` Greg Kroah-Hartman [this message]
2020-02-03 16:19 ` [PATCH 5.4 39/90] ixgbevf: Remove limit of 10 entries for unicast filter list Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 40/90] ixgbe: Fix calculation of queue with VFs and flow director on interface flap Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 41/90] igb: Fix SGMII SFP module discovery for 100FX/LX Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 42/90] iavf: remove current MAC address filter on VF reset Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 43/90] platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 44/90] platform/x86: intel_pmc_core: update Comet Lake platform driver Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 45/90] ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 46/90] ASoC: hdac_hda: Fix error in driver removal after failed probe Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 47/90] ASoC: sti: fix possible sleep-in-atomic Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 48/90] qmi_wwan: Add support for Quectel RM500Q Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 49/90] parisc: Use proper printk format for resource_size_t Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 50/90] lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 51/90] wireless: fix enabling channel 12 for custom regulatory domain Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 52/90] cfg80211: Fix radar event during another phy CAC Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 53/90] mac80211: Fix TKIP replay protection immediately after key setup Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 54/90] wireless: wext: avoid gcc -O3 warning Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 55/90] perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family Greg Kroah-Hartman
2020-02-03 16:19 ` [PATCH 5.4 56/90] perf/x86/intel/uncore: Remove PCIe3 unit for SNR Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 57/90] riscv: delete temporary files Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 58/90] riscv: Less inefficient gcc tishift helpers (and export their symbols) Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 59/90] XArray: Fix xas_pause at ULONG_MAX Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 60/90] iwlwifi: pcie: allocate smaller dev_cmd for TX headers Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 61/90] iwlwifi: mvm: fix NVM check for 3168 devices Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 62/90] iwlwifi: Dont ignore the cap field upon mcc update Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 63/90] iwlwifi: dbg: force stop the debug monitor HW Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 64/90] Input: evdev - convert kzalloc()/vzalloc() to kvzalloc() Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 65/90] Input: aiptek - use descriptors of current altsetting Greg Kroah-Hartman
2020-02-04  8:11   ` Johan Hovold
2020-02-04 10:03     ` Greg Kroah-Hartman
2020-02-04 10:18       ` Johan Hovold
2020-02-05  9:28         ` Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 66/90] ARM: dts: am335x-boneblack-common: fix memory size Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 67/90] vti[6]: fix packet tx through bpf_redirect() Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 68/90] xfrm interface: " Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 69/90] xfrm: interface: do not confirm neighbor when do pmtu update Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 70/90] Input: max77650-onkey - add of_match table Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 71/90] scsi: fnic: do not queue commands during fwreset Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 72/90] ARM: 8955/1: virt: Relax arch timer version check during early boot Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 73/90] led: max77650: add of_match table Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 74/90] tee: optee: Fix compilation issue with nommu Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 75/90] r8152: get default setting of WOL before initializing Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 76/90] r8152: disable U2P3 for RTL8153B Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 77/90] r8152: Disable PLA MCU clock speed down Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 78/90] r8152: disable test IO for RTL8153B Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 79/90] r8152: avoid the MCU to clear the lanwake Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 80/90] r8152: disable DelayPhyPwrChg Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 81/90] ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1 Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 82/90] qlcnic: Fix CPU soft lockup while collecting firmware dump Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 83/90] powerpc/fsl/dts: add fsl,erratum-a011043 Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 84/90] net/fsl: treat fsl,erratum-a011043 Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 85/90] net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 86/90] seq_tab_next() should increase position index Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 87/90] l2t_seq_next " Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 88/90] netfilter: conntrack: sctp: use distinct states for new SCTP connections Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 89/90] netfilter: nf_tables_offload: fix check the chain offload flag Greg Kroah-Hartman
2020-02-03 16:20 ` [PATCH 5.4 90/90] net: Fix skb->csum update in inet_proto_csum_replace16() Greg Kroah-Hartman
     [not found] ` <20200203161917.612554987-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2020-02-03 21:40   ` [PATCH 5.4 00/90] 5.4.18-stable review Jon Hunter
2020-02-03 21:40     ` Jon Hunter
2020-02-04 14:37 ` Guenter Roeck
2020-02-05 15:06   ` Greg Kroah-Hartman
2020-02-05 16:25     ` Guenter Roeck
2020-02-05 19:29       ` Greg Kroah-Hartman
2020-02-05 15:13   ` Greg Kroah-Hartman
2020-02-05 16:24     ` Guenter Roeck
2020-02-05 19:30       ` Greg Kroah-Hartman
2020-02-05 21:01         ` Guenter Roeck
2020-02-05 21:21           ` Greg Kroah-Hartman
2020-02-04 17:04 ` Naresh Kamboju
2020-02-04 17:20 ` Guenter Roeck
2020-02-04 21:01 ` [PATCH 5.4 61/90] iwlwifi: mvm: fix NVM check for 3168 devices Dan Moulding
2020-02-05  9:31   ` Greg KH
2020-03-13 15:13     ` Dan Moulding
2020-03-17 10:21       ` Greg KH

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=20200203161922.708588217@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andrewx.bowers@intel.com \
    --cc=arkady.gilinsky@harmonicinc.com \
    --cc=brett.creeley@intel.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.