public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [Bugme-new] [Bug 31232] New: /proc/sys/net/ipv6 has two neigh folders
       [not found] <bug-31232-10286@https.bugzilla.kernel.org/>
@ 2011-03-16 22:23 ` Andrew Morton
  2011-03-17  3:55   ` Eric W. Biederman
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Morton @ 2011-03-16 22:23 UTC (permalink / raw)
  To: netdev; +Cc: bugzilla-daemon, bugme-daemon, Eric W. Biederman, sunkan


(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Wed, 16 Mar 2011 22:06:34 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=31232
> 
>            Summary: /proc/sys/net/ipv6 has two neigh folders
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 2.6.38
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: low
>           Priority: P1
>          Component: IPV6
>         AssignedTo: yoshfuji@linux-ipv6.org
>         ReportedBy: sunkan@zappa.cx
>         Regression: No
> 
> 
> I noticed when looking for other things that there are two neigh folders in
> /proc/sys/net/ipv6
> 
> Reverting this commit removes the extra neigh folder:
> http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=bf36076a67db6d7423d09d861a072337866f0dd9
> 
> I don't know how to fix this.
> I tried removing the ',' on the row '.child = empty,' (looking at the other
> rows it did seem like a typo to me).
> 
> This did not change anything that I could see though.
> 
> Here is the commit I believe introduced the bug: 
> 
> --- a/net/ipv6/sysctl_net_ipv6.c
> +++ b/net/ipv6/sysctl_net_ipv6.c
> @@ -15,6 +15,8 @@
>  #include <net/addrconf.h>
>  #include <net/inet_frag.h>
> 
> +static struct ctl_table empty[1];
> +
>  static ctl_table ipv6_table_template[] = {
>         {
>                 .procname       = "route",
> @@ -35,6 +37,12 @@ static ctl_table ipv6_table_template[] = {
>                 .mode           = 0644,
>                 .proc_handler   = proc_dointvec
>         },
> +       {
> +               .procname       = "neigh",
> +               .maxlen         = 0,
> +               .mode           = 0555,
> +               .child          = empty,
> +       },
>         { }
>  };
> 
> @@ -152,7 +160,6 @@ static struct ctl_table_header *ip6_base;
> 
>  int ipv6_static_sysctl_register(void)
>  {
> -       static struct ctl_table empty[1];
>         ip6_base = register_sysctl_paths(net_ipv6_ctl_path, empty);
>         if (ip6_base == NULL)
>                 return -ENOMEM;
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Bugme-new] [Bug 31232] New: /proc/sys/net/ipv6 has two neigh folders
  2011-03-16 22:23 ` [Bugme-new] [Bug 31232] New: /proc/sys/net/ipv6 has two neigh folders Andrew Morton
@ 2011-03-17  3:55   ` Eric W. Biederman
  0 siblings, 0 replies; 2+ messages in thread
From: Eric W. Biederman @ 2011-03-17  3:55 UTC (permalink / raw)
  To: Andrew Morton; +Cc: netdev, bugzilla-daemon, bugme-daemon, sunkan

Andrew Morton <akpm@linux-foundation.org> writes:

> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
>
> On Wed, 16 Mar 2011 22:06:34 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=31232
>> 
>>            Summary: /proc/sys/net/ipv6 has two neigh folders
>>            Product: Networking
>>            Version: 2.5
>>     Kernel Version: 2.6.38
>>           Platform: All
>>         OS/Version: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: low
>>           Priority: P1
>>          Component: IPV6
>>         AssignedTo: yoshfuji@linux-ipv6.org
>>         ReportedBy: sunkan@zappa.cx
>>         Regression: No
>> 
>> 
>> I noticed when looking for other things that there are two neigh folders in
>> /proc/sys/net/ipv6
>> 
>> Reverting this commit removes the extra neigh folder:
>> http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=bf36076a67db6d7423d09d861a072337866f0dd9
>> 
>> I don't know how to fix this.
>> I tried removing the ',' on the row '.child = empty,' (looking at the other
>> rows it did seem like a typo to me).
>> 
>> This did not change anything that I could see though.
>> 
>> Here is the commit I believe introduced the bug: 

Interesting.

This is definitely a bug.  I suspect it may be another symptom of the
bug I was trying to fix.  Something somewhere is messed up with the
neigh directory.

That extra neigh entry should serve as a mount point for any later neigh
entries that are registered, so the change should be fine.

I will see if I can make the time to look into this, as this new symptom
looks as nasty as the use after free problems I was seeing earlier.

Eric


>> --- a/net/ipv6/sysctl_net_ipv6.c
>> +++ b/net/ipv6/sysctl_net_ipv6.c
>> @@ -15,6 +15,8 @@
>>  #include <net/addrconf.h>
>>  #include <net/inet_frag.h>
>> 
>> +static struct ctl_table empty[1];
>> +
>>  static ctl_table ipv6_table_template[] = {
>>         {
>>                 .procname       = "route",
>> @@ -35,6 +37,12 @@ static ctl_table ipv6_table_template[] = {
>>                 .mode           = 0644,
>>                 .proc_handler   = proc_dointvec
>>         },
>> +       {
>> +               .procname       = "neigh",
>> +               .maxlen         = 0,
>> +               .mode           = 0555,
>> +               .child          = empty,
>> +       },
>>         { }
>>  };
>> 
>> @@ -152,7 +160,6 @@ static struct ctl_table_header *ip6_base;
>> 
>>  int ipv6_static_sysctl_register(void)
>>  {
>> -       static struct ctl_table empty[1];
>>         ip6_base = register_sysctl_paths(net_ipv6_ctl_path, empty);
>>         if (ip6_base == NULL)
>>                 return -ENOMEM;
>> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-03-17  3:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <bug-31232-10286@https.bugzilla.kernel.org/>
2011-03-16 22:23 ` [Bugme-new] [Bug 31232] New: /proc/sys/net/ipv6 has two neigh folders Andrew Morton
2011-03-17  3:55   ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox