[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160918193112.GF2356@ZenIV.linux.org.uk>
Date: Sun, 18 Sep 2016 20:31:12 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Jens Axboe <axboe@...nel.dk>, Nick Piggin <npiggin@...il.com>,
linux-fsdevel@...r.kernel.org, netdev@...r.kernel.org,
Eric Dumazet <edumazet@...gle.com>
Subject: skb_splice_bits() and large chunks in pipe (was Re:
xfs_file_splice_read: possible circular locking dependency detected
FWIW, I'm not sure if skb_splice_bits() can't land us in trouble; fragments
might come from compound pages and I'm not entirely convinced that we won't
end up with coalesced fragments putting more than PAGE_SIZE into a single
pipe_buffer. And that could badly confuse a bunch of code.
Can that legitimately happen? If so, we'll need to audit quite a few
->splice_write()-related codepaths; FUSE, in particular, is very likely
to be unhappy with that kind of stuff, and it's not the only place where
we might count upon never seeing e.g. longer than PAGE_SIZE chunks in
bio_vec. It shouldn't be all that hard to fix, but if the whole thing
is simply impossible, I would rather avoid that round of RTFS at the moment...
Comments?
Powered by blists - more mailing lists