summaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorMickaël Salaün <mic@digikod.net>2015-12-29 21:35:44 +0100
committerRichard Weinberger <richard@nod.at>2016-01-10 21:49:48 +0100
commite04c989eb785af61d2895d76d38c09166296f9c5 (patch)
treea4698bceed0851ec151539c275e5d615da506d36 /arch/um/include
parenta7df4716d19594b7b3f106f0bc0ca1c548e508e6 (diff)
downloadlinux-stable-e04c989eb785af61d2895d76d38c09166296f9c5.tar.gz
linux-stable-e04c989eb785af61d2895d76d38c09166296f9c5.tar.bz2
linux-stable-e04c989eb785af61d2895d76d38c09166296f9c5.zip
um: Fix ptrace GETREGS/SETREGS bugs
This fix two related bugs: * PTRACE_GETREGS doesn't get the right orig_ax (syscall) value * PTRACE_SETREGS can't set the orig_ax value (erased by initial value) Get rid of the now useless and error-prone get_syscall(). Fix inconsistent behavior in the ptrace implementation for i386 when updating orig_eax automatically update the syscall number as well. This is now updated in handle_syscall(). Signed-off-by: Mickaël Salaün <mic@digikod.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Kees Cook <keescook@chromium.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Will Drewry <wad@chromium.org> Cc: Thomas Meyer <thomas@m3y3r.de> Cc: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Cc: Anton Ivanov <aivanov@brocade.com> Cc: Meredydd Luff <meredydd@senatehouse.org> Cc: David Drysdale <drysdale@google.com> Signed-off-by: Richard Weinberger <richard@nod.at> Acked-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/shared/os.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h
index 7a04ddd85334..de5d572225f3 100644
--- a/arch/um/include/shared/os.h
+++ b/arch/um/include/shared/os.h
@@ -284,7 +284,6 @@ extern void initial_thread_cb_skas(void (*proc)(void *),
void *arg);
extern void halt_skas(void);
extern void reboot_skas(void);
-extern int get_syscall(struct uml_pt_regs *regs);
/* irq.c */
extern int os_waiting_for_events(struct irq_fd *active_fds);