Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 May 2019 19:34:09 +0200
From:      Michael Tuexen <tuexen@freebsd.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   Re: svn commit: r348435 - stable/11/sys/netinet
Message-ID:  <59773D8A-CD81-4059-BC74-0D0445F5915D@freebsd.org>
In-Reply-To: <a2576e08-85b3-98e3-1cfa-89bbb1fe80aa@FreeBSD.org>
References:  <201905301632.x4UGWJSJ066904@repo.freebsd.org> <a2576e08-85b3-98e3-1cfa-89bbb1fe80aa@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 30. May 2019, at 19:20, John Baldwin <jhb@FreeBSD.org> wrote:
>=20
> 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
>>=20
>> Log:
>>  MFC r338053:
>>=20
>>  Don't expose the uptime via the TCP timestamps.
>>=20
>>  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.
>>=20
>>  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]);
>>=20
>>  MFC r348290:
>>=20
>>  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.
>>=20
>>  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
>=20
> This broke the build on GCC platforms.
>=20
>> Modified: stable/11/sys/netinet/tcp_subr.c
>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>> --- 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);
>>=20
>> VNET_DEFINE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST+1]);
>>=20
>> +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);
>=20
> 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).
>=20
> I think the fix is to just remove them.
>=20
> 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=3D15000 =
--param inline-unit-growth=3D100 --param large-function-growth=3D1000 =
-mcmodel=3Dmedany -msoft-float  -std=3Diso9899: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
>=20
> make[2]: stopped in /usr/obj/sparc64.sparc64/usr/src/sys/GENERIC
Fixed in https://svnweb.freebsd.org/changeset/base/348441

Best regards
Michael
>=20
> --=20
> John Baldwin




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59773D8A-CD81-4059-BC74-0D0445F5915D>