Page MenuHomeFreeBSD

D47714.id146864.diff
No OneTemporary

D47714.id146864.diff

diff --git a/sys/kern/kern_vnodedumper.c b/sys/kern/kern_vnodedumper.c
--- a/sys/kern/kern_vnodedumper.c
+++ b/sys/kern/kern_vnodedumper.c
@@ -133,8 +133,10 @@
if (error != 0)
goto out;
+ curthread->td_pflags2 |= TDP2_SAN_QUIET;
dump_savectx();
error = minidumpsys(livedi, true);
+ curthread->td_pflags2 &= ~TDP2_SAN_QUIET;
EVENTHANDLER_INVOKE(livedumper_finish);
out:
diff --git a/sys/kern/subr_asan.c b/sys/kern/subr_asan.c
--- a/sys/kern/subr_asan.c
+++ b/sys/kern/subr_asan.c
@@ -403,7 +403,8 @@
uint8_t code;
bool valid;
- if (__predict_false(!kasan_enabled))
+ if (__predict_false(!kasan_enabled ||
+ (curthread->td_pflags2 & TDP2_SAN_QUIET) != 0))
return;
if (__predict_false(size == 0))
return;
diff --git a/sys/kern/subr_msan.c b/sys/kern/subr_msan.c
--- a/sys/kern/subr_msan.c
+++ b/sys/kern/subr_msan.c
@@ -177,7 +177,8 @@
char buf[128];
int type;
- if (__predict_false(KERNEL_PANICKED() || kdb_active || kmsan_reporting))
+ if (__predict_false(KERNEL_PANICKED() || kdb_active ||
+ kmsan_reporting || (curthread->td_pflags2 & TDP2_SAN_QUIET) != 0))
return;
kmsan_reporting = true;
@@ -230,7 +231,8 @@
long foff;
int type;
- if (__predict_false(KERNEL_PANICKED() || kdb_active || kmsan_reporting))
+ if (__predict_false(KERNEL_PANICKED() || kdb_active ||
+ kmsan_reporting || (curthread->td_pflags2 & TDP2_SAN_QUIET) != 0))
return;
kmsan_reporting = true;
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -567,6 +567,7 @@
#define TDP2_SBPAGES 0x00000001 /* Owns sbusy on some pages */
#define TDP2_COMPAT32RB 0x00000002 /* compat32 ABI for robust lists */
#define TDP2_ACCT 0x00000004 /* Doing accounting */
+#define TDP2_SAN_QUIET 0x00000008 /* Disable warnings from K(A|M)SAN */
/*
* Reasons that the current thread can not be run yet.

File Metadata

Mime Type
text/plain
Expires
Fri, Jun 26, 1:53 AM (3 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34336111
Default Alt Text
D47714.id146864.diff (1 KB)

Event Timeline