svn commit: r348435 - stable/11/sys/netinet
Michael Tuexen
tuexen at freebsd.org
Thu May 30 17:34:14 UTC 2019
> On 30. May 2019, at 19:20, John Baldwin <jhb at FreeBSD.org> wrote:
>
> On 5/30/19 9:32 AM, Michael Tuexen wrote:
>> Author: tuexen
>> Date: Thu May 30 16:32:18 2019
>> New Revision: 348435
>> URL: https://svnweb.freebsd.org/changeset/base/348435
>>
>> Log:
>> MFC r338053:
>>
>> Don't expose the uptime via the TCP timestamps.
>>
>> The TCP client side or the TCP server side when not using SYN-cookies
>> used the uptime as the TCP timestamp value. This patch uses in all
>> cases an offset, which is the result of a keyed hash function taking
>> the source and destination addresses and port numbers into account.
>> The keyed hash function is the same a used for the initial TSN.
>>
>> The use of
>> VNET_DEFINE_STATIC(u_char, ts_offset_secret[32]);
>> had to be replaced by
>> VNET_DEFINE(u_char, ts_offset_secret[32]);
>>
>> MFC r348290:
>>
>> When an ACK segment as the third message of the three way handshake is
>> received and support for time stamps was negotiated in the SYN/SYNACK
>> exchange, perform the PAWS check and only expand the syn cache entry if
>> the check is passed.
>> Without this check, endpoints may get stuck on the incomplete queue.
>>
>> Reviewed by: jtl@, rrs@
>> Approved by: re (kib@))
>> Sponsored by: Netflix, Inc.
>> Differential Revision: https://reviews.freebsd.org/D16636
>> Differential Revision: https://reviews.freebsd.org/D20374
>
> This broke the build on GCC platforms.
>
>> Modified: stable/11/sys/netinet/tcp_subr.c
>> ==============================================================================
>> --- stable/11/sys/netinet/tcp_subr.c Thu May 30 16:11:20 2019 (r348434)
>> +++ stable/11/sys/netinet/tcp_subr.c Thu May 30 16:32:18 2019 (r348435)
>> @@ -226,6 +226,12 @@ VNET_DEFINE(uma_zone_t, sack_hole_zone);
>>
>> VNET_DEFINE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST+1]);
>>
>> +VNET_DEFINE(u_char, ts_offset_secret[32]);
>> +#define V_ts_offset_secret VNET(ts_offset_secret)
>> +
>> +static int tcp_default_fb_init(struct tcpcb *tp);
>> +static void tcp_default_fb_fini(struct tcpcb *tp, int tcb_is_purged);
>> +static int tcp_default_handoff_ok(struct tcpcb *tp);
>
> This is a mismerge. These three prototypes for tcp_default_* shouldn't have
> been added and these prototypes are causing the build breakage. (They weren't
> added in r338053 in HEAD but in an earlier change. This was probably a merge
> conflict during the MFC).
>
> I think the fix is to just remove them.
>
> cc -c -O -pipe -g -nostdinc -I. -I/usr/src/sys -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -MD -MF.depend.tcp_subr.o -MTtcp_subr.o -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-uninitialized -fno-common -fms-extensions -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -mcmodel=medany -msoft-float -std=iso9899:1999 -Werror /usr/src/sys/netinet/tcp_subr.c
> cc1: warnings being treated as errors
> /usr/src/sys/netinet/tcp_subr.c:232: warning: 'tcp_default_fb_init' declared 'static' but never defined
> /usr/src/sys/netinet/tcp_subr.c:233: warning: 'tcp_default_fb_fini' declared 'static' but never defined
> /usr/src/sys/netinet/tcp_subr.c:234: warning: 'tcp_default_handoff_ok' declared 'static' but never defined
> *** [tcp_subr.o] Error code 1
>
> make[2]: stopped in /usr/obj/sparc64.sparc64/usr/src/sys/GENERIC
Fixed in https://svnweb.freebsd.org/changeset/base/348441
Best regards
Michael
>
> --
> John Baldwin
More information about the svn-src-all
mailing list