All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Reshma Pattan <reshma.pattan@intel.com>, dev@dpdk.org
Subject: Re: [PATCH] drivers/net/pcap: fix segfault in pcap pmd
Date: Thu, 26 May 2016 18:57:16 +0100	[thread overview]
Message-ID: <574738FC.2080604@intel.com> (raw)
In-Reply-To: <1464269755-26123-1-git-send-email-reshma.pattan@intel.com>

On 5/26/2016 2:35 PM, Reshma Pattan wrote:
> Testpmd application will crash in fclose() upon quit after running
> the below command.
> 
> "sudo gdb --args ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf0 -n 4 --vdev
> 'eth_pcap0,tx_iface=enp1s0f1,rx_pcap=/tmp/test.pcap' -- --port-topology=chained -i"

checkpatch complain about long line (> 75 chars)

> 
> The reason is, pcap vdev creation with tx stream type as "iface" as in above
> command dont need member ''dumpers'' of "struct tx_pcaps", hence will not have

s/dont/don't, s/''/"

> memory allocated. But contains a garbage values, as local object of struct tx_pcaps
> is not initialized to 0 inside rte_pmd_pcap_dev_init(). So calling pcap_dump_close() on
> dumper as part of eth_dev_stop() is causing segfault in fclose().
> 
> Fix is to initilize local object of struct tx_pcaps to 0.

s/initilize/initialize

> Also initiliaze local object of stcruct rx_pcaps to 0.

s/initiliaze/initialize, s/stcruct/struct

> 
> So during eth_dev_stop(), pcap_dump_close() will not be called if dumper is NULL.
> 
> Fixes:4c173302("pcap: add new driver")
> 
> Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
> ---
>  drivers/net/pcap/rte_eth_pcap.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
> index c98e234..c86f17b 100644
> --- a/drivers/net/pcap/rte_eth_pcap.c
> +++ b/drivers/net/pcap/rte_eth_pcap.c
> @@ -978,8 +978,8 @@ rte_pmd_pcap_devinit(const char *name, const char *params)
>  	unsigned numa_node, using_dumpers = 0;
>  	int ret;
>  	struct rte_kvargs *kvlist;
> -	struct rx_pcaps pcaps;
> -	struct tx_pcaps dumpers;
> +	struct rx_pcaps pcaps = {0};

I think this is not required to fix mentioned segfault.
But I am OK to keep this.

> +	struct tx_pcaps dumpers = {0};
>  
>  	RTE_LOG(INFO, PMD, "Initializing pmd_pcap for %s\n", name);
>  
> 

please update patch subject tag from "drivers/net/pcap:" to "pcap:"

Can you please send a new version with above minor issues fixed?
You can keep my ack in new version.

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

  reply	other threads:[~2016-05-26 17:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-26 13:35 [PATCH] drivers/net/pcap: fix segfault in pcap pmd Reshma Pattan
2016-05-26 17:57 ` Ferruh Yigit [this message]
2016-05-27 12:06 ` [PATCH v2] pcap: " Reshma Pattan
2016-06-13 11:07   ` Bruce Richardson
  -- strict thread matches above, loose matches on Subject: below --
2016-05-26 13:29 [PATCH] drivers/net/pcap: " Reshma Pattan
2016-05-26 13:32 ` Pattan, Reshma

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=574738FC.2080604@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=reshma.pattan@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.