diff options
author | Jiri Slaby <jslaby@suse.cz> | 2019-09-06 10:55:49 +0300 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2019-09-06 11:34:15 +0300 |
commit | 559ceeed62a5121783a8955c63aeb18aaa0ef224 (patch) | |
tree | bcb93c9ad32ff3c9ee49ac50c80236d915f58b69 /arch/x86/lib/getuser.S | |
parent | db4e919d9a119b7c54eb5e5ac9bee5d3eb4cb859 (diff) | |
download | linux-559ceeed62a5121783a8955c63aeb18aaa0ef224.tar.xz |
x86/asm/suspend: Get rid of bogus_64_magic
bogus_64_magic is only a dead-end loop. There is no need for an
out-of-order function (and unannotated local label), so just handle it
in-place and also store 0xbad-m-a-g-i-c to %rcx beforehand, in case
someone is inspecting registers.
Here a qemu+gdb example:
Remote debugging using localhost:1235
wakeup_long64 () at arch/x86/kernel/acpi/wakeup_64.S:26
26 jmp 1b
(gdb) info registers
rax 0x123456789abcdef0 1311768467463790320
rbx 0x0 0
rcx 0xbad6d61676963 3286910041024867
^^^^^^^^^^^^^^^
[ bp: Add the gdb example. ]
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Len Brown <lenb@kernel.org>
Cc: linux-pm@vger.kernel.org
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86-ml <x86@kernel.org>
Link: https://lkml.kernel.org/r/20190906075550.23435-1-jslaby@suse.cz
Diffstat (limited to 'arch/x86/lib/getuser.S')
0 files changed, 0 insertions, 0 deletions