Message ID | 1442079656-1343-1-git-send-email-pshelar@nicira.com |
---|---|
State | Accepted |
Headers | show |
On Sat, Sep 12, 2015 at 10:40 AM, Pravin B Shelar <pshelar@nicira.com> wrote: > Fixes Segmentation fault in > tnl_port_map_run () at lib/tnl-ports.c:403 > > Reported-by: Jesse Gross <jesse@nicira.com> > Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Thanks, that fixes the problem for me. Acked-by: Jesse Gross <jesse@nicira.com>
On Sun, Sep 13, 2015 at 8:43 AM, Jesse Gross <jesse@nicira.com> wrote: > On Sat, Sep 12, 2015 at 10:40 AM, Pravin B Shelar <pshelar@nicira.com> wrote: >> Fixes Segmentation fault in >> tnl_port_map_run () at lib/tnl-ports.c:403 >> >> Reported-by: Jesse Gross <jesse@nicira.com> >> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> > > Thanks, that fixes the problem for me. > > Acked-by: Jesse Gross <jesse@nicira.com> Thanks. I pushed the patch to master.
diff --git a/lib/tnl-ports.c b/lib/tnl-ports.c index f510f1e..59d5354 100644 --- a/lib/tnl-ports.c +++ b/lib/tnl-ports.c @@ -357,11 +357,11 @@ delete_ipdev(struct ip_device *ip_dev) void tnl_port_map_insert_ipdev(const char dev_name[]) { - struct ip_device *ip_dev; + struct ip_device *ip_dev, *next; ovs_mutex_lock(&mutex); - LIST_FOR_EACH(ip_dev, node, &addr_list) { + LIST_FOR_EACH_SAFE(ip_dev, next, node, &addr_list) { if (!strcmp(netdev_get_name(ip_dev->dev), dev_name)) { if (ip_dev->change_seq == netdev_get_change_seq(ip_dev->dev)) { goto out; @@ -394,10 +394,10 @@ tnl_port_map_delete_ipdev(const char dev_name[]) void tnl_port_map_run(void) { - struct ip_device *ip_dev; + struct ip_device *ip_dev, *next; ovs_mutex_lock(&mutex); - LIST_FOR_EACH(ip_dev, node, &addr_list) { + LIST_FOR_EACH_SAFE(ip_dev, next, node, &addr_list) { char dev_name[IFNAMSIZ]; if (ip_dev->change_seq == netdev_get_change_seq(ip_dev->dev)) {
Fixes Segmentation fault in tnl_port_map_run () at lib/tnl-ports.c:403 Reported-by: Jesse Gross <jesse@nicira.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> --- lib/tnl-ports.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)