Skip to content

Commit

Permalink
Merge tag 'fuse-fixes-5.16-rc3' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/mszeredi/fuse

Pull fuse fix from Miklos Szeredi:
 "Fix a regression caused by a bugfix in the previous release. The
  symptom is a VM_BUG_ON triggered from splice to the fuse device.

  Unfortunately the original bugfix was already backported to a number
  of stable releases, so this fix-fix will need to be backported as
  well"

* tag 'fuse-fixes-5.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: release pipe buf after last use
  • Loading branch information
Linus Torvalds committed Nov 26, 2021
2 parents 7e63545 + 4734417 commit 925c943
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions fs/fuse/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -847,17 +847,17 @@ static int fuse_try_move_page(struct fuse_copy_state *cs, struct page **pagep)

replace_page_cache_page(oldpage, newpage);

get_page(newpage);

if (!(buf->flags & PIPE_BUF_FLAG_LRU))
lru_cache_add(newpage);

/*
* Release while we have extra ref on stolen page. Otherwise
* anon_pipe_buf_release() might think the page can be reused.
*/
pipe_buf_release(cs->pipe, buf);

get_page(newpage);

if (!(buf->flags & PIPE_BUF_FLAG_LRU))
lru_cache_add(newpage);

err = 0;
spin_lock(&cs->req->waitq.lock);
if (test_bit(FR_ABORTED, &cs->req->flags))
Expand Down

0 comments on commit 925c943

Please sign in to comment.