diff options
author | Zhenlei Huang <zlei@FreeBSD.org> | 2023-10-12 10:14:48 +0000 |
---|---|---|
committer | Zhenlei Huang <zlei@FreeBSD.org> | 2023-10-24 14:35:51 +0000 |
commit | 5edc166571c44e61140e3b0cc8105c2a63bd47a4 (patch) | |
tree | e8319801ab9fd6afe171d34cf1ea62149018e05c | |
parent | 423bb3869b71c7e068fc89740c9d6cfdb9cb7be1 (diff) | |
download | src-5edc166571c44e61140e3b0cc8105c2a63bd47a4.tar.gz src-5edc166571c44e61140e3b0cc8105c2a63bd47a4.zip |
kasan: Add corresponding sysctl knob for loader tunable
The loader tunable 'debug.kasan.disabled' does not have corresponding
sysctl MIB entry. Add it so that it can be retrieved, and `sysctl -T`
will also report it correctly.
Reviewed by: markj
Approved by: re (gjb)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42138
(cherry picked from commit db5d0bc868be669ed6588ebeccf8c02e76aabc41)
(cherry picked from commit 6f8ef4d6e44ee27a08c14ab6a892ffccf332bcf7)
-rw-r--r-- | sys/kern/subr_asan.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/kern/subr_asan.c b/sys/kern/subr_asan.c index 44c96435a499..c3664d9cf6c2 100644 --- a/sys/kern/subr_asan.c +++ b/sys/kern/subr_asan.c @@ -92,7 +92,10 @@ SYSCTL_INT(_debug_kasan, OID_AUTO, panic_on_violation, CTLFLAG_RDTUN, &panic_on_violation, 0, "Panic if an invalid access is detected"); -static bool kasan_enabled __read_mostly = false; +#define kasan_enabled (!kasan_disabled) +static bool kasan_disabled __read_mostly = true; +SYSCTL_BOOL(_debug_kasan, OID_AUTO, disabled, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, + &kasan_disabled, 0, "KASAN is disabled"); /* -------------------------------------------------------------------------- */ @@ -136,7 +139,7 @@ kasan_init(void) kasan_md_init(); /* Now officially enabled. */ - kasan_enabled = true; + kasan_disabled = false; } void @@ -180,7 +183,7 @@ kasan_code_name(uint8_t code) #define REPORT(f, ...) do { \ if (panic_on_violation) { \ - kasan_enabled = false; \ + kasan_disabled = true; \ panic(f, __VA_ARGS__); \ } else { \ struct stack st; \ |