cvs commit: src/sys/netinet tcp_input.c tcp_syncache.c tcp_var.h
Andre Oppermann
andre at freebsd.org
Sun Jun 18 13:10:41 UTC 2006
Maxim Konovalov wrote:
> On Sun, 18 Jun 2006, 09:18+0100, Robert Watson wrote:
>
>> On Sun, 18 Jun 2006, Maxim Konovalov wrote:
>>
>>> On Sun, 18 Jun 2006, 01:37+0100, Robert Watson wrote:
>>>
>>>> On Sat, 17 Jun 2006, Andre Oppermann wrote:
>>>>
>>>>> Revision Changes Path
>>>>> 1.299 +9 -6 src/sys/netinet/tcp_input.c
>>>>> 1.87 +286 -255 src/sys/netinet/tcp_syncache.c
>>>>> 1.130 +9 -6 src/sys/netinet/tcp_var.h
>>>> This change appears to have broken world on all architectures by exposing
>>>> the mutex data structure to usr.bin/netstat/inet.c via tcp_var.h. I'm not
>>>> quite sure what the "right" solution is, but if
>>> usr.bin/systat/netstat.c and usr.bin/netstat/inet.c
>>> contrib/bsnmp/snmp_mibII/mibII_tcp.c as well.
>>>
>>> +#include <sys/callout.h> fixes the build.
>> But is increasing the exposure of kernel data structures to user
>> space apps the right fix, or decreasing them? Andre fell into this
>> trap precisely because of the leakage of kernel types into user
>> space, and that's just one of several good reasons not to do it
>> where it can possibly be avoided.
>
> Agreed.
These syncache structures were only used internally by the kernel
and only inside tcp_syncache.c so I now moved them there. Later
they can be exposed through a sysctl and displayed by netstat.
Sorry for the world breakage.
--
Andre
More information about the cvs-src
mailing list