]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Dec 2015 18:56:41 +0000 (10:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Dec 2015 18:56:41 +0000 (10:56 -0800)
Pull fuse fixes from Miklos Szeredi:
 "Two bugfixes, both bound for -stable"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: break infinite loop in fuse_fill_write_pages()
  cuse: fix memory leak

1  2 
fs/fuse/file.c

diff --combined fs/fuse/file.c
index e0faf8f2c868a26b80331ef78c89db85091715ea,195476a24148ba01d6609b72f60c98596d2065e1..570ca4053c805eb76acd76a44161f8349a9a6325
@@@ -1049,6 -1049,7 +1049,7 @@@ static ssize_t fuse_fill_write_pages(st
                tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes);
                flush_dcache_page(page);
  
+               iov_iter_advance(ii, tmp);
                if (!tmp) {
                        unlock_page(page);
                        page_cache_release(page);
                req->page_descs[req->num_pages].length = tmp;
                req->num_pages++;
  
-               iov_iter_advance(ii, tmp);
                count += tmp;
                pos += tmp;
                offset += tmp;
@@@ -2189,7 -2189,7 +2189,7 @@@ static int fuse_file_flock(struct file 
        int err;
  
        if (fc->no_flock) {
 -              err = flock_lock_file_wait(file, fl);
 +              err = locks_lock_file_wait(file, fl);
        } else {
                struct fuse_file *ff = file->private_data;