--- - branch: MAIN date: Sat Feb 23 03:10:06 UTC 2019 files: - new: '1.2259' old: '1.2258' path: src/distrib/sets/lists/comp/mi pathrev: src/distrib/sets/lists/comp/mi@1.2259 type: modified - new: '1.1638' old: '1.1637' path: src/distrib/sets/lists/man/mi pathrev: src/distrib/sets/lists/man/mi@1.1638 type: modified - new: '1.17' old: '1.16' path: src/distrib/sets/lists/tests/module.mi pathrev: src/distrib/sets/lists/tests/module.mi@1.17 type: modified - new: '1.198' old: '1.197' path: src/etc/MAKEDEV.tmpl pathrev: src/etc/MAKEDEV.tmpl@1.198 type: modified - new: '1.678' old: '1.677' path: src/share/man/man4/Makefile pathrev: src/share/man/man4/Makefile@1.678 type: modified - new: '1.1' old: '0' path: src/share/man/man4/kcov.4 pathrev: src/share/man/man4/kcov.4@1.1 type: added - new: '1.291' old: '1.290' path: src/share/mk/bsd.sys.mk pathrev: src/share/mk/bsd.sys.mk@1.291 type: modified - new: '1.517' old: '1.516' path: src/sys/arch/amd64/conf/GENERIC pathrev: src/sys/arch/amd64/conf/GENERIC@1.517 type: modified - new: '1.1230' old: '1.1229' path: src/sys/conf/files pathrev: src/sys/conf/files@1.1230 type: modified - new: '1.81' old: '1.80' path: src/sys/conf/majors pathrev: src/sys/conf/majors@1.81 type: modified - new: '1.4' old: '1.3' path: src/sys/conf/ssp.mk pathrev: src/sys/conf/ssp.mk@1.4 type: modified - new: '1.33' old: '1.32' path: src/sys/kern/files.kern pathrev: src/sys/kern/files.kern@1.33 type: modified - new: '1.1' old: '0' path: src/sys/kern/subr_kcov.c pathrev: src/sys/kern/subr_kcov.c@1.1 type: added - new: '1.169' old: '1.168' path: src/sys/sys/Makefile pathrev: src/sys/sys/Makefile@1.169 type: modified - new: '1.1' old: '0' path: src/sys/sys/kcov.h pathrev: src/sys/sys/kcov.h@1.1 type: added - new: '1.15' old: '1.14' path: src/tests/modules/Makefile pathrev: src/tests/modules/Makefile@1.15 type: modified - new: '1.1' old: '0' path: src/tests/modules/t_kcov.c pathrev: src/tests/modules/t_kcov.c@1.1 type: added id: 20190223T031006Z.5a8fa76128f2332d30f1cd36bc066a1608437c22 log: | Add KCOV - kernel code coverage tracing device The KCOV driver implements collection of code coverage inside the kernel. It can be enabled on a per process basis from userland, allowing the kernel program counter to be collected during syscalls triggered by the same process. The device is oriented towards kernel fuzzers, in particular syzkaller. Currently the only supported coverage type is -fsanitize-coverage=trace-pc. The KCOV driver was initially developed in Linux. A driver based on the same concept was then implemented in FreeBSD and OpenBSD. Documentation is borrowed from OpenBSD and ATF tests from FreeBSD. This patch has been prepared by Siddharth Muralee, improved by and polished by myself before importing into the mainline tree. All ATF tests pass. module: src subject: 'CVS commit: src' unixtime: '1550891406' user: kamil