On Wed, Oct 12, 2016 at 02:16:42AM +0000, Jonathan T. Looney wrote:
> Author: jtl
> Date: Wed Oct 12 02:16:42 2016
> New Revision: 307082
> URL: https://svnweb.freebsd.org/changeset/base/307082
> 
> Log:
>   In the TCP stack, the hhook(9) framework provides hooks for kernel modules
>   to add actions that run when a TCP frame is sent or received on a TCP
>   session in the ESTABLISHED state. In the base tree, this functionality is
>   only used for the h_ertt module, which is used by the cc_cdg, cc_chd, cc_hd,
>   and cc_vegas congestion control modules.
>   
>   Presently, we incur overhead to check for hooks each time a TCP frame is
>   sent or received on an ESTABLISHED TCP session.
>   
>   This change adds a new compile-time option (TCP_HHOOK) to determine whether
>   to include the hhook(9) framework for TCP. To retain backwards
>   compatibility, I added the TCP_HHOOK option to every configuration file that
>   already defined "options INET". (Therefore, this patch introduces no
>   functional change. In order to see a functional difference, you need to
>   compile a custom kernel without the TCP_HHOOK option.) This change will
>   allow users to easily exclude this functionality from their kernel, should
>   they wish to do so.
>   
>   Note that any users who use a custom kernel configuration and use one of the
>   congestion control modules listed above will need to add the TCP_HHOOK
>   option to their kernel configuration.
>   
>   Reviewed by:        rrs, lstewart, hiren (previous version), sjg (makefiles 
> only)
>   Sponsored by:       Netflix
>   Differential Revision:      https://reviews.freebsd.org/D8185

This commit breaks the build when VNET is enabled. Attached is a
candidate patch to fix.

If the patch doesn't make it to the list, I've pasted it here:
http://ix.io/1wbE

Thanks,

-- 
Shawn Webb
Cofounder and Security Engineer
HardenedBSD

GPG Key ID:          0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index b8c9ff0..e69c3d4 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -742,7 +742,10 @@ tcp_init(void)
 static void
 tcp_destroy(void *unused __unused)
 {
-       int error, n;
+       int n;
+#ifdef TCP_HHOOK
+       int error;
+#endif
 
        /*
         * All our processes are gone, all our sockets should be cleaned

Attachment: signature.asc
Description: PGP signature

Reply via email to