lkml.org 
[lkml]   [2003]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
SubjectRe: [OOPS] less /proc/net/igmp
From
Hello.

In article <20030826.173226.114994096.yoshfuji@linux-ipv6.org> (at Tue, 26 Aug 2003 17:32:26 +0900 (JST)), YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org> says:

> > I can confirm. I have it with 2.6.0-test4.
> >
> > Let me know what useful info I can provide. The oops is the same.
>
> Okay, everyone. I'll try to fix this.

Please try this patch.

Index: linux-2.6/net/ipv4/igmp.c
===================================================================
RCS file: /home/cvs/linux-2.5/net/ipv4/igmp.c,v
retrieving revision 1.33
diff -u -r1.33 igmp.c
--- linux-2.6/net/ipv4/igmp.c 21 Aug 2003 17:47:23 -0000 1.33
+++ linux-2.6/net/ipv4/igmp.c 26 Aug 2003 15:18:03 -0000
@@ -2122,6 +2122,7 @@
break;
}
read_unlock(&in_dev->lock);
+ in_dev_put(in_dev);
}
return im;
}
@@ -2181,7 +2182,9 @@
if (likely(state->in_dev != NULL)) {
read_unlock(&state->in_dev->lock);
in_dev_put(state->in_dev);
+ state->in_dev = NULL;
}
+ state->dev = NULL;
read_unlock(&dev_base_lock);
}

@@ -2284,6 +2287,7 @@
spin_unlock_bh(&im->lock);
}
read_unlock_bh(&idev->lock);
+ in_dev_put(idev);
}
return psf;
}
@@ -2350,12 +2354,16 @@
static void igmp_mcf_seq_stop(struct seq_file *seq, void *v)
{
struct igmp_mcf_iter_state *state = igmp_mcf_seq_private(seq);
- if (likely(state->im != NULL))
+ if (likely(state->im != NULL)) {
spin_unlock_bh(&state->im->lock);
+ state->im = NULL;
+ }
if (likely(state->idev != NULL)) {
read_unlock_bh(&state->idev->lock);
in_dev_put(state->idev);
+ state->idev = NULL;
}
+ state->dev = NULL;
read_unlock(&dev_base_lock);
}

Index: linux-2.6/net/ipv6/mcast.c
===================================================================
RCS file: /home/cvs/linux-2.5/net/ipv6/mcast.c,v
retrieving revision 1.30
diff -u -r1.30 mcast.c
--- linux-2.6/net/ipv6/mcast.c 21 Aug 2003 23:44:54 -0000 1.30
+++ linux-2.6/net/ipv6/mcast.c 26 Aug 2003 15:18:03 -0000
@@ -2078,6 +2078,7 @@
break;
}
read_unlock_bh(&idev->lock);
+ in6_dev_put(idev);
}
return im;
}
@@ -2135,7 +2136,9 @@
if (likely(state->idev != NULL)) {
read_unlock_bh(&state->idev->lock);
in6_dev_put(state->idev);
+ state->idev = NULL;
}
+ state->dev = NULL;
read_unlock(&dev_base_lock);
}

@@ -2225,6 +2228,7 @@
spin_unlock_bh(&im->mca_lock);
}
read_unlock_bh(&idev->lock);
+ in6_dev_put(idev);
}
return psf;
}
@@ -2291,12 +2295,16 @@
static void igmp6_mcf_seq_stop(struct seq_file *seq, void *v)
{
struct igmp6_mcf_iter_state *state = igmp6_mcf_seq_private(seq);
- if (likely(state->im != NULL))
+ if (likely(state->im != NULL)) {
spin_unlock_bh(&state->im->mca_lock);
+ state->im = NULL;
+ }
if (likely(state->idev != NULL)) {
read_unlock_bh(&state->idev->lock);
in6_dev_put(state->idev);
+ state->idev = NULL;
}
+ state->dev = NULL;
read_unlock(&dev_base_lock);
}


--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.067 / U:2.396 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site