From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <bruce.richardson@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id C6376532C
 for <dev@dpdk.org>; Mon, 13 Jun 2016 12:04:11 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga103.fm.intel.com with ESMTP; 13 Jun 2016 03:04:11 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.26,466,1459839600"; d="scan'208";a="826905568"
Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.220.58])
 by orsmga003.jf.intel.com with SMTP; 13 Jun 2016 03:04:09 -0700
Received: by  (sSMTP sendmail emulation); Mon, 13 Jun 2016 11:04:08 +0025
Date: Mon, 13 Jun 2016 11:04:07 +0100
From: Bruce Richardson <bruce.richardson@intel.com>
To: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Cc: helin.zhang@intel.com, jingjing.wu@intel.com, dev@dpdk.org
Message-ID: <20160613100407.GA13464@bricha3-MOBL3>
References: <1464006315-9537-1-git-send-email-slawomirx.mrozowicz@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1464006315-9537-1-git-send-email-slawomirx.mrozowicz@intel.com>
Organization: Intel Research and =?iso-8859-1?Q?De=ACvel?=
 =?iso-8859-1?Q?opment?= Ireland Ltd.
User-Agent: Mutt/1.5.23 (2014-03-12)
Subject: Re: [dpdk-dev] [PATCH] i40e: Unchecked return value
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Jun 2016 10:04:12 -0000

On Mon, May 23, 2016 at 02:25:15PM +0200, Slawomir Mrozowicz wrote:
> Calling i40e_switch_tx_queue without checking return value.
> Fixed by add warning log information if return failed.
> 
> Fixes: 71d35259ff67 ("i40e: tear down flow director")
> Coverity ID 13208
> 
> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
> ---
>  drivers/net/i40e/i40e_fdir.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
> index 8aa41e5..d0bdf2c 100644
> --- a/drivers/net/i40e/i40e_fdir.c
> +++ b/drivers/net/i40e/i40e_fdir.c
> @@ -288,11 +288,14 @@ i40e_fdir_teardown(struct i40e_pf *pf)
>  {
>  	struct i40e_hw *hw = I40E_PF_TO_HW(pf);
>  	struct i40e_vsi *vsi;
> +	int err = I40E_SUCCESS;
>  
>  	vsi = pf->fdir.fdir_vsi;
>  	if (!vsi)
>  		return;
> -	i40e_switch_tx_queue(hw, vsi->base_queue, FALSE);
> +	err = i40e_switch_tx_queue(hw, vsi->base_queue, FALSE);
> +	if (err)
> +		PMD_DRV_LOG(WARNING, "Failed to do FDIR TX switch off.");
>  	i40e_switch_rx_queue(hw, vsi->base_queue, FALSE);

So, we have a failure when we can't swtich off flow director in a queue. How
serious is this? Is it something that can be completely ignored, or is printing
a warning sufficient? What, if anything, should the user do about the warning?

I'm just concerned that this patch doesn't seem to help the overall usability
of DPDK much. We print a warning, which will probably be of absolutely no use
to the user at all. It doesn't tell the user what the failure will mean in
practical terms - will the failure mean that transmit won't work, that packets
may be corrupted, may go out on a wrong queue, etc., or how the user can prevent
the error from happening in the future.

Please review patch to ensure this is the best way to fix this error - if any
fix is needed. If the error doesn't cause any problematic user effects, then
just mark the coverity issue as a false positive (or does it work casting the
function to (void) as it is called?). If the error does have problematic effects,
please provide useful information to the user.

/Bruce