X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=fs%2Fcompat.c;h=e07a3d3dcd7ab7fc950946caceed3a882b14af32;hp=c98787536bb888969c37afed2f0a5c5409098682;hb=6e6abc0339f25e0f45d85fec27aef1e8fe358897;hpb=3d0a8d10cfb4cc3d1877c29a866ee7d8a46aa2fa;ds=sidebyside diff --git a/fs/compat.c b/fs/compat.c index c98787536bb8..e07a3d3dcd7a 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -1174,11 +1174,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; } @@ -1233,11 +1236,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; }