All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Su, Simei" <simei.su@intel.com>
To: "Stillwell Jr, Paul M" <paul.m.stillwell.jr@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Ye, Xiaolong" <xiaolong.ye@intel.com>,
	"Yang, Qiming" <qiming.yang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] net/ice: fix segmentation fault for RSS init
Date: Thu, 7 Nov 2019 01:06:48 +0000	[thread overview]
Message-ID: <65F28F834D25B54B9EC1999B623071B30C481124@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <BYAPR11MB38299F572499658FF91E7CE0E0790@BYAPR11MB3829.namprd11.prod.outlook.com>

Hi, Paul

> -----Original Message-----
> From: Stillwell Jr, Paul M <paul.m.stillwell.jr@intel.com>
> Sent: Thursday, November 7, 2019 12:10 AM
> To: Su, Simei <simei.su@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Ye,
> Xiaolong <xiaolong.ye@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> Cc: dev@dpdk.org; Su, Simei <simei.su@intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2] net/ice: fix segmentation fault for RSS init
> 
> Disregard my previous email, I didn't see this one. See my comments inline.
> 
> Paul
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Simei Su
> > Sent: Wednesday, November 6, 2019 12:26 AM
> > To: Zhang, Qi Z <qi.z.zhang@intel.com>; Ye, Xiaolong
> > <xiaolong.ye@intel.com>; Yang, Qiming <qiming.yang@intel.com>
> > Cc: dev@dpdk.org; Su, Simei <simei.su@intel.com>
> > Subject: [dpdk-dev] [PATCH v2] net/ice: fix segmentation fault for RSS
> > init
> >
> > This patch fixes core dump issue when entering safe mode with a wrong
> > package file. This patch also fixes build failure issue.
> >
> > Fixes: 5ad3db8d4bdd ("net/ice: enable advanced RSS")
> >
> > Signed-off-by: Simei Su <simei.su@intel.com>
> > ---
> >  drivers/net/ice/ice_hash.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c
> > index
> > 3381b45..08b2502 100644
> > --- a/drivers/net/ice/ice_hash.c
> > +++ b/drivers/net/ice/ice_hash.c
> > @@ -236,12 +236,12 @@ struct ice_hash_match_type
> ice_hash_type_list[]
> > = { static int  ice_hash_init(struct ice_adapter *ad)  { -struct
> > ice_flow_parser *parser = NULL;
> > +struct ice_flow_parser *parser;
> >
> > -if (ad->active_pkg_type == ICE_PKG_TYPE_OS_DEFAULT) -parser =
> > &ice_hash_parser_os; -else if (ad->active_pkg_type ==
> > ICE_PKG_TYPE_COMMS)
> > +if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS)
> >  parser = &ice_hash_parser_comms;
> > +else
> > +parser = &ice_hash_parser_os;
> 
> This doesn't make sense to me. Why set up a parser at all if we are in safe
> mode? Safe mode means 1 queue so there isn't anything to RSS to. It seems
> like if we are in safe mode we should just return an error here with a message
> that we are in safe mode.
> 

  When application starts with a wrong ice.pkg, the output shows:
    ice_load_pkg(): failed to allocate buf of size 0 for package
    ice_dev_init(): Failed to load the DDP package,Entering Safe Mode
    Segmentation fault (core dumped)

  I used gdb to track this issue and found it cored dump at ice_hash_init(). 
  It is caused by the pointer *parser is set NULL. If I don't set NULL, the output shows normally:
    ice_load_pkg(): failed to allocate buf of size 0 for package
    ice_dev_init(): Failed to load the DDP package,Entering Safe Mode
    ice_init_rss(): RSS is not supported in safe mode

  As to build failure issue, I used "if, else if" previously and didn't consider all cases other than "if, else if". So the test report shows:
  error: 'parser' may be used uninitialized in this function. I changed it to "if, else". Thanks!

Br
Simei

> >
> >  return ice_register_parser(parser, ad);  }
> > --
> > 1.8.3.1
> 


  reply	other threads:[~2019-11-07  1:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06  7:08 [dpdk-dev] [PATCH] net/ice: fix segmentation fault for RSS init Simei Su
2019-11-06  8:26 ` [dpdk-dev] [PATCH v2] " Simei Su
2019-11-06 16:10   ` Stillwell Jr, Paul M
2019-11-07  1:06     ` Su, Simei [this message]
2019-11-07  5:47   ` [dpdk-dev] [PATCH v3] net/ice: fix segmentation fault with a wrong package Simei Su
2019-11-07  6:14     ` Zhang, Qi Z
2019-11-11  9:06     ` Ye Xiaolong
2019-11-12  4:40       ` Su, Simei
2019-11-13  2:07     ` Ye Xiaolong
2019-11-06 16:03 ` [dpdk-dev] [PATCH] net/ice: fix segmentation fault for RSS init Stillwell Jr, Paul M

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=65F28F834D25B54B9EC1999B623071B30C481124@SHSMSX104.ccr.corp.intel.com \
    --to=simei.su@intel.com \
    --cc=dev@dpdk.org \
    --cc=paul.m.stillwell.jr@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=xiaolong.ye@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 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.