Re: [PATCH] Remove broken netfilter binary sysctls from bridging code

Patrick McHardy
2007-09-24T17:04:54Z

Eric W. Biederman wrote:
> jfannin@gmail.com (Joseph Fannin) writes:
>
>
>>The netfilter sysctls in the bridging code don't set strategy routines:
>>
>> sysctl table check failed: /net/bridge/bridge-nf-call-arptables .3.10.1 Missing
>>strategy
>> sysctl table check failed: /net/bridge/bridge-nf-call-iptables .3.10.2 Missing
>>strategy
>> sysctl table check failed: /net/bridge/bridge-nf-call-ip6tables .3.10.3 Missing
>>strategy
>> sysctl table check failed: /net/bridge/bridge-nf-filter-vlan-tagged .3.10.4
>>Missing strategy
>> sysctl table check failed: /net/bridge/bridge-nf-filter-pppoe-tagged .3.10.5
>>Missing strategy
>>
>> These binary sysctls can't work. The binary sysctl numbers of
>>other netfilter sysctls with this problem are being removed. These
>>need to go as well.
>>
>>Signed-off-by: Joseph Fannin <jfannin@gmail.com>
>
>
> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>

Queued for 2.6.24, thanks.

> Hmm. This is an interesting case. The proc method is forcing
> the integer to be either 0 or 1 in a racy fashion. But none of the
> users appear to depend upon that.
>
> So this is the least broken set of binary sysctls I have seen caught
> by my check.
>
> A really good fix would be to remove the binary side and then to
> modify brnf_sysctl_call_tables to allocate a temporary ctl_table and
> integer on the stack and only set ctl->data after we have normalized
> the written value. But since in practice nothing cares about
> the race a better fix probably isn't worth it.

I seem to be missing something, the entire brnf_sysctl_call_tables
thing looks purely cosmetic to me, wouldn't it be better to simply
remove it?