netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Jia-Ju Bai <baijiaju1990@163.com>, todd.fujinaka@intel.com
Cc: netdev@vger.kernel.org, Linux-nics@isotope.jf.intel.com,
	linux.nics@intel.com, e1000-devel@lists.sourceforge.net
Subject: Re: [PATCH]e100 in linux-3.18.0: some potential bugs
Date: Sat, 20 Dec 2014 16:32:12 +0300	[thread overview]
Message-ID: <54957A5C.50404@cogentembedded.com> (raw)
In-Reply-To: <000001d01c28$41c937c0$c55ba740$@163.com>

On 12/20/2014 10:40 AM, Jia-Ju Bai wrote:

> I have actually tested e100 driver on the real hardware(Intel 82559 PCI
> Ethernet Controller), and find some bugs:
> The target file is drivers/net/ethernet/intel/e100.c, which is used to build
> e100.ko.

> (1) The function pci_pool_create is called by e100_probe when initializing
> the ethernet card driver. But when pci_pool_create is failed, which means
> that it returns NULL to nic->cbs_pool, the system crash will happen. Because
> pci_pool_alloc (in e100_alloc_cbs in e100_up in e100_open) need to use
> nic->cbs_pool to allocate the resource, but it is NULL. I suggest that a
> check can be added in the code to detect whether pci_pool_create returns
> NULL.
> (2) In the normal process, netif_napi_add is called in e100_probe, but
> netif_napi_del is not called in e100_remove. However, many other ethernet
> card drivers call them in pairs, even in the error handling paths, such as
> r8169 and igb.

    Fixing one issue per patch is the rule of thumb.

> Meanwhile, I also write the patch to fix the bugs. I have run the patch on
> the hardware, it can work normally and fix the above bugs.

    Again, your sign-off is required. See Documentation/SubmittingPatches.

> diff --git a/drivers/net/ethernet/intel/e100.c
> b/drivers/net/ethernet/intel/e100.c
> index 781065e..2631d3f 100644
> --- a/drivers/net/ethernet/intel/e100.c
> +++ b/drivers/net/ethernet/intel/e100.c
> @@ -2969,6 +2969,11 @@ static int e100_probe(struct pci_dev *pdev, const
> struct pci_device_id *ent)
>   			   nic->params.cbs.max * sizeof(struct cb),
>   			   sizeof(u32),
>   			   0);
> +	if(!(nic->cbs_pool))

    Space needed after *if*. Please run your patches thru scripts/checkpatch.pl.

[...]

WBR, Sergei

  parent reply	other threads:[~2014-12-20 13:32 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-20  7:40 [PATCH]e100 in linux-3.18.0: some potential bugs Jia-Ju Bai
2014-12-20 10:18 ` [linux-nics] " Jeff Kirsher
     [not found]   ` <1e83d62.1197.14a67b6f11a.Coremail.baijiaju1990@163.com>
2014-12-20 12:52     ` Jeff Kirsher
2014-12-20 13:32 ` Sergei Shtylyov [this message]
2014-12-20 13:33 ` Sergei Shtylyov
  -- strict thread matches above, loose matches on Subject: below --
2014-12-20 14:32 [PATCH] e100 " Jia-Ju Bai
2014-12-20 15:07 ` Sergei Shtylyov
2014-12-20 19:30 ` David Miller

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=54957A5C.50404@cogentembedded.com \
    --to=sergei.shtylyov@cogentembedded.com \
    --cc=Linux-nics@isotope.jf.intel.com \
    --cc=baijiaju1990@163.com \
    --cc=e1000-devel@lists.sourceforge.net \
    --cc=linux.nics@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=todd.fujinaka@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).