| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Kees Cook <keescook@chromium.org> |
| Date: Fri, 5 May 2017 21:51:16 -0700 |
| Subject: x86/boot: Declare error() as noreturn |
| |
| From: Kees Cook <keescook@chromium.org> |
| |
| |
| [ Upstream commit 60854a12d281e2fa25662fa32ac8022bbff17432 ] |
| |
| The compressed boot function error() is used to halt execution, but it |
| wasn't marked with "noreturn". This fixes that in preparation for |
| supporting kernel FORTIFY_SOURCE, which uses the noreturn annotation |
| on panic, and calls error(). GCC would warn about a noreturn function |
| calling a non-noreturn function: |
| |
| arch/x86/boot/compressed/misc.c: In function ‘fortify_panic’: |
| arch/x86/boot/compressed/misc.c:416:1: warning: ‘noreturn’ function does return |
| } |
| ^ |
| |
| Signed-off-by: Kees Cook <keescook@chromium.org> |
| Cc: Daniel Micay <danielmicay@gmail.com> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Cc: H. Peter Anvin <hpa@zytor.com> |
| Link: http://lkml.kernel.org/r/20170506045116.GA2879@beast |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/boot/compressed/error.h | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/arch/x86/boot/compressed/error.h |
| +++ b/arch/x86/boot/compressed/error.h |
| @@ -1,7 +1,9 @@ |
| #ifndef BOOT_COMPRESSED_ERROR_H |
| #define BOOT_COMPRESSED_ERROR_H |
| |
| +#include <linux/compiler.h> |
| + |
| void warn(char *m); |
| -void error(char *m); |
| +void error(char *m) __noreturn; |
| |
| #endif /* BOOT_COMPRESSED_ERROR_H */ |