| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | .\" $NetBSD: kernel_sanitizers.7,v 1.5 2020/07/12 10:10:53 maxv Exp $ | | 1 | .\" $NetBSD: kernel_sanitizers.7,v 1.6 2020/07/12 13:40:44 skrll Exp $ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 2020 The NetBSD Foundation, Inc. | | 3 | .\" Copyright (c) 2020 The NetBSD Foundation, Inc. |
4 | .\" All rights reserved. | | 4 | .\" All rights reserved. |
5 | .\" | | 5 | .\" |
6 | .\" This code is derived from software contributed to The NetBSD Foundation | | 6 | .\" This code is derived from software contributed to The NetBSD Foundation |
7 | .\" by Maxime Villard. | | 7 | .\" by Maxime Villard. |
8 | .\" | | 8 | .\" |
9 | .\" Redistribution and use in source and binary forms, with or without | | 9 | .\" Redistribution and use in source and binary forms, with or without |
10 | .\" modification, are permitted provided that the following conditions | | 10 | .\" modification, are permitted provided that the following conditions |
11 | .\" are met: | | 11 | .\" are met: |
12 | .\" 1. Redistributions of source code must retain the above copyright | | 12 | .\" 1. Redistributions of source code must retain the above copyright |
13 | .\" notice, this list of conditions and the following disclaimer. | | 13 | .\" notice, this list of conditions and the following disclaimer. |
14 | .\" 2. Redistributions in binary form must reproduce the above copyright | | 14 | .\" 2. Redistributions in binary form must reproduce the above copyright |
| @@ -40,27 +40,27 @@ executes. | | | @@ -40,27 +40,27 @@ executes. |
40 | .Pp | | 40 | .Pp |
41 | .Nx | | 41 | .Nx |
42 | supports four kernel sanitizers. | | 42 | supports four kernel sanitizers. |
43 | They are not mutually compatible, and only one can be enabled at a time, via | | 43 | They are not mutually compatible, and only one can be enabled at a time, via |
44 | compilation options. | | 44 | compilation options. |
45 | .Sh KUBSAN | | 45 | .Sh KUBSAN |
46 | Kernel Undefined Behavior Sanitizer, specializes in finding several types of | | 46 | Kernel Undefined Behavior Sanitizer, specializes in finding several types of |
47 | undefined behaviors, such a misaligned accesses and integer overflows. | | 47 | undefined behaviors, such a misaligned accesses and integer overflows. |
48 | .Ss Runtime cost | | 48 | .Ss Runtime cost |
49 | Heavy runtime checks. | | 49 | Heavy runtime checks. |
50 | .Ss Used components | | 50 | .Ss Used components |
51 | Compiler instrumentation and an entirely MI runtime. | | 51 | Compiler instrumentation and an entirely MI runtime. |
52 | .Ss Supported architectures | | 52 | .Ss Supported architectures |
53 | aarch64 (gcc), amd64 (gcc). | | 53 | aarch64 (gcc), amd64 (gcc), arm (gcc). |
54 | [Theoretically supported on all other architectures with no MD change required] | | 54 | [Theoretically supported on all other architectures with no MD change required] |
55 | .Ss Files | | 55 | .Ss Files |
56 | .Bl -tag -width XXXX -compact | | 56 | .Bl -tag -width XXXX -compact |
57 | .It Pa src/common/lib/libc/misc/ubsan.c | | 57 | .It Pa src/common/lib/libc/misc/ubsan.c |
58 | Core KUBSAN code. | | 58 | Core KUBSAN code. |
59 | MI. | | 59 | MI. |
60 | .El | | 60 | .El |
61 | .Sh KASAN | | 61 | .Sh KASAN |
62 | Kernel Address Sanitizer, specializes in finding memory corruptions such as | | 62 | Kernel Address Sanitizer, specializes in finding memory corruptions such as |
63 | buffer overflows and use-after-frees. | | 63 | buffer overflows and use-after-frees. |
64 | .Ss Runtime cost | | 64 | .Ss Runtime cost |
65 | Heavy runtime checks, and ~12.5% increase in memory consumption. | | 65 | Heavy runtime checks, and ~12.5% increase in memory consumption. |
66 | .Ss Used components | | 66 | .Ss Used components |