summaryrefslogtreecommitdiffstats
path: root/fs/coredump.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-01 10:58:11 +0100
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-02-01 10:58:11 +0100
commite2b06d71bd3f50ac7098b3f2492ea95470b713db (patch)
tree107c48a9d0782279fde07b6fda44994b96b9ac36 /fs/coredump.c
parent1692cd60d999b00a0491692dab0286e6011abd36 (diff)
parent18566acac18f5784347bc5fe636a26897d1c963b (diff)
downloadlinux-e2b06d71bd3f50ac7098b3f2492ea95470b713db.tar.gz
linux-e2b06d71bd3f50ac7098b3f2492ea95470b713db.tar.bz2
linux-e2b06d71bd3f50ac7098b3f2492ea95470b713db.zip
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
Chris Wilson wants the new fence tracepoint added in commit 8c96c678011eeb1676da18f203e90dea7e0d69d2 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Jan 24 11:57:58 2017 +0000 dma/fence: Export enable-signaling tracepoint for emission by drivers Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'fs/coredump.c')
-rw-r--r--fs/coredump.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/coredump.c b/fs/coredump.c
index e525b6017cdf..ae6b05629ca1 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -833,3 +833,21 @@ int dump_align(struct coredump_params *cprm, int align)
return mod ? dump_skip(cprm, align - mod) : 1;
}
EXPORT_SYMBOL(dump_align);
+
+/*
+ * Ensures that file size is big enough to contain the current file
+ * postion. This prevents gdb from complaining about a truncated file
+ * if the last "write" to the file was dump_skip.
+ */
+void dump_truncate(struct coredump_params *cprm)
+{
+ struct file *file = cprm->file;
+ loff_t offset;
+
+ if (file->f_op->llseek && file->f_op->llseek != no_llseek) {
+ offset = file->f_op->llseek(file, 0, SEEK_CUR);
+ if (i_size_read(file->f_mapping->host) < offset)
+ do_truncate(file->f_path.dentry, offset, 0, file);
+ }
+}
+EXPORT_SYMBOL(dump_truncate);