Author: jhb
Date: Wed Sep  2 21:36:55 2020
New Revision: 365281
URL: https://svnweb.freebsd.org/changeset/base/365281

Log:
  MFC 361638,361712: Only build ipsec modules for kernels with IPSEC_SUPPORT.
  
  361638:
  Only build ipsec modules if the kernel includes IPSEC_SUPPORT.
  
  Honoring the kernel-supplied opt_ipsec.h in r361632 causes builds of
  ipsec modules to fail if the kernel doesn't include IPSEC_SUPPORT.
  However, the module can never be loaded into such a kernel, so only
  build the modules if the kernel includes IPSEC_SUPPORT.
  
  361712: (kevans)
  modules: don't build ipsec/tcpmd5 if the kernel is configured for IPSEC
  
  IPSEC_SUPPORT can currently only cope with either IPSEC || IPSEC_SUPPORT,
  not both. Refrain from building if IPSEC is set, as the resulting module
  won't be able to load anyways if it's built into the kernel.
  
  KERN_OPTS is safe here; for tied modules, it will reflect the kernel
  configuration. For untied modules, it will defer to whatever is set in
  ^/sys/conf/config.mk, which doesn't set IPSEC for modules. The latter
  situation has some risk to it for uncommon scenarios, but such is the life
  of untied kernel modules.

Modified:
  stable/11/sys/conf/config.mk
  stable/11/sys/modules/Makefile
  stable/11/sys/modules/tcp/Makefile
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/12/sys/conf/config.mk
  stable/12/sys/modules/Makefile
  stable/12/sys/modules/tcp/Makefile
Directory Properties:
  stable/12/   (props changed)

Modified: stable/11/sys/conf/config.mk
==============================================================================
--- stable/11/sys/conf/config.mk        Wed Sep  2 21:17:54 2020        
(r365280)
+++ stable/11/sys/conf/config.mk        Wed Sep  2 21:36:55 2020        
(r365281)
@@ -19,8 +19,10 @@ opt_inet.h:
 opt_inet6.h:
        @echo "#define INET6 1" > ${.TARGET}
 .endif
+.if ${MK_IPSEC_SUPPORT} != "no"
 opt_ipsec.h:
        @echo "#define IPSEC_SUPPORT 1" > ${.TARGET}
+.endif
 .if ${MK_EISA} != "no"
 opt_eisa.h:
        @echo "#define DEV_EISA 1" > ${.TARGET}
@@ -47,6 +49,9 @@ KERN_OPTS+= INET TCP_OFFLOAD
 .endif
 .if ${MK_INET6_SUPPORT} != "no"
 KERN_OPTS+= INET6
+.endif
+.if ${MK_IPSEC_SUPPORT} != "no"
+KERN_OPTS+= IPSEC_SUPPORT
 .endif
 .if ${MK_EISA} != "no"
 KERN_OPTS+= DEV_EISA

Modified: stable/11/sys/modules/Makefile
==============================================================================
--- stable/11/sys/modules/Makefile      Wed Sep  2 21:17:54 2020        
(r365280)
+++ stable/11/sys/modules/Makefile      Wed Sep  2 21:36:55 2020        
(r365281)
@@ -8,6 +8,8 @@ SUBDIR_PARALLEL=
 # Modules that include binary-only blobs of microcode should be selectable by
 # MK_SOURCELESS_UCODE option (see below).
 
+.include "${SYSDIR}/conf/config.mk"
+
 .if defined(MODULES_OVERRIDE) && !defined(ALL_MODULES)
 SUBDIR=${MODULES_OVERRIDE}
 .else
@@ -468,7 +470,7 @@ _if_enc=    if_enc
 _if_gif=       if_gif
 _if_gre=       if_gre
 _ipfw_pmod=    ipfw_pmod
-.if ${MK_IPSEC_SUPPORT} != "no"
+.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
 _ipsec=                ipsec
 .endif
 .endif
@@ -853,8 +855,6 @@ afterinstall: .PHONY
                kldxref ${DESTDIR}${KMODDIR}; \
        fi
 .endif
-
-.include "${SYSDIR}/conf/config.mk"
 
 SUBDIR:= ${SUBDIR:u:O}
 

Modified: stable/11/sys/modules/tcp/Makefile
==============================================================================
--- stable/11/sys/modules/tcp/Makefile  Wed Sep  2 21:17:54 2020        
(r365280)
+++ stable/11/sys/modules/tcp/Makefile  Wed Sep  2 21:36:55 2020        
(r365281)
@@ -15,7 +15,7 @@ _tcp_fastpath=        fastpath
 
 .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \
        defined(ALL_MODULES)
-.if ${MK_IPSEC_SUPPORT} != "no"
+.if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MIPSEC}
 _tcpmd5=       tcpmd5
 .endif
 .endif
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to