Up to [local] / src / sys / sys
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.9 / (download) - annotate - [select for diffs], Sat Jul 29 06:52:08 2023 UTC (10 months, 1 week ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
HEAD
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored)
Avoid accessing curproc early during boot when kcov is enabled as it might be unassigned until all secondary processors are up and running.
Revision 1.8 / (download) - annotate - [select for diffs], Wed Dec 29 07:15:13 2021 UTC (2 years, 5 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.7: +2 -1 lines
Diff to previous 1.7 (colored)
Do not allow send/receive of kcov descriptors as the file descriptor can be kept alive longer than expected causing syzkaller to no longer being able to enable remote coverage. ok visa@ Reported-by: syzbot+ab2016d729cda7b0d003@syzkaller.appspotmail.com
Revision 1.7 / (download) - annotate - [select for diffs], Sat Sep 26 11:59:59 2020 UTC (3 years, 8 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8
Changes since 1.6: +1 -3 lines
Diff to previous 1.6 (colored)
KCOV_BUF_MAX_NMEMB is defined under _KERNEL in sys/kcov.h but only used in dev/kcov.c; therefore move it to dev/kcov.c.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Aug 1 08:40:20 2020 UTC (3 years, 10 months ago) by anton
Branch: MAIN
Changes since 1.5: +13 -1 lines
Diff to previous 1.5 (colored)
Add support for remote coverage to kcov. Remote coverage is collected from threads other than the one currently having kcov enabled. A thread with kcov enabled occasionally delegates work to another thread, collecting coverage from such threads improves the ability of syzkaller to correlate side effects in the kernel caused by issuing a syscall. Remote coverage is divided into subsystems. The only supported subsystem right now collects coverage from scheduled tasks and timeouts on behalf of a kcov enabled thread. In order to make this work `struct task' and `struct timeout' must be extended with a new field keeping track of the process that scheduled the task/timeout. Both aforementioned structures have therefore increased with the size of a pointer on all architectures. The kernel API is documented in a new kcov_remote_register(9) manual. Remote coverage is also supported by kcov on NetBSD and Linux. ok mpi@
Revision 1.5 / (download) - annotate - [select for diffs], Thu Jun 4 19:30:49 2020 UTC (4 years ago) by anton
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)
add missing forward declaration of struct proc
Revision 1.4 / (download) - annotate - [select for diffs], Sun Jan 20 09:57:23 2019 UTC (5 years, 4 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE,
OPENBSD_6_7,
OPENBSD_6_6_BASE,
OPENBSD_6_6,
OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)
Add support for a new kcov trace mode called KCOV_MODE_TRACE_CMP where comparison instructions and switch statements are being traced. This mode will be used during fuzzing to generate even more coverage. The same mode is also supported by FreeBSD and Linux. Thanks to jmc@ for improving the manual bits. ok bluhm@ visa@
Revision 1.3 / (download) - annotate - [select for diffs], Thu Dec 27 19:33:08 2018 UTC (5 years, 5 months ago) by anton
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)
Make KIOENABLE accept a mode argument, currently limited to KCOV_MODE_TRACE_PC. Thanks to jmc@ for improving the manual bits. ok deraadt@ mpi@
Revision 1.2 / (download) - annotate - [select for diffs], Thu Dec 27 10:04:16 2018 UTC (5 years, 5 months ago) by anton
Branch: MAIN
Changes since 1.1: +4 -1 lines
Diff to previous 1.1 (colored)
Separate kcov descriptor state and trace mode as a first step towards supporting different trace modes. ok mpi@
Revision 1.1 / (download) - annotate - [select for diffs], Sun Aug 19 11:42:33 2018 UTC (5 years, 9 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4
Add kcov(4), a kernel code coverage tracing driver. It's used in conjunction with the syzkaller kernel fuzzer. So far, 8 distinct panics have been found and fixed. This effort will continue. kcov is limited to architectures using Clang as their default compiler and is not enabled by default. With help from mpi@, thanks! ok kettenis@ mpi@ visa@