[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHSpA5-ivVaQnQU7_ikt=BV-EAwFJFaA6ErpQ1Jn1HmPmXZapg@mail.gmail.com>
Date:   Fri, 17 Aug 2018 18:01:41 +0530
From:   Guruswamy Basavaiah <guru2018@...il.com>
To:     netdev@...r.kernel.org, davem@...emloft.net,
        Alexey Kuznetsov <kuznet@....inr.ac.ru>,
        Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>
Subject: [PATCH]ipv6: multicast: In mld_send_cr function moving read lock to
 second for loop
In function mld_send_cr, the first loop is already protected by
idev->mc_lock, it dont need idev->lock read lock, hence moving it
only to second for loop.
Signed-off-by: Guruswamy Basavaiah <guru2018@...il.com>
---
 net/ipv6/mcast.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
index d64ee7e..d8e7e15 100644
--- a/net/ipv6/mcast.c
+++ b/net/ipv6/mcast.c
@@ -1860,7 +1860,6 @@ static void mld_send_cr(struct inet6_dev *idev)
     struct sk_buff *skb = NULL;
     int type, dtype;
-    read_lock_bh(&idev->lock);
     spin_lock(&idev->mc_lock);
     /* deleted MCA's */
@@ -1897,6 +1896,7 @@ static void mld_send_cr(struct inet6_dev *idev)
     }
     spin_unlock(&idev->mc_lock);
+    read_lock_bh(&idev->lock);
     /* change recs */
     for (pmc = idev->mc_list; pmc; pmc = pmc->next) {
         spin_lock_bh(&pmc->mca_lock);
-- 
2.9.5
Powered by blists - more mailing lists
 
