aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/platforms/cell/spufs/coredump.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/coredump.c b/arch/powerpc/platforms/cell/spufs/coredump.c
index 6b8aef6d7e6..80f62363e1c 100644
--- a/arch/powerpc/platforms/cell/spufs/coredump.c
+++ b/arch/powerpc/platforms/cell/spufs/coredump.c
@@ -53,8 +53,12 @@ static ssize_t do_coredump_read(int num, struct spu_context *ctx, void *buffer,
53 */ 53 */
54static int spufs_dump_write(struct file *file, const void *addr, int nr, loff_t *foffset) 54static int spufs_dump_write(struct file *file, const void *addr, int nr, loff_t *foffset)
55{ 55{
56 unsigned long limit = current->signal->rlim[RLIMIT_CORE].rlim_cur;
56 ssize_t written; 57 ssize_t written;
57 58
59 if (*foffset + nr > limit)
60 return -EIO;
61
58 written = file->f_op->write(file, addr, nr, &file->f_pos); 62 written = file->f_op->write(file, addr, nr, &file->f_pos);
59 *foffset += written; 63 *foffset += written;
60 64