summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorThomas Meyer <thomas@m3y3r.de>2017-07-06 00:31:14 +0200
committerRichard Weinberger <richard@nod.at>2017-07-07 10:37:42 +0200
commit22e19c8d062cc19832cde13225cbc6e5283cd969 (patch)
treefc86594a99176eef08e1532691cc1fa9560b7ce9 /arch/um
parent1bcbfbfdeb0091036db7a32e1cd31b49cce5983a (diff)
downloadlinux-stable-22e19c8d062cc19832cde13225cbc6e5283cd969.tar.gz
linux-stable-22e19c8d062cc19832cde13225cbc6e5283cd969.tar.bz2
linux-stable-22e19c8d062cc19832cde13225cbc6e5283cd969.zip
um: userspace - be more verbose in ptrace set regs error
When ptrace fails to set GP/FP regs for the target process, log the error before crashing the UML kernel. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/os-Linux/skas/process.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index 03b3c4cc7735..31c9be2c2bdd 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -323,11 +323,17 @@ void userspace(struct uml_pt_regs *regs)
* fail. In this case, there is nothing to do but
* just kill the process.
*/
- if (ptrace(PTRACE_SETREGS, pid, 0, regs->gp))
+ if (ptrace(PTRACE_SETREGS, pid, 0, regs->gp)) {
+ printk(UM_KERN_ERR "userspace - ptrace set regs "
+ "failed, errno = %d\n", errno);
fatal_sigsegv();
+ }
- if (put_fp_registers(pid, regs->fp))
+ if (put_fp_registers(pid, regs->fp)) {
+ printk(UM_KERN_ERR "userspace - ptrace set fp regs "
+ "failed, errno = %d\n", errno);
fatal_sigsegv();
+ }
/* Now we set local_using_sysemu to be used for one loop */
local_using_sysemu = get_using_sysemu();