diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-18 15:12:19 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-15 23:03:30 +0530 |
commit | c3581039b6c51a778a70accec53a9bb7ad9a4d32 (patch) | |
tree | 6816e82f1a59fe3d4fbf8c291d3f52598531c50c /arch/arc/include/asm/sigcontext.h | |
parent | d8005e6b95268cbb50db3773d5f180c32a9434fe (diff) |
ARC: Signal handling
Includes following fixes courtesy review by Al-Viro
* Tracer poke to Callee-regs were lost
Before going off into do_signal( ) we save the user-mode callee regs
(as they are not saved by default as part of pt_regs). This is to make
sure that that a Tracer (if tracing related signal) is able to do likes
of PEEKUSR(callee-reg).
However in return path we were simply discarding the user-mode callee
regs, which would break a POKEUSR(callee-reg) from a tracer.
* Issue related to multiple syscall restarts are addressed in next patch
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Acked-by: Jonas Bonn <jonas@southpole.se>
Diffstat (limited to 'arch/arc/include/asm/sigcontext.h')
-rw-r--r-- | arch/arc/include/asm/sigcontext.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arc/include/asm/sigcontext.h b/arch/arc/include/asm/sigcontext.h new file mode 100644 index 00000000000..9678a11fc15 --- /dev/null +++ b/arch/arc/include/asm/sigcontext.h @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _ASM_ARC_SIGCONTEXT_H +#define _ASM_ARC_SIGCONTEXT_H + +#include <asm/ptrace.h> + +/* + * Signal context structure - contains all info to do with the state + * before the signal handler was invoked. + */ +struct sigcontext { + struct user_regs_struct regs; +}; + +#endif /* _ASM_ARC_SIGCONTEXT_H */ |