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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c634a18e-9f2b-4746-bd8f-aa1d41e6ddf7@mattwhitlock.name>
Date: Wed, 19 Jul 2023 13:59:13 -0400
From: Matt Whitlock <kernel@...twhitlock.name>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: David Howells <dhowells@...hat.com>,
 <netdev@...r.kernel.org>,
 Matthew Wilcox <willy@...radead.org>,
 Dave Chinner <david@...morbit.com>,
 Linus Torvalds <torvalds@...ux-foundation.org>,
 Jens Axboe <axboe@...nel.dk>,
 <linux-fsdevel@...ck.org>,
 <linux-mm@...ck.org>,
 <linux-kernel@...r.kernel.org>,
 Christoph Hellwig <hch@....de>,
 <linux-fsdevel@...r.kernel.org>
Subject: Re: [RFC PATCH 1/4] splice: Fix corruption of spliced data after splice() returns

On Wednesday, 19 July 2023 06:17:51 EDT, Miklos Szeredi wrote:
> On Thu, 29 Jun 2023 at 17:56, David Howells <dhowells@...hat.com> wrote:
>> 
>> Splicing data from, say, a file into a pipe currently leaves the source
>> pages in the pipe after splice() returns - but this means that those pages
>> can be subsequently modified by shared-writable mmap(), write(),
>> fallocate(), etc. before they're consumed.
>
> What is this trying to fix?   The above behavior is well known, so
> it's not likely to be a problem.

Respectfully, it's not well-known, as it's not documented. If the splice(2) 
man page had mentioned that pages can be mutated after they're already 
ostensibly at rest in the output pipe buffer, then my nightly backups 
wouldn't have been incurring corruption silently for many months.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ