Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



Module Name:    src
Committed By:   kamil
Date:           Sat Feb 23 03:10:06 UTC 2019

Modified Files:
        src/distrib/sets/lists/comp: mi
        src/distrib/sets/lists/man: mi
        src/distrib/sets/lists/tests: module.mi
        src/etc: MAKEDEV.tmpl
        src/share/man/man4: Makefile
        src/share/mk: bsd.sys.mk
        src/sys/arch/amd64/conf: GENERIC
        src/sys/conf: files majors ssp.mk
        src/sys/kern: files.kern
        src/sys/sys: Makefile
        src/tests/modules: Makefile
Added Files:
        src/share/man/man4: kcov.4
        src/sys/kern: subr_kcov.c
        src/sys/sys: kcov.h
        src/tests/modules: t_kcov.c

Log Message:
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 <maxv>
and polished by myself before importing into the mainline tree.

All ATF tests pass.


To generate a diff of this commit:
cvs rdiff -u -r1.2258 -r1.2259 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.1637 -r1.1638 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.16 -r1.17 src/distrib/sets/lists/tests/module.mi
cvs rdiff -u -r1.197 -r1.198 src/etc/MAKEDEV.tmpl
cvs rdiff -u -r1.677 -r1.678 src/share/man/man4/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man4/kcov.4
cvs rdiff -u -r1.290 -r1.291 src/share/mk/bsd.sys.mk
cvs rdiff -u -r1.516 -r1.517 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.1229 -r1.1230 src/sys/conf/files
cvs rdiff -u -r1.80 -r1.81 src/sys/conf/majors
cvs rdiff -u -r1.3 -r1.4 src/sys/conf/ssp.mk
cvs rdiff -u -r1.32 -r1.33 src/sys/kern/files.kern
cvs rdiff -u -r0 -r1.1 src/sys/kern/subr_kcov.c
cvs rdiff -u -r1.168 -r1.169 src/sys/sys/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/sys/kcov.h
cvs rdiff -u -r1.14 -r1.15 src/tests/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/modules/t_kcov.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index