summaryrefslogtreecommitdiffstats
path: root/fs/compat_binfmt_elf.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2012-10-05 02:15:35 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-05 20:05:16 +0200
commit49ae4d4b113be03dc4a2ec5f2a1f573ff0fcddb3 (patch)
tree5c172a0ef5cbf57abf969bc13b0a4e3b4c50aefd /fs/compat_binfmt_elf.c
parentcompat: move compat_siginfo_t definition to asm/compat.h (diff)
downloadlinux-49ae4d4b113be03dc4a2ec5f2a1f573ff0fcddb3.tar.xz
linux-49ae4d4b113be03dc4a2ec5f2a1f573ff0fcddb3.zip
coredump: add a new elf note with siginfo of the signal
Existing PRSTATUS note contains only si_signo, si_code, si_errno fields from the siginfo of the signal which caused core to be dumped. There are tools which try to analyze crashes for possible security implications, and they want to use, among other data, si_addr field from the SIGSEGV. This patch adds a new elf note, NT_SIGINFO, which contains the complete siginfo_t of the signal which killed the process. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Reviewed-by: Oleg Nesterov <oleg@redhat.com> Cc: Amerigo Wang <amwang@redhat.com> Cc: "Jonathan M. Foote" <jmfoote@cert.org> Cc: Roland McGrath <roland@hack.frob.com> Cc: Pedro Alves <palves@redhat.com> Cc: Fengguang Wu <fengguang.wu@intel.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/compat_binfmt_elf.c')
-rw-r--r--fs/compat_binfmt_elf.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c
index 112e45a17e99..0fbcf6347437 100644
--- a/fs/compat_binfmt_elf.c
+++ b/fs/compat_binfmt_elf.c
@@ -38,6 +38,12 @@
#define elf_addr_t Elf32_Addr
/*
+ * Some data types as stored in coredump.
+ */
+#define user_siginfo_t compat_siginfo_t
+#define copy_siginfo_to_user copy_siginfo_to_user32
+
+/*
* The machine-dependent core note format types are defined in elfcore-compat.h,
* which requires asm/elf.h to define compat_elf_gregset_t et al.
*/