| 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
| ||
|
Message-ID: <20231212142543.jrortgje22traesa@quack3> Date: Tue, 12 Dec 2023 15:25:43 +0100 From: Jan Kara <jack@...e.cz> To: Matthew Wilcox <willy@...radead.org> Cc: Jan Kara <jack@...e.cz>, Baokun Li <libaokun1@...wei.com>, linux-mm@...ck.org, linux-ext4@...r.kernel.org, tytso@....edu, adilger.kernel@...ger.ca, akpm@...ux-foundation.org, ritesh.list@...il.com, linux-kernel@...r.kernel.org, yi.zhang@...wei.com, yangerkun@...wei.com, yukuai3@...wei.com Subject: Re: [PATCH -RFC 0/2] mm/ext4: avoid data corruption when extending DIO write race with buffered read On Tue 12-12-23 04:36:45, Matthew Wilcox wrote: > On Wed, Dec 06, 2023 at 08:37:57PM +0100, Jan Kara wrote: > > Within the same page buffered reads and writes should be consistent because > > they are synchronized by the page lock. However once reads and writes > > involve multiple pages, there is no serialization so you can get contents > > of some pages before write and some pages after being written. However this > > doesn't seem to be your particular case here. I just wanted to point out > > that in general even buffered reads vs writes are not fully consistent. > > Buffered reads don't take the page/folio lock. We only use the folio > lock to avoid reading stale data from the page cache while we're > fetching the data from storage. Once the uptodate flag is set on the > folio, we never take the folio lock for reads. Right, I've noticed once I've reread the code but thanks for correction anyway. :) Honza -- Jan Kara <jack@...e.com> SUSE Labs, CR
Powered by blists - more mailing lists