Skip to content

Commit 1352330

Browse files
jpoimboeIngo Molnar
authored andcommitted
x86/asm/acpi: Create a stack frame in do_suspend_lowlevel()
do_suspend_lowlevel() is a callable non-leaf function which doesn't honor CONFIG_FRAME_POINTER, which can result in bad stack traces. Create a stack frame for it when CONFIG_FRAME_POINTER is enabled. Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Reviewed-by: Borislav Petkov <bp@suse.de> Acked-by: Pavel Machek <pavel@ucw.cz> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Andy Lutomirski <luto@kernel.org> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Chris J Arges <chris.j.arges@canonical.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Jiri Slaby <jslaby@suse.cz> Cc: Len Brown <len.brown@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Pedro Alves <palves@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: live-patching@vger.kernel.org Link: http://lkml.kernel.org/r/7383d87dd40a460e0d757a0793498b9d06a7ee0d.1453405861.git.jpoimboe@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 058fb73 commit 1352330

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

arch/x86/kernel/acpi/wakeup_64.S

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <asm/page_types.h>
66
#include <asm/msr.h>
77
#include <asm/asm-offsets.h>
8+
#include <asm/frame.h>
89

910
# Copyright 2003 Pavel Machek <pavel@suse.cz>, distribute under GPLv2
1011

@@ -39,6 +40,7 @@ bogus_64_magic:
3940
jmp bogus_64_magic
4041

4142
ENTRY(do_suspend_lowlevel)
43+
FRAME_BEGIN
4244
subq $8, %rsp
4345
xorl %eax, %eax
4446
call save_processor_state
@@ -109,6 +111,7 @@ ENTRY(do_suspend_lowlevel)
109111

110112
xorl %eax, %eax
111113
addq $8, %rsp
114+
FRAME_END
112115
jmp restore_processor_state
113116
ENDPROC(do_suspend_lowlevel)
114117

0 commit comments

Comments
 (0)