[dpdk-dev] [PATCH v2] pcap: fix segfault in pcap pmd

Bruce Richardson bruce.richardson at intel.com
Mon Jun 13 13:07:54 CEST 2016


On Fri, May 27, 2016 at 01:06:20PM +0100, 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"
> 
> The reason is, pcap vdev creation with tx stream type as "iface"
> as in above command don't need member ''dumpers'' of
> "struct tx_pcaps", hence will not have 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 initialize local object of struct tx_pcaps to 0.
> Also initialize local object of struct rx_pcaps to 0.
> 
> 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 at intel.com>
> Acked-by: Ferruh Yigit <ferruh.yigit at intel.com>
> ---
> v2:
> Fixed typos in commit message.
> Fixed commit message line length to 75.
> Fixed subject line of the patch.

The subject line is still not the best, since the prefix is "pcap" having the
subject also finish with "in pcap pmd" is superfluous. I've fixed the title
to "pcap: fix segfault on close" on apply.

> ---
>  drivers/net/pcap/rte_eth_pcap.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
Applied to dpdk_next_net/rel_16_07

/Bruce


More information about the dev mailing list