livepatch: kernel: add TAINT_LIVEPATCH
This adds a new taint flag to indicate when the kernel or a kernel module has been live patched. This will provide a clean indication in bug reports that live patching was used. Additionally, if the crash occurs in a live patched function, the live patch module will appear beside the patched function in the backtrace. Signed-off-by: Seth Jennings <sjenning@redhat.com> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Reviewed-by: Miroslav Benes <mbenes@suse.cz> Reviewed-by: Petr Mladek <pmladek@suse.cz> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
97bf6af1f9
commit
c5f4546593
|
@ -270,6 +270,8 @@ characters, each representing a particular tainted value.
|
|||
|
||||
15: 'L' if a soft lockup has previously occurred on the system.
|
||||
|
||||
16: 'K' if the kernel has been live patched.
|
||||
|
||||
The primary reason for the 'Tainted: ' string is to tell kernel
|
||||
debuggers if this is a clean kernel or if anything unusual has
|
||||
occurred. Tainting is permanent: even if an offending module is
|
||||
|
|
|
@ -843,6 +843,7 @@ can be ORed together:
|
|||
8192 - An unsigned module has been loaded in a kernel supporting module
|
||||
signature.
|
||||
16384 - A soft lockup has previously occurred on the system.
|
||||
32768 - The kernel has been live patched.
|
||||
|
||||
==============================================================
|
||||
|
||||
|
|
|
@ -471,6 +471,7 @@ extern enum system_states {
|
|||
#define TAINT_OOT_MODULE 12
|
||||
#define TAINT_UNSIGNED_MODULE 13
|
||||
#define TAINT_SOFTLOCKUP 14
|
||||
#define TAINT_LIVEPATCH 15
|
||||
|
||||
extern const char hex_asc[];
|
||||
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
|
||||
|
|
|
@ -226,6 +226,7 @@ static const struct tnt tnts[] = {
|
|||
{ TAINT_OOT_MODULE, 'O', ' ' },
|
||||
{ TAINT_UNSIGNED_MODULE, 'E', ' ' },
|
||||
{ TAINT_SOFTLOCKUP, 'L', ' ' },
|
||||
{ TAINT_LIVEPATCH, 'K', ' ' },
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -246,6 +247,7 @@ static const struct tnt tnts[] = {
|
|||
* 'O' - Out-of-tree module has been loaded.
|
||||
* 'E' - Unsigned module has been loaded.
|
||||
* 'L' - A soft lockup has previously occurred.
|
||||
* 'K' - Kernel has been live patched.
|
||||
*
|
||||
* The string is overwritten by the next call to print_tainted().
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue