mbox series

[SRU,PULL,Bionic] fuse: set of stable fixes

Message ID 20190412062351.GA20331@xps-13
State New
Headers show
Series [SRU,PULL,Bionic] fuse: set of stable fixes | expand

Pull-request

git://git.launchpad.net/~arighi/+git/bionic-linux fuse-fixes

Message

Andrea Righi April 12, 2019, 6:23 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1823972

This is a set of fixes marked for stable that are not included in
the Bionic kernel.

All changes are fairly trivial, all clean cherry picks, except for three
patches that require minimal adjustment to be applied.

Other kernels (Cosmic and above) have all these fixes applied already.

Compile-tested all supported architectures. One of the fix ("fuse: fix
initial parallel dirops") has been tested reproducing the bug on amd64.

The following changes since commit 5f1ee1100f874b50e5f53d8e772a447acdffe1af:

  openvswitch: fix flow actions reallocation (2019-04-08 17:22:37 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~arighi/+git/bionic-linux fuse-fixes

for you to fetch changes up to 9bce5508628cba897c9e165e9bfd4baf2395720d:

  fuse: decrement NR_WRITEBACK_TEMP on the right page (2019-04-11 21:03:13 +0200)

----------------------------------------------------------------
Andrey Ryabinin (1):
      fuse: Don't access pipe->buffers without pipe_lock()

Chad Austin (1):
      fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS

Jann Horn (1):
      fuse: call pipe_buf_release() under pipe lock

Kirill Tkhai (2):
      fuse: Fix use-after-free in fuse_dev_do_read()
      fuse: Fix use-after-free in fuse_dev_do_write()

Lukas Czerner (1):
      fuse: fix use-after-free in fuse_direct_IO()

Miklos Szeredi (11):
      fuse: fix double request_end()
      fuse: fix unlocked access to processing queue
      fuse: umount should wait for all requests
      fuse: Fix oops at process_init_reply()
      fuse: fix initial parallel dirops
      fuse: set FR_SENT while locked
      fuse: fix blocked_waitq wakeup
      fuse: fix leaked notify reply
      fuse: fix possibly missed wake-up after abort
      fuse: handle zero sized retrieve correctly
      fuse: decrement NR_WRITEBACK_TEMP on the right page

 fs/fuse/dev.c    | 78 +++++++++++++++++++++++++++++++++++++++++++++-----------
 fs/fuse/dir.c    | 12 +++++----
 fs/fuse/file.c   | 27 +++++++++++---------
 fs/fuse/fuse_i.h |  7 ++---
 fs/fuse/inode.c  | 37 +++++++++++++++------------
 5 files changed, 110 insertions(+), 51 deletions(-)

Comments

Kleber Sacilotto de Souza April 23, 2019, 9:36 a.m. UTC | #1
On 4/12/19 8:23 AM, Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/1823972
> 
> This is a set of fixes marked for stable that are not included in
> the Bionic kernel.
> 
> All changes are fairly trivial, all clean cherry picks, except for three
> patches that require minimal adjustment to be applied.
> 
> Other kernels (Cosmic and above) have all these fixes applied already.
> 
> Compile-tested all supported architectures. One of the fix ("fuse: fix
> initial parallel dirops") has been tested reproducing the bug on amd64.
> 
> The following changes since commit 5f1ee1100f874b50e5f53d8e772a447acdffe1af:
> 
>   openvswitch: fix flow actions reallocation (2019-04-08 17:22:37 +0200)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~arighi/+git/bionic-linux fuse-fixes
> 
> for you to fetch changes up to 9bce5508628cba897c9e165e9bfd4baf2395720d:
> 
>   fuse: decrement NR_WRITEBACK_TEMP on the right page (2019-04-11 21:03:13 +0200)
> 
> ----------------------------------------------------------------
> Andrey Ryabinin (1):
>       fuse: Don't access pipe->buffers without pipe_lock()
> 
> Chad Austin (1):
>       fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS
> 
> Jann Horn (1):
>       fuse: call pipe_buf_release() under pipe lock
> 
> Kirill Tkhai (2):
>       fuse: Fix use-after-free in fuse_dev_do_read()
>       fuse: Fix use-after-free in fuse_dev_do_write()
> 
> Lukas Czerner (1):
>       fuse: fix use-after-free in fuse_direct_IO()
> 
> Miklos Szeredi (11):
>       fuse: fix double request_end()
>       fuse: fix unlocked access to processing queue
>       fuse: umount should wait for all requests
>       fuse: Fix oops at process_init_reply()
>       fuse: fix initial parallel dirops
>       fuse: set FR_SENT while locked
>       fuse: fix blocked_waitq wakeup
>       fuse: fix leaked notify reply
>       fuse: fix possibly missed wake-up after abort
>       fuse: handle zero sized retrieve correctly
>       fuse: decrement NR_WRITEBACK_TEMP on the right page
> 
>  fs/fuse/dev.c    | 78 +++++++++++++++++++++++++++++++++++++++++++++-----------
>  fs/fuse/dir.c    | 12 +++++----
>  fs/fuse/file.c   | 27 +++++++++++---------
>  fs/fuse/fuse_i.h |  7 ++---
>  fs/fuse/inode.c  | 37 +++++++++++++++------------
>  5 files changed, 110 insertions(+), 51 deletions(-)
> 

This PR has been re-sent, so I'm NAK'ing this one.

Thanks.