[dpdk-dev] [PATCH] Fix librte_pmd_pcap driver double stop error

Neil Horman nhorman at tuxdriver.com
Mon Sep 29 16:24:06 CEST 2014


On Wed, Sep 10, 2014 at 05:17:05PM -0300, Nicolás Pernas Maradei wrote:
> From: Nicolás Pernas Maradei <nico at emutex.com>
> 
> librte_pmd_pcap driver was opening the pcap/interfaces only at init time and
> closing them only when the port was being stopped. This behaviour would cause
> problems (leading to segfault) if the user closed the port 2 times. The first
> time the pcap/interfaces would be normally closed but libpcap would throw an
> error causing a segfault if the closed pcaps/interfaces were closed again.
> This behaviour is solved by re-openning pcaps/interfaces when the port is
> started (only if these weren't open already for example at init time).
> 
> Signed-off-by: Nicolás Pernas Maradei <nico at emutex.com>

This patch assigns pointers to strings that are allocated in the devargs_list.
Given that there exists an api interface free_devargs_list(), I'm not sure that
whats being done here is consistently safe.  It seems like you should dup the
strings to make sure you always have the storage allocated, or find some other
method to store the needed information.

Neil



More information about the dev mailing list