Up to [local] / src / sys / kern
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.12 / (download) - annotate - [select for diffs], Wed Nov 6 19:16:48 2019 UTC (4 years, 7 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1,
OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7,
HEAD
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored)
Use atomic operations consistently while writing to kubsan_slot. Otherwise, reports might go by unnoticed. Prodded by and ok visa@
Revision 1.11 / (download) - annotate - [select for diffs], Mon Nov 4 17:51:22 2019 UTC (4 years, 7 months ago) by anton
Branch: MAIN
Changes since 1.10: +14 -17 lines
Diff to previous 1.10 (colored)
Regularly poll and report kubsan findings using the timeout(9) API instead of task(9). Undefined behavior can potentially be present in any context and calling task_add() isn't always safe. ok visa@
Revision 1.10 / (download) - annotate - [select for diffs], Sun Nov 3 16:23:36 2019 UTC (4 years, 7 months ago) by anton
Branch: MAIN
Changes since 1.9: +5 -7 lines
Diff to previous 1.9 (colored)
rework kubsan_state into simpler boolean named kubsan_cold
Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 3 16:16:06 2019 UTC (4 years, 7 months ago) by anton
Branch: MAIN
Changes since 1.8: +41 -1 lines
Diff to previous 1.8 (colored)
add missing handler for float cast overflow; caused by code in sys/dev/pci/drm/amd/display/dc/calcs/dcn_calc_auto.c
Revision 1.8 / (download) - annotate - [select for diffs], Thu Jun 20 14:55:22 2019 UTC (4 years, 11 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.7: +380 -218 lines
Diff to previous 1.7 (colored)
Undefined behavior (UB) can potentially be present anywhere in the kernel. kubsan reports findings using printf() and assuming that calling printf() is safe in all contexts can be problematic. Instead, defer reporting of findings to the systq task queue. Storage for findings is allocated early in the boot process in order to catch potential UB during boot. The same findings are reported once the task queue subsystem has been initialized. Feedback from kettenis@ and ok mpi@
Revision 1.7 / (download) - annotate - [select for diffs], Mon Jun 3 19:39:16 2019 UTC (5 years ago) by anton
Branch: MAIN
Changes since 1.6: +5 -5 lines
Diff to previous 1.6 (colored)
sort struct declarations
Revision 1.6 / (download) - annotate - [select for diffs], Fri May 24 18:51:05 2019 UTC (5 years ago) by anton
Branch: MAIN
Changes since 1.5: +7 -5 lines
Diff to previous 1.5 (colored)
rename struct for consistency
Revision 1.5 / (download) - annotate - [select for diffs], Fri May 24 18:48:05 2019 UTC (5 years ago) by anton
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)
fix incorrect order of arguments
Revision 1.4 / (download) - annotate - [select for diffs], Fri May 24 18:43:58 2019 UTC (5 years ago) by anton
Branch: MAIN
Changes since 1.3: +31 -3 lines
Diff to previous 1.3 (colored)
A source location in kubsan is an absolute path making reports quite long. Instead, use everything after the first /sys/ segment as the path.
Revision 1.3 / (download) - annotate - [select for diffs], Fri May 24 18:35:41 2019 UTC (5 years ago) by anton
Branch: MAIN
Changes since 1.2: +48 -4 lines
Diff to previous 1.2 (colored)
The latest inteldrm update brought along code making use of __attribute__((nonnull)); which the undefined behavior sanitizer in clang is aware of. A new handler is therefore needed in order to compile a kernel with kubsan enabled. ok visa@
Revision 1.2 / (download) - annotate - [select for diffs], Tue Mar 19 20:13:54 2019 UTC (5 years, 2 months ago) by anton
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)
correct LOCATION_REPORTED mask
Revision 1.1 / (download) - annotate - [select for diffs], Mon Mar 18 17:30:08 2019 UTC (5 years, 2 months ago) by anton
Branch: MAIN
Add kubsan(4), a undefined behavior sanitizer for the kernel. It's capable of detecting undefined behavior at runtime and all findings are printed to the system console, including the offending line in the source code. kubsan is limited to architectures using Clang as their default compiler and is not enabled by default. Derived from the NetBSD implementation. ok kettenis@ visa@