From 08f8d65a3b0b62be9f74ae709abbbf159b7b8cbb Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 20 Aug 2012 15:28:00 +0100 Subject: [PATCH] --- yaml --- r: 321823 b: refs/heads/master c: 0e665d5d1125f9f4ccff56a75e814f10f88861a2 h: refs/heads/master i: 321821: 2743557e95f3df2da52a8e5f7a0a094c7892b257 321819: 1bae9681761260537c74ed4829f52fb52f44cbf2 321815: 5270dccdebe10da4abef911e6d0f45b3b787d94c 321807: 2513ced0a307673165a7cce86bda593d343cf94f 321791: 48e00967010bc98acca56c4fca3f8756327afb9e v: v3 --- [refs] | 2 +- trunk/fs/compat.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 31c6b45f6c6b..089602b47b5e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 90785be317dabdef6e9763e75e370991a6a46c91 +refs/heads/master: 0e665d5d1125f9f4ccff56a75e814f10f88861a2 diff --git a/trunk/fs/compat.c b/trunk/fs/compat.c index 6161255fac45..1bdb350ea5d3 100644 --- a/trunk/fs/compat.c +++ b/trunk/fs/compat.c @@ -1155,11 +1155,14 @@ compat_sys_readv(unsigned long fd, const struct compat_iovec __user *vec, struct file *file; int fput_needed; ssize_t ret; + loff_t pos; file = fget_light(fd, &fput_needed); if (!file) return -EBADF; - ret = compat_readv(file, vec, vlen, &file->f_pos); + pos = file->f_pos; + ret = compat_readv(file, vec, vlen, &pos); + file->f_pos = pos; fput_light(file, fput_needed); return ret; } @@ -1221,11 +1224,14 @@ compat_sys_writev(unsigned long fd, const struct compat_iovec __user *vec, struct file *file; int fput_needed; ssize_t ret; + loff_t pos; file = fget_light(fd, &fput_needed); if (!file) return -EBADF; - ret = compat_writev(file, vec, vlen, &file->f_pos); + pos = file->f_pos; + ret = compat_writev(file, vec, vlen, &pos); + file->f_pos = pos; fput_light(file, fput_needed); return ret; }