summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-10-05 15:32:35 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-11-09 00:16:22 -0500
commitecc8c7725e6c21528329b34acae2a1d64b3af89b (patch)
treeae1790c2ce0fe1c1f02e2bd0795b6636d65b4587 /include
parent7d2f551f6dc933f87933e906e48583169bbc7c27 (diff)
downloadlinux-stable-ecc8c7725e6c21528329b34acae2a1d64b3af89b.tar.gz
linux-stable-ecc8c7725e6c21528329b34acae2a1d64b3af89b.tar.bz2
linux-stable-ecc8c7725e6c21528329b34acae2a1d64b3af89b.zip
new helper: dump_emit()
dump_write() analog, takes core_dump_params instead of file, keeps track of the amount written in cprm->written and checks for cprm->limit. Start using it in binfmt_elf.c... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/binfmts.h1
-rw-r--r--include/linux/coredump.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
index e8112ae50531..8aa507e7a41a 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -61,6 +61,7 @@ struct coredump_params {
struct file *file;
unsigned long limit;
unsigned long mm_flags;
+ loff_t written;
};
/*
diff --git a/include/linux/coredump.h b/include/linux/coredump.h
index a98f1ca60407..2959376a9ad5 100644
--- a/include/linux/coredump.h
+++ b/include/linux/coredump.h
@@ -10,8 +10,10 @@
* These are the only things you should do on a core-file: use only these
* functions to write out all the necessary info.
*/
+struct coredump_params;
extern int dump_write(struct file *file, const void *addr, int nr);
extern int dump_seek(struct file *file, loff_t off);
+extern int dump_emit(struct coredump_params *cprm, const void *addr, int nr);
#ifdef CONFIG_COREDUMP
extern void do_coredump(siginfo_t *siginfo);
#else