]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
fs: prevent page refcount overflow in pipe_buf_get
authorMatthew Wilcox <willy@infradead.org>
Fri, 5 Apr 2019 21:02:10 +0000 (14:02 -0700)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
commit9254e54659424e62aed231d10004e8ce6f491c70
tree8d702843b823ea4da3f1ce89e2c26b281c1df8c4
parenta991ca8f7a3d3867a226bc94139ebccf8d52fa8c
fs: prevent page refcount overflow in pipe_buf_get

BugLink: https://bugs.launchpad.net/bugs/1838459
commit 15fab63e1e57be9fdb5eec1bbc5916e9825e9acb upstream.

Change pipe_buf_get() to return a bool indicating whether it succeeded
in raising the refcount of the page (if the thing in the pipe is a page).
This removes another mechanism for overflowing the page refcount.  All
callers converted to handle a failure.

Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
fs/fuse/dev.c
fs/pipe.c
fs/splice.c
include/linux/pipe_fs_i.h
kernel/trace/trace.c