]> git.ipfire.org Git - people/ms/linux.git/commit
fuse: fix pipe_buf_operations
authorMiklos Szeredi <mszeredi@suse.cz>
Wed, 22 Jan 2014 18:36:57 +0000 (19:36 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 1 Apr 2014 23:58:44 +0000 (00:58 +0100)
commitc4047a30fc81715ae56e97f983fd684360fa216c
treec81f9236d52e68927410553be65458926d88d7d5
parentd43cc1a69f62fe2c261863fc8a8ed9acca57b45f
fuse: fix pipe_buf_operations

commit 28a625cbc2a14f17b83e47ef907b2658576a32aa upstream.

Having this struct in module memory could Oops when if the module is
unloaded while the buffer still persists in a pipe.

Since sock_pipe_buf_ops is essentially the same as fuse_dev_pipe_buf_steal
merge them into nosteal_pipe_buf_ops (this is the same as
default_pipe_buf_ops except stealing the page from the buffer is not
allowed).

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/fuse/dev.c
fs/splice.c
include/linux/pipe_fs_i.h
net/core/skbuff.c