aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-04-13 09:58:41 -0400
committerDmitry Vyukov <dvyukov@google.com>2020-04-13 21:22:08 +0200
commit7c54686a26b084125103ba5f30ef8e8749eaccae (patch)
treea164bc8d4fe07694c7860ef57d80acbad860bfc3 /pkg
parentdc4b93e773fd77c70a462268aba97207d0628728 (diff)
pkg/build: enable extra TCP stacks on FreeBSD
syzkaller already knows about TCP_FUNCTION_BLK, used to set the TCP stack for a given socket.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/build/freebsd.go14
1 files changed, 11 insertions, 3 deletions
diff --git a/pkg/build/freebsd.go b/pkg/build/freebsd.go
index 7303d6bfd..3c1f300a3 100644
--- a/pkg/build/freebsd.go
+++ b/pkg/build/freebsd.go
@@ -29,6 +29,9 @@ ident SYZKALLER
options COVERAGE
options KCOV
+options KERN_TLS
+options TCPHPTS
+
options DEBUG_VFS_LOCKS
options DIAGNOSTIC
`)
@@ -41,7 +44,8 @@ options DIAGNOSTIC
if err := ctx.make(params.KernelDir, objPrefix, "kernel-toolchain", "-DNO_CLEAN"); err != nil {
return err
}
- if err := ctx.make(params.KernelDir, objPrefix, "buildkernel", fmt.Sprintf("KERNCONF=%v", confFile)); err != nil {
+ if err := ctx.make(params.KernelDir, objPrefix, "buildkernel", "WITH_EXTRA_TCP_STACKS=",
+ fmt.Sprintf("KERNCONF=%v", confFile)); err != nil {
return err
}
@@ -66,9 +70,13 @@ partn=$(gpart show /dev/${md} | awk '/freebsd-ufs/{print $3}' | head -n 1)
tmpdir=$(mktemp -d)
sudo mount /dev/${md}p${partn} $tmpdir
-sudo MAKEOBJDIRPREFIX=%s make -C %s installkernel KERNCONF=%s DESTDIR=$tmpdir
+sudo MAKEOBJDIRPREFIX=%s make -C %s installkernel WITH_EXTRA_TCP_STACKS= KERNCONF=%s DESTDIR=$tmpdir
-echo 'pf_load="YES"' | sudo tee -a ${tmpdir}/boot/loader.conf
+cat | sudo tee -a ${tmpdir}/boot/loader.conf <<__EOF__
+pf_load="YES"
+tcp_bbr_load="YES"
+tcp_rack_load="YES"
+__EOF__
sudo umount $tmpdir
sudo mdconfig -d -u ${md#md}