From patchwork Sat Sep 12 17:40:56 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pravin B Shelar X-Patchwork-Id: 517105 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from archives.nicira.com (unknown [IPv6:2600:3c00::f03c:91ff:fe6e:bdf7]) by ozlabs.org (Postfix) with ESMTP id BE1E71402C7 for ; Sun, 13 Sep 2015 03:41:14 +1000 (AEST) Received: from archives.nicira.com (localhost [127.0.0.1]) by archives.nicira.com (Postfix) with ESMTP id 70D0A10D25; Sat, 12 Sep 2015 10:41:11 -0700 (PDT) X-Original-To: dev@openvswitch.org Delivered-To: dev@openvswitch.org Received: from mx3v1.cudamail.com (mx3.cudamail.com [64.34.241.5]) by archives.nicira.com (Postfix) with ESMTPS id B98A610D24 for ; Sat, 12 Sep 2015 10:41:09 -0700 (PDT) Received: from bar4.cudamail.com (bar2 [192.168.15.2]) by mx3v1.cudamail.com (Postfix) with ESMTP id BB992618F21 for ; Sat, 12 Sep 2015 11:41:08 -0600 (MDT) X-ASG-Debug-ID: 1442079668-03dc215bcf09030001-byXFYA Received: from mx3-pf2.cudamail.com ([192.168.14.1]) by bar4.cudamail.com with ESMTP id EXDH5O6H8T4h1Ri7 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 12 Sep 2015 11:41:08 -0600 (MDT) X-Barracuda-Envelope-From: pshelar@nicira.com X-Barracuda-RBL-Trusted-Forwarder: 192.168.14.1 Received: from unknown (HELO mail-pa0-f46.google.com) (209.85.220.46) by mx3-pf2.cudamail.com with ESMTPS (RC4-SHA encrypted); 12 Sep 2015 17:41:07 -0000 Received-SPF: unknown (mx3-pf2.cudamail.com: Multiple SPF records returned) X-Barracuda-Apparent-Source-IP: 209.85.220.46 X-Barracuda-RBL-IP: 209.85.220.46 Received: by padhy16 with SMTP id hy16so103442667pad.1 for ; Sat, 12 Sep 2015 10:41:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=DjlJu9oOAAKmMiadV5KrHGVqYrluD2aqC4vOzTMhfvQ=; b=IavQt3egR9mwPJg47s2IpptUPKcWtI8u2upfd91izy0MnkhCQOPFIfqlXHnpgLeFGc XUB9+t89Hr4XRY6OHLI93kGzyIsGWt2r9R7hnnn47O6cGacJyDR33ElnQlsrp7tSLYZX 3f8W1nwnjJeLCboWXm9BkJZsVrtuahHkL45uaLmoJ8whgIYk6NezJxCxfLTn/K7jc0Mv dPV59cf5cetWDt60bc62zAWplmh6+VuRtxhV7mPzJzCzzNVoREHBXvYQcnyxmRincKDI Fx6oQ2qbrU7rKm9/6csfpTBGsHs3Eyk3TYOVSRQkWCvFcNj9MDVKMdRWxeCvMhboPmE0 C4PQ== X-Gm-Message-State: ALoCoQkAaqubaFyd7kqVd81LtQFBYg0JKd+VgLg/py6FijyGf94Bf7fZwQ9N+QleKh/NYuqPkhnt X-Received: by 10.68.201.232 with SMTP id kd8mr3931223pbc.102.1442079667343; Sat, 12 Sep 2015 10:41:07 -0700 (PDT) Received: from localhost (c-73-162-15-99.hsd1.ca.comcast.net. [73.162.15.99]) by smtp.gmail.com with ESMTPSA id os10sm6910283pbb.79.2015.09.12.10.41.06 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Sat, 12 Sep 2015 10:41:06 -0700 (PDT) X-CudaMail-Envelope-Sender: pshelar@nicira.com From: Pravin B Shelar To: dev@openvswitch.org X-CudaMail-Whitelist-To: dev@openvswitch.org X-CudaMail-MID: CM-V2-911013687 X-CudaMail-DTE: 091215 X-CudaMail-Originating-IP: 209.85.220.46 Date: Sat, 12 Sep 2015 10:40:56 -0700 X-ASG-Orig-Subj: [##CM-V2-911013687##][PATCH] tnl-port: Fix list iteration. Message-Id: <1442079656-1343-1-git-send-email-pshelar@nicira.com> X-Mailer: git-send-email 1.7.1 X-Barracuda-Connect: UNKNOWN[192.168.14.1] X-Barracuda-Start-Time: 1442079668 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://web.cudamail.com:443/cgi-mod/mark.cgi X-ASG-Whitelist: Header =?UTF-8?B?eFwtY3VkYW1haWxcLXdoaXRlbGlzdFwtdG8=?= X-Virus-Scanned: by bsmtpd at cudamail.com X-Barracuda-BRTS-Status: 1 Subject: [ovs-dev] [PATCH] tnl-port: Fix list iteration. X-BeenThere: dev@openvswitch.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dev-bounces@openvswitch.org Sender: "dev" Fixes Segmentation fault in tnl_port_map_run () at lib/tnl-ports.c:403 Reported-by: Jesse Gross Signed-off-by: Pravin B Shelar Acked-by: Jesse Gross --- lib/tnl-ports.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) 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)) {