watch_queue: Fix to release page in ->release()
commitc1853fbadc
upstream. When a pipe ring descriptor points to a notification message, the refcount on the backing page is incremented by the generic get function, but the release function, which marks the bitmap, doesn't drop the page ref. Fix this by calling generic_pipe_buf_release() at the end of watch_queue_pipe_buf_release(). Fixes:c73be61ced
("pipe: Add general notification queue support") Reported-by: Jann Horn <jannh@google.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
8275b6699c
Коммит
ccd03c30f1
|
@ -54,6 +54,7 @@ static void watch_queue_pipe_buf_release(struct pipe_inode_info *pipe,
|
|||
bit += page->index;
|
||||
|
||||
set_bit(bit, wqueue->notes_bitmap);
|
||||
generic_pipe_buf_release(pipe, buf);
|
||||
}
|
||||
|
||||
// No try_steal function => no stealing
|
||||
|
|
Загрузка…
Ссылка в новой задаче