| From dd46741d9abb95c043e12c7c0497ea3e19726dfd Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 17 Jun 2020 18:25:57 +0200 |
| Subject: x86/entry: Increase entry_stack size to a full page |
| |
| From: Peter Zijlstra <peterz@infradead.org> |
| |
| [ Upstream commit c7aadc09321d8f9a1d3bd1e6d8a47222ecddf6c5 ] |
| |
| Marco crashed in bad_iret with a Clang11/KCSAN build due to |
| overflowing the stack. Now that we run C code on it, expand it to a |
| full page. |
| |
| Suggested-by: Andy Lutomirski <luto@amacapital.net> |
| Reported-by: Marco Elver <elver@google.com> |
| Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
| Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com> |
| Tested-by: Marco Elver <elver@google.com> |
| Link: https://lkml.kernel.org/r/20200618144801.819246178@infradead.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/x86/include/asm/processor.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h |
| index 54f5d54280f60..a07dfdf7759ec 100644 |
| --- a/arch/x86/include/asm/processor.h |
| +++ b/arch/x86/include/asm/processor.h |
| @@ -334,7 +334,7 @@ struct x86_hw_tss { |
| #define INVALID_IO_BITMAP_OFFSET 0x8000 |
| |
| struct entry_stack { |
| - unsigned long words[64]; |
| + char stack[PAGE_SIZE]; |
| }; |
| |
| struct entry_stack_page { |
| -- |
| 2.25.1 |
| |