From: Bertrand Marquis Date: Mon, 26 Oct 2020 16:21:32 +0000 (+0000) Subject: xen: Add an unsecure Taint type X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~1451 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=82c0d3d491ccb183cf12c87775086b68531b8444;p=xen.git xen: Add an unsecure Taint type Define a new Unsecure taint type to be used to signal a system tainted due to an unsecure configuration or hardware feature/errata. Signed-off-by: Bertrand Marquis Reviewed-by: Stefano Stabellini --- diff --git a/xen/common/kernel.c b/xen/common/kernel.c index c3a943f077..7a345ae45e 100644 --- a/xen/common/kernel.c +++ b/xen/common/kernel.c @@ -326,6 +326,7 @@ unsigned int tainted; * 'E' - An error (e.g. a machine check exceptions) has been injected. * 'H' - HVM forced emulation prefix is permitted. * 'M' - Machine had a machine check experience. + * 'U' - Platform is unsecure (usually due to an errata on the platform). * * The string is overwritten by the next call to print_taint(). */ @@ -333,7 +334,8 @@ char *print_tainted(char *str) { if ( tainted ) { - snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c", + snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c", + tainted & TAINT_MACHINE_UNSECURE ? 'U' : ' ', tainted & TAINT_MACHINE_CHECK ? 'M' : ' ', tainted & TAINT_SYNC_CONSOLE ? 'C' : ' ', tainted & TAINT_ERROR_INJECT ? 'E' : ' ', diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h index 1983bd6b86..a9679c913d 100644 --- a/xen/include/xen/lib.h +++ b/xen/include/xen/lib.h @@ -193,6 +193,7 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c); #define TAINT_MACHINE_CHECK (1u << 1) #define TAINT_ERROR_INJECT (1u << 2) #define TAINT_HVM_FEP (1u << 3) +#define TAINT_MACHINE_UNSECURE (1u << 4) extern unsigned int tainted; #define TAINT_STRING_MAX_LEN 20 extern char *print_tainted(char *str);