Index: share/mk/bsd.sys.mk =================================================================== RCS file: /cvsroot/src/share/mk/bsd.sys.mk,v retrieving revision 1.292 diff -u -r1.292 bsd.sys.mk --- share/mk/bsd.sys.mk 22 May 2019 08:31:25 -0000 1.292 +++ share/mk/bsd.sys.mk 29 May 2019 17:08:02 -0000 @@ -242,7 +242,8 @@ .if ${KCOV:U0} > 0 KCOVFLAGS= -fsanitize-coverage=trace-pc -.for f in subr_kcov.c subr_lwp_specificdata.c subr_specificdata.c subr_asan.c +.for f in subr_kcov.c subr_lwp_specificdata.c subr_specificdata.c subr_asan.c \ + ubsan.c KCOVFLAGS.${f}= # empty .endfor CFLAGS+= ${KCOVFLAGS.${.IMPSRC:T}:U${KCOVFLAGS}} Index: sys/arch/amd64/conf/GENERIC =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/conf/GENERIC,v retrieving revision 1.528 diff -u -r1.528 GENERIC --- sys/arch/amd64/conf/GENERIC 24 May 2019 14:28:48 -0000 1.528 +++ sys/arch/amd64/conf/GENERIC 29 May 2019 17:08:04 -0000 @@ -115,7 +115,7 @@ #options KGDB # remote debugger #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600 makeoptions DEBUG="-g" # compile full symbol table for CTF -#options KUBSAN # Kernel Undefined Behavior Sanitizer (kUBSan) +options KUBSAN # Kernel Undefined Behavior Sanitizer (kUBSan) #options SYSCALL_STATS # per syscall counts #options SYSCALL_TIMES # per syscall times #options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris) @@ -123,18 +123,18 @@ # Kernel Address Sanitizer (kASan). You need to disable SVS to use it. # The quarantine is optional and can help KASAN find more use-after-frees. -#makeoptions KASAN=1 # Kernel Address Sanitizer -#options KASAN -#no options SVS -#options POOL_QUARANTINE +makeoptions KASAN=1 # Kernel Address Sanitizer +options KASAN +no options SVS +options POOL_QUARANTINE # Kernel Info Leak Detector. #makeoptions KLEAK=1 #options KLEAK # Kernel Code Coverage Driver. -#makeoptions KCOV=1 -#options KCOV +makeoptions KCOV=1 +options KCOV # Compatibility options # x86_64 never shipped with a.out binaries; the two options below are Index: sys/arch/amd64/conf/Makefile.amd64 =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/conf/Makefile.amd64,v retrieving revision 1.77 diff -u -r1.77 Makefile.amd64 --- sys/arch/amd64/conf/Makefile.amd64 22 May 2019 08:31:25 -0000 1.77 +++ sys/arch/amd64/conf/Makefile.amd64 29 May 2019 17:08:04 -0000 @@ -54,7 +54,8 @@ --param asan-globals=1 --param asan-stack=1 \ -fsanitize-address-use-after-scope \ -fasan-shadow-offset=0xDFFF900000000000 -.for f in subr_asan.c subr_kcov.c subr_lwp_specificdata.c subr_specificdata.c +.for f in subr_asan.c subr_kcov.c subr_lwp_specificdata.c subr_specificdata.c \ + ubsan.c KASANFLAGS.${f}= # empty .endfor CFLAGS+= ${KASANFLAGS.${.IMPSRC:T}:U${KASANFLAGS}} Index: sys/kern/files.kern =================================================================== RCS file: /cvsroot/src/sys/kern/files.kern,v retrieving revision 1.34 diff -u -r1.34 files.kern --- sys/kern/files.kern 4 Apr 2019 20:19:07 -0000 1.34 +++ sys/kern/files.kern 29 May 2019 17:08:43 -0000 @@ -229,5 +229,11 @@ prefix ../common/lib/libc/misc file ubsan.c kubsan prefix -makeoptions kubsan CFLAGS+="-fsanitize=undefined" +makeoptions kubsan KUBSANFLAGS+="-fsanitize=undefined" +makeoptions kubsan KUBSANFLAGS_subr_asan_c+="" +makeoptions kubsan KUBSANFLAGS_subr_kcov_c+="" +makeoptions kubsan KUBSANFLAGS_subr_lwp_specificdata_c+="" +makeoptions kubsan KUBSANFLAGS_subr_specificdata_c+="" +makeoptions kubsan KUBSANFLAGS_ubsan_c+="" +makeoptions kubsan CFLAGS+="${KUBSANFLAGS_${.IMPSRC:T:S/./_/}:U${KUBSANFLAGS}}" makeoptions kubsan CPPFLAGS+="-DACPI_MISALIGNMENT_NOT_SUPPORTED"