From: Dave Hansen <[email protected]> Currently, all of the checks for KAISER are compile-time checks. We also need runtime checks if we are going to turn it on/off at runtime.
Add a function to do that. Signed-off-by: Dave Hansen <[email protected]> Cc: Moritz Lipp <[email protected]> Cc: Daniel Gruss <[email protected]> Cc: Michael Schwarz <[email protected]> Cc: Richard Fellner <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Kees Cook <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: [email protected] --- b/arch/x86/include/asm/kaiser.h | 5 +++++ b/include/linux/kaiser.h | 4 ++++ 2 files changed, 9 insertions(+) diff -puN arch/x86/include/asm/kaiser.h~kaiser-dynamic-check-func arch/x86/include/asm/kaiser.h --- a/arch/x86/include/asm/kaiser.h~kaiser-dynamic-check-func 2017-11-08 10:45:40.224681368 -0800 +++ b/arch/x86/include/asm/kaiser.h 2017-11-08 10:45:40.229681368 -0800 @@ -50,6 +50,11 @@ extern void kaiser_remove_mapping(unsign */ extern void kaiser_init(void); +static inline bool kaiser_active(void) +{ + extern int kaiser_enabled; + return kaiser_enabled; +} #endif #endif /* __ASSEMBLY__ */ diff -puN include/linux/kaiser.h~kaiser-dynamic-check-func include/linux/kaiser.h --- a/include/linux/kaiser.h~kaiser-dynamic-check-func 2017-11-08 10:45:40.225681368 -0800 +++ b/include/linux/kaiser.h 2017-11-08 10:45:40.229681368 -0800 @@ -25,5 +25,9 @@ static inline int kaiser_add_mapping(uns return 0; } +static inline bool kaiser_active(void) +{ + return 0; +} #endif /* !CONFIG_KAISER */ #endif /* _INCLUDE_KAISER_H */ _

