DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Varghese, Vipin" <vipin.varghese@intel.com>
To: "Zhang, Qi Z" <qi.z.zhang@intel.com>,
	Kevin Traynor <ktraynor@redhat.com>,
	 "Wang, Haiyue" <haiyue.wang@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v1] net/i40e: perform basic validation on the VF messages
Date: Mon, 14 Jan 2019 08:33:54 +0000	[thread overview]
Message-ID: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2F21D0@BGSMSX101.gar.corp.intel.com> (raw)
In-Reply-To: <039ED4275CED7440929022BC67E706115331AC53@SHSMSX103.ccr.corp.intel.com>

Hi Qi Z Zhang,

snipped
> >
> > Hi,
> >
> > Thanks Kevin for redirecting to the maintainer. Appreciate the help.
> >
> > Thanks Qi Z Zhang for the update. But the reason for request is
> > because I did not find the update in patches for 'release notes, faq or i40e'
> documentation.
> > Hence, I was forced to assume this is known bug.
> >
> > Will wait to see an update on either release notes, faq or i40e
> documentation.
> 
> Sorry I still didn't get your point
> The issue is not a knowing issue, as a common bug, it is observed by somebody
> and report to dev team.
> So I didn't see anything we can update on the i40e documentation since the
> issue is fixed.
> And it also does not impact any user experience, (no new feature, no knowing
> issue fix) so I didn’t see the point to update release notes also.

For the last couple of months, we have been receiving queries from customers like 'security issue for Side band channel, spectre, mail box, ring communication, vhost interface etc'. As per the update 'PMD from malicious VF message attack', having this tracked in release notes, faq or i40e serves the purpose of information update. So in my humble opinion security update patch should be mentioned in documentation with working Firmware.

I will leave this community opinion of either updating in a common place or PMD for such tracking.

> 
> 
> >
> > Thanks
> > Vipin Varghese
> >
> > > -----Original Message-----
> > > From: Zhang, Qi Z
> > > Sent: Friday, January 11, 2019 6:59 PM
> > > To: Varghese, Vipin <vipin.varghese@intel.com>; Kevin Traynor
> > > <ktraynor@redhat.com>; Wang, Haiyue <haiyue.wang@intel.com>;
> > > dev@dpdk.org
> > > Subject: RE: [dpdk-dev] [PATCH v1] net/i40e: perform basic
> > > validation on the VF messages
> > >
> > > Hi Vipin:
> > >
> > > > -----Original Message-----
> > > > From: Varghese, Vipin
> > > > Sent: Friday, January 11, 2019 10:54 AM
> > > > To: Kevin Traynor <ktraynor@redhat.com>; Wang, Haiyue
> > > > <haiyue.wang@intel.com>; dev@dpdk.org; Zhang, Qi Z
> > > > <qi.z.zhang@intel.com>
> > > > Subject: RE: [dpdk-dev] [PATCH v1] net/i40e: perform basic
> > > > validation on the VF messages
> > > >
> > > > Hi Kevin,
> > > >
> > > > A question, since the patch is fixing issue for 'i40e vf'  should
> > > > not the sections for 'known limitations' or 'i40e PMD' be updated too?
> > >
> > > The patch is going to fix some issue not be recorded as knowing
> > > limitation previously, so I didn’t see the necessary to update the doc.
> > > But please let me know if I missed your point.
> > >
> > > >
> > > > Thanks
> > > > Vipin Varghese
> > > >
> > > > > -----Original Message-----
> > > > > From: dev <dev-bounces@dpdk.org> On Behalf Of Kevin Traynor
> > > > > Sent: Thursday, January 10, 2019 11:18 PM
> > > > > To: Wang, Haiyue <haiyue.wang@intel.com>; dev@dpdk.org; Zhang,
> > > > > Qi Z <qi.z.zhang@intel.com>
> > > > > Subject: Re: [dpdk-dev] [PATCH v1] net/i40e: perform basic
> > > > > validation on the VF messages
> > > > >
> > > > > On 01/10/2019 12:07 PM, Haiyue Wang wrote:
> > > > > > Do the VF message basic validation such as OPCODE message
> > > > > > length check, some special OPCODE message format check, to
> > > > > > protect the i40e PMD from malicious VF message attack.
> > > > > >
> > > > > > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > > > > >
> > > > >
> > > > > Missing Cc: stable@dpdk.org ? or there is some reason not to backport?
> > > > >
> > > > > > Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> > > > > > ---
> > > > > >  drivers/net/i40e/i40e_pf.c | 25 +++++++++++++++++++++++++
> > > > > >  1 file changed, 25 insertions(+)
> > > > > >
> > > > > > diff --git a/drivers/net/i40e/i40e_pf.c
> > > > > > b/drivers/net/i40e/i40e_pf.c index 092e0d3..d6e83e3 100644
> > > > > > --- a/drivers/net/i40e/i40e_pf.c
> > > > > > +++ b/drivers/net/i40e/i40e_pf.c
> > > > > > @@ -1295,6 +1295,7 @@
> > > > > >  	uint16_t vf_id = abs_vf_id - hw->func_caps.vf_base_id;
> > > > > >  	struct rte_pmd_i40e_mb_event_param ret_param;
> > > > > >  	bool b_op = TRUE;
> > > > > > +	int ret;
> > > > > >
> > > > > >  	if (vf_id > pf->vf_num - 1 || !pf->vfs) {
> > > > > >  		PMD_DRV_LOG(ERR, "invalid argument"); @@ -1309,6
> > > > > +1310,30 @@
> > > > > >  		return;
> > > > > >  	}
> > > > > >
> > > > > > +	/* perform basic checks on the msg */
> > > > > > +	ret = virtchnl_vc_validate_vf_msg(&vf->version, opcode, msg,
> > > > > > +msglen);
> > > > > > +
> > > > > > +	/* perform additional checks specific to this driver */
> > > > > > +	if (opcode == VIRTCHNL_OP_CONFIG_RSS_KEY) {
> > > > > > +		struct virtchnl_rss_key *vrk = (struct virtchnl_rss_key
> > > > > > +*)msg;
> > > > > > +
> > > > > > +		if (vrk->key_len != ((I40E_PFQF_HKEY_MAX_INDEX + 1)
> * 4))
> > > > > > +			ret = VIRTCHNL_ERR_PARAM;
> > > > > > +	} else if (opcode == VIRTCHNL_OP_CONFIG_RSS_LUT) {
> > > > > > +		struct virtchnl_rss_lut *vrl = (struct virtchnl_rss_lut
> > > > > > +*)msg;
> > > > > > +
> > > > > > +		if (vrl->lut_entries != ((I40E_VFQF_HLUT1_MAX_INDEX
> + 1) *
> > > > > 4))
> > > > > > +			ret = VIRTCHNL_ERR_PARAM;
> > > > > > +	}
> > > > > > +
> > > > > > +	if (ret) {
> > > > > > +		PMD_DRV_LOG(ERR, "Invalid message from VF %u,
> opcode
> > > > > %u, len %u",
> > > > > > +			    vf_id, opcode, msglen);
> > > > > > +		i40e_pf_host_send_msg_to_vf(vf, opcode,
> > > > > > +					    I40E_ERR_PARAM, NULL, 0);
> > > > > > +		return;
> > > > > > +	}
> > > > > > +
> > > > > >  	/**
> > > > > >  	 * initialise structure to send to user application
> > > > > >  	 * will return response from user in retval field
> > > > > >


  reply	other threads:[~2019-01-14  8:34 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-10 12:07 Haiyue Wang
2019-01-10 17:48 ` Kevin Traynor
2019-01-11  2:53   ` Varghese, Vipin
2019-01-11  9:34     ` Kevin Traynor
2019-01-11 13:28     ` Zhang, Qi Z
2019-01-14  2:33       ` Varghese, Vipin
2019-01-14  7:06         ` Zhang, Qi Z
2019-01-14  8:33           ` Varghese, Vipin [this message]
2019-01-14 12:54 ` Zhang, Qi Z

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=4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2F21D0@BGSMSX101.gar.corp.intel.com \
    --to=vipin.varghese@intel.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@intel.com \
    --cc=ktraynor@redhat.com \
    --cc=qi.z.zhang@intel.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).