lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 12 Jan 2017 22:37:18 +0000 From: Al Viro <viro@...IV.linux.org.uk> To: Linus Torvalds <torvalds@...ux-foundation.org> Cc: "Alan J. Wylie" <alan@...ie.me.uk>, Thorsten Leemhuis <regressions@...mhuis.info>, linux-kernel <linux-kernel@...r.kernel.org> Subject: Re: 4.9.0 regression in pipe-backed iov_iter with systemd-nspawn On Thu, Jan 12, 2017 at 02:26:42PM -0800, Linus Torvalds wrote: > On Thu, Jan 12, 2017 at 12:26 PM, Alan J. Wylie <alan@...ie.me.uk> wrote: > > > > Strace shows that the processes are hanging in write() and read() calls. > > If this is splice-related, I'm assuming that they aren't actually the > two ends of the same pipe, and there is somebody doing splice in the > middle. > > I'm not seeing that process. I'm assuming it's systemd. Can you try > to find it and strace that one too? Because that middle man is likely > the one that has problems (and is not able to splice from one pipe to > the other). > > Ugh. That one commit has had a lot of bugs in it already. We do not > have good splice test coverage, because almost nobody uses it. FWIW, I would really like to know what kind of files had been involved. There are two paths that can lead to default_file_splice_read(): splice_direct_to_actor() -> do_splice_to() -> default_file_splice_read() and do_splice() -> do_splice_to() -> default_file_splice_read(). The former only gets there for regular files and block devices. The latter is guaranteed that file is not a pipe. So * not a socket (have ->splice_read() of their own) * not a pipe or FIFO (neither path allows those) * not a block device (have ->splice_read() of their own) * not a regular file on a normal local fs (ditto) So what is it called for in that reproducer?
Powered by blists - more mailing lists