[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1322018343-7552-1-git-send-email-mypopydev@gmail.com>
Date: Wed, 23 Nov 2011 11:19:03 +0800
From: Jun Zhao <mypopydev@...il.com>
To: davem@...emloft.net
Cc: eric.dumazet@...il.com, dlstevens@...ibm.com,
netdev@...r.kernel.org, Jun Zhao <mypopydev@...il.com>
Subject: [PATCH v3] ipv4 : igmp : fix error handle in ip_mc_add_src()
from: Jun Zhao <mypopydev@...il.com>
When add sources to interface failure, need to roll back the sfcount[MODE]
to before state. We need to match it corresponding.
Acked-by: David L Stevens <dlstevens@...ibm.com>
Acked-by: Eric Dumazet <eric.dumazet@...il.com>
Signed-off-by: Jun Zhao <mypopydev@...il.com>
---
net/ipv4/igmp.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c
index c7472ef..b2ca095 100644
--- a/net/ipv4/igmp.c
+++ b/net/ipv4/igmp.c
@@ -1716,7 +1716,8 @@ static int ip_mc_add_src(struct in_device *in_dev, __be32 *pmca, int sfmode,
if (err) {
int j;
- pmc->sfcount[sfmode]--;
+ if (!delta)
+ pmc->sfcount[sfmode]--;
for (j=0; j<i; j++)
(void) ip_mc_del1_src(pmc, sfmode, &psfsrc[j]);
} else if (isexclude != (pmc->sfcount[MCAST_EXCLUDE] != 0)) {
--
1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists