* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
@ 2019-11-13 19:28 Jeff Kirsher
2019-11-15 1:17 ` Bowers, AndrewX
2019-11-19 19:27 ` Bowers, AndrewX
0 siblings, 2 replies; 7+ messages in thread
From: Jeff Kirsher @ 2019-11-13 19:28 UTC (permalink / raw)
To: intel-wired-lan
From: Brett Creeley <brett.creeley@intel.com>
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>
---
.../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 6d75a35acb67..275702d8cf7a 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2321,6 +2321,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_queue >= BIT(I40E_MAX_VF_QUEUES) ||
+ vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
+ return false;
+
+ return true;
+}
+
/**
* i40e_vc_enable_queues_msg
* @vf: pointer to the VF info
@@ -2346,7 +2362,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;
}
@@ -2408,9 +2424,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.23.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-13 19:28 [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation Jeff Kirsher
@ 2019-11-15 1:17 ` Bowers, AndrewX
2019-11-15 23:52 ` Brown, Aaron F
2019-11-19 19:27 ` Bowers, AndrewX
1 sibling, 1 reply; 7+ messages in thread
From: Bowers, AndrewX @ 2019-11-15 1:17 UTC (permalink / raw)
To: intel-wired-lan
Comments inline
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Jeff Kirsher
> Sent: Wednesday, November 13, 2019 11:28 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> <arkady.gilinsky@harmonicinc.com>
> Subject: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
> validation
>
> From: Brett Creeley <brett.creeley@intel.com>
>
> 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>
> ---
> .../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 6d75a35acb67..275702d8cf7a 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> @@ -2321,6 +2321,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_queue >= BIT(I40E_MAX_VF_QUEUES) ||
> + vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
Should these not be "rx_queues" and "tx_queues"?
> + return false;
> +
> + return true;
> +}
> +
> /**
> * i40e_vc_enable_queues_msg
> * @vf: pointer to the VF info
> @@ -2346,7 +2362,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;
> }
> @@ -2408,9 +2424,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.23.0
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-15 1:17 ` Bowers, AndrewX
@ 2019-11-15 23:52 ` Brown, Aaron F
2019-11-16 0:08 ` Bowers, AndrewX
0 siblings, 1 reply; 7+ messages in thread
From: Brown, Aaron F @ 2019-11-15 23:52 UTC (permalink / raw)
To: intel-wired-lan
This patch is causing a compile error for me. If I pop revert it my compile error goes away:
---------------------------------------------------------------
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c: In function 'i40e_vc_validate_vqs_bitmaps':
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2333:9: error: 'struct virtchnl_queue_select' has no member named 'rx_queue'
vqs->rx_queue >= BIT(I40E_MAX_VF_QUEUES) ||
^
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2334:9: error: 'struct virtchnl_queue_select' has no member named 'tx_queue'
vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
^
make[6]: *** [drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [drivers/net/ethernet/intel/i40e] Error 2
make[4]: *** [drivers/net/ethernet/intel] Error 2
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [drivers/net/ethernet] Error 2
make[2]: *** [drivers/net] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Bowers, AndrewX
> Sent: Thursday, November 14, 2019 5:17 PM
> To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; intel-wired-
> lan at lists.osuosl.org
> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> <arkady.gilinsky@harmonicinc.com>
> Subject: Re: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
> validation
>
> Comments inline
>
> > -----Original Message-----
> > From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> > Behalf Of Jeff Kirsher
> > Sent: Wednesday, November 13, 2019 11:28 AM
> > To: intel-wired-lan at lists.osuosl.org
> > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> > <arkady.gilinsky@harmonicinc.com>
> > Subject: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
> > validation
> >
> > From: Brett Creeley <brett.creeley@intel.com>
> >
> > 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>
> > ---
> > .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 22 +++++++++++++++----
> > 1 file changed, 18 insertions(+), 4 deletions(-)
> >
<snip>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-15 23:52 ` Brown, Aaron F
@ 2019-11-16 0:08 ` Bowers, AndrewX
2019-11-16 2:43 ` Brandeburg, Jesse
0 siblings, 1 reply; 7+ messages in thread
From: Bowers, AndrewX @ 2019-11-16 0:08 UTC (permalink / raw)
To: intel-wired-lan
I was getting the same thing. Taking the compiler's suggestion and changing _queue to _queues and it compiles but nobody responded to my comments.
> -----Original Message-----
> From: Brown, Aaron F
> Sent: Friday, November 15, 2019 3:53 PM
> To: Bowers, AndrewX <andrewx.bowers@intel.com>; Kirsher, Jeffrey T
> <jeffrey.t.kirsher@intel.com>; intel-wired-lan at lists.osuosl.org
> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> <arkady.gilinsky@harmonicinc.com>
> Subject: RE: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
> validation
>
> This patch is causing a compile error for me. If I pop revert it my compile
> error goes away:
> ---------------------------------------------------------------
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c: In function
> 'i40e_vc_validate_vqs_bitmaps':
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2333:9: error: 'struct
> virtchnl_queue_select' has no member named 'rx_queue'
> vqs->rx_queue >= BIT(I40E_MAX_VF_QUEUES) ||
> ^
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2334:9: error: 'struct
> virtchnl_queue_select' has no member named 'tx_queue'
> vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
> ^
> make[6]: *** [drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.o] Error 1
> make[6]: *** Waiting for unfinished jobs....
> make[5]: *** [drivers/net/ethernet/intel/i40e] Error 2
> make[4]: *** [drivers/net/ethernet/intel] Error 2
> make[4]: *** Waiting for unfinished jobs....
> make[3]: *** [drivers/net/ethernet] Error 2
> make[2]: *** [drivers/net] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [sub-make] Error 2
>
> > -----Original Message-----
> > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
> > Of Bowers, AndrewX
> > Sent: Thursday, November 14, 2019 5:17 PM
> > To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; intel-wired-
> > lan at lists.osuosl.org
> > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> > <arkady.gilinsky@harmonicinc.com>
> > Subject: Re: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select
> > bitmap validation
> >
> > Comments inline
> >
> > > -----Original Message-----
> > > From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> > > Behalf Of Jeff Kirsher
> > > Sent: Wednesday, November 13, 2019 11:28 AM
> > > To: intel-wired-lan at lists.osuosl.org
> > > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> > > <arkady.gilinsky@harmonicinc.com>
> > > Subject: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select
> > > bitmap validation
> > >
> > > From: Brett Creeley <brett.creeley@intel.com>
> > >
> > > 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>
> > > ---
> > > .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 22 +++++++++++++++----
> > > 1 file changed, 18 insertions(+), 4 deletions(-)
> > >
> <snip>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-16 0:08 ` Bowers, AndrewX
@ 2019-11-16 2:43 ` Brandeburg, Jesse
2019-11-18 18:33 ` Jeff Kirsher
0 siblings, 1 reply; 7+ messages in thread
From: Brandeburg, Jesse @ 2019-11-16 2:43 UTC (permalink / raw)
To: intel-wired-lan
Brett is out on vacation but you?re right Andrew, the code should use plural variables.
--
Jesse Brandeburg
> On Nov 15, 2019, at 16:08, Bowers, AndrewX <andrewx.bowers@intel.com> wrote:
>
> I was getting the same thing. Taking the compiler's suggestion and changing _queue to _queues and it compiles but nobody responded to my comments.
>
>> -----Original Message-----
>> From: Brown, Aaron F
>> Sent: Friday, November 15, 2019 3:53 PM
>> To: Bowers, AndrewX <andrewx.bowers@intel.com>; Kirsher, Jeffrey T
>> <jeffrey.t.kirsher@intel.com>; intel-wired-lan at lists.osuosl.org
>> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
>> <arkady.gilinsky@harmonicinc.com>
>> Subject: RE: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
>> validation
>>
>> This patch is causing a compile error for me. If I pop revert it my compile
>> error goes away:
>> ---------------------------------------------------------------
>> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c: In function
>> 'i40e_vc_validate_vqs_bitmaps':
>> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2333:9: error: 'struct
>> virtchnl_queue_select' has no member named 'rx_queue'
>> vqs->rx_queue >= BIT(I40E_MAX_VF_QUEUES) ||
>> ^
>> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2334:9: error: 'struct
>> virtchnl_queue_select' has no member named 'tx_queue'
>> vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
>> ^
>> make[6]: *** [drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.o] Error 1
>> make[6]: *** Waiting for unfinished jobs....
>> make[5]: *** [drivers/net/ethernet/intel/i40e] Error 2
>> make[4]: *** [drivers/net/ethernet/intel] Error 2
>> make[4]: *** Waiting for unfinished jobs....
>> make[3]: *** [drivers/net/ethernet] Error 2
>> make[2]: *** [drivers/net] Error 2
>> make[1]: *** [drivers] Error 2
>> make: *** [sub-make] Error 2
>>
>>> -----Original Message-----
>>> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
>>> Of Bowers, AndrewX
>>> Sent: Thursday, November 14, 2019 5:17 PM
>>> To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; intel-wired-
>>> lan at lists.osuosl.org
>>> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
>>> <arkady.gilinsky@harmonicinc.com>
>>> Subject: Re: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select
>>> bitmap validation
>>>
>>> Comments inline
>>>
>>>> -----Original Message-----
>>>> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
>>>> Behalf Of Jeff Kirsher
>>>> Sent: Wednesday, November 13, 2019 11:28 AM
>>>> To: intel-wired-lan at lists.osuosl.org
>>>> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
>>>> <arkady.gilinsky@harmonicinc.com>
>>>> Subject: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select
>>>> bitmap validation
>>>>
>>>> From: Brett Creeley <brett.creeley@intel.com>
>>>>
>>>> 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>
>>>> ---
>>>> .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 22 +++++++++++++++----
>>>> 1 file changed, 18 insertions(+), 4 deletions(-)
>>>>
>> <snip>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-16 2:43 ` Brandeburg, Jesse
@ 2019-11-18 18:33 ` Jeff Kirsher
0 siblings, 0 replies; 7+ messages in thread
From: Jeff Kirsher @ 2019-11-18 18:33 UTC (permalink / raw)
To: intel-wired-lan
On Fri, 2019-11-15 at 18:43 -0800, Brandeburg, Jesse wrote:
> Brett is out on vacation but you?re right Andrew, the code should use
> plural variables.
Yep, it was my fault. I fat fingered the typo when creating the patch.
I have fixed the patch on my tree, just have not sent an updated patch
to IWL yet, to properly reflect the change.
>
> > On Nov 15, 2019, at 16:08, Bowers, AndrewX <
> > andrewx.bowers at intel.com> wrote:
> >
> > I was getting the same thing. Taking the compiler's suggestion and
> > changing _queue to _queues and it compiles but nobody responded to
> > my comments.
> >
> > > -----Original Message-----
> > > From: Brown, Aaron F
> > > Sent: Friday, November 15, 2019 3:53 PM
> > > To: Bowers, AndrewX <andrewx.bowers@intel.com>; Kirsher, Jeffrey
> > > T
> > > <jeffrey.t.kirsher@intel.com>; intel-wired-lan at lists.osuosl.org
> > > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> > > <arkady.gilinsky@harmonicinc.com>
> > > Subject: RE: [Intel-wired-lan] [PATCH] i40e: Fix
> > > virtchnl_queue_select bitmap
> > > validation
> > >
> > > This patch is causing a compile error for me. If I pop revert it
> > > my compile
> > > error goes away:
> > > ---------------------------------------------------------------
> > > drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c: In function
> > > 'i40e_vc_validate_vqs_bitmaps':
> > > drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2333:9: error:
> > > 'struct
> > > virtchnl_queue_select' has no member named 'rx_queue'
> > > vqs->rx_queue >= BIT(I40E_MAX_VF_QUEUES) ||
> > > ^
> > > drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:2334:9: error:
> > > 'struct
> > > virtchnl_queue_select' has no member named 'tx_queue'
> > > vqs->tx_queue >= BIT(I40E_MAX_VF_QUEUES))
> > > ^
> > > make[6]: *** [drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.o]
> > > Error 1
> > > make[6]: *** Waiting for unfinished jobs....
> > > make[5]: *** [drivers/net/ethernet/intel/i40e] Error 2
> > > make[4]: *** [drivers/net/ethernet/intel] Error 2
> > > make[4]: *** Waiting for unfinished jobs....
> > > make[3]: *** [drivers/net/ethernet] Error 2
> > > make[2]: *** [drivers/net] Error 2
> > > make[1]: *** [drivers] Error 2
> > > make: *** [sub-make] Error 2
> > >
> > > > -----Original Message-----
> > > > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On
> > > > Behalf
> > > > Of Bowers, AndrewX
> > > > Sent: Thursday, November 14, 2019 5:17 PM
> > > > To: Kirsher, Jeffrey T <jeffrey.t.kirsher@intel.com>; intel-
> > > > wired-
> > > > lan at lists.osuosl.org
> > > > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> > > > <arkady.gilinsky@harmonicinc.com>
> > > > Subject: Re: [Intel-wired-lan] [PATCH] i40e: Fix
> > > > virtchnl_queue_select
> > > > bitmap validation
> > > >
> > > > Comments inline
> > > >
> > > > > -----Original Message-----
> > > > > From: Intel-wired-lan [mailto:
> > > > > intel-wired-lan-bounces at osuosl.org] On
> > > > > Behalf Of Jeff Kirsher
> > > > > Sent: Wednesday, November 13, 2019 11:28 AM
> > > > > To: intel-wired-lan at lists.osuosl.org
> > > > > Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady
> > > > > Gilinksky
> > > > > <arkady.gilinsky@harmonicinc.com>
> > > > > Subject: [Intel-wired-lan] [PATCH] i40e: Fix
> > > > > virtchnl_queue_select
> > > > > bitmap validation
> > > > >
> > > > > From: Brett Creeley <brett.creeley@intel.com>
> > > > >
> > > > > 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 at harmonicinc.com>
> > > > > Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> > > > > ---
> > > > > .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 22
> > > > > +++++++++++++++----
> > > > > 1 file changed, 18 insertions(+), 4 deletions(-)
> > > > >
> > > <snip>
> > _______________________________________________
> > Intel-wired-lan mailing list
> > Intel-wired-lan at osuosl.org
> > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20191118/fcb4ade1/attachment.asc>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation
2019-11-13 19:28 [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation Jeff Kirsher
2019-11-15 1:17 ` Bowers, AndrewX
@ 2019-11-19 19:27 ` Bowers, AndrewX
1 sibling, 0 replies; 7+ messages in thread
From: Bowers, AndrewX @ 2019-11-19 19:27 UTC (permalink / raw)
To: intel-wired-lan
> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Jeff Kirsher
> Sent: Wednesday, November 13, 2019 11:28 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Creeley, Brett <brett.creeley@intel.com>; Arkady Gilinksky
> <arkady.gilinsky@harmonicinc.com>
> Subject: [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap
> validation
>
> From: Brett Creeley <brett.creeley@intel.com>
>
> 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>
> ---
> .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 22 +++++++++++++++----
> 1 file changed, 18 insertions(+), 4 deletions(-)
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-11-19 19:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-13 19:28 [Intel-wired-lan] [PATCH] i40e: Fix virtchnl_queue_select bitmap validation Jeff Kirsher
2019-11-15 1:17 ` Bowers, AndrewX
2019-11-15 23:52 ` Brown, Aaron F
2019-11-16 0:08 ` Bowers, AndrewX
2019-11-16 2:43 ` Brandeburg, Jesse
2019-11-18 18:33 ` Jeff Kirsher
2019-11-19 19:27 ` Bowers, AndrewX
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.