• Jann Horn's avatar
    fuse: call pipe_buf_release() under pipe lock · 9509941e
    Jann Horn authored
    Some of the pipe_buf_release() handlers seem to assume that the pipe is
    locked - in particular, anon_pipe_buf_release() accesses pipe->tmp_page
    without taking any extra locks. From a glance through the callers of
    pipe_buf_release(), it looks like FUSE is the only one that calls
    pipe_buf_release() without having the pipe locked.
    
    This bug should only lead to a memory leak, nothing terrible.
    
    Fixes: dd3bb14f ("fuse: support splice() writing to fuse device")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJann Horn <jannh@google.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    9509941e
dev.c 54.1 KB