sendfile(): check f_op.splice_write() rather than f_op.sendpage()
authorChangli Gao <xiaosuo@gmail.com>
Wed, 4 Nov 2009 08:09:52 +0000 (09:09 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 4 Nov 2009 08:09:52 +0000 (09:09 +0100)
commitcc56f7de7f00d188c7c4da1e9861581853b9e92f
tree4794c8e5b7c7aec176f695dfc9d723d4a73e3ba9
parentf21121cde6e617b90cd03ce083652ca543004dc2
sendfile(): check f_op.splice_write() rather than f_op.sendpage()

sendfile(2) was reworked with the splice infrastructure, but it still
checks f_op.sendpage() instead of f_op.splice_write() wrongly.  Although
if f_op.sendpage() exists, f_op.splice_write() always exists at the same
time currently, the assumption will be broken in future silently.  This
patch also brings a side effect: sendfile(2) can work with any output
file.  Some security checks related to f_op are added too.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fs/read_write.c
fs/splice.c