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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 5 Mar 2012 10:42:13 -0500 From: Ted Ts'o <tytso@....edu> To: Curt Wohlgemuth <curtw@...gle.com> Cc: adilger.kernel@...ger.ca, linux-ext4@...r.kernel.org Subject: Re: [PATCH] ext4: Don't release page refs in ext4_end_bio() On Fri, Mar 02, 2012 at 08:19:59AM -0800, Curt Wohlgemuth wrote: > We can clear PageWriteback on each page when the IO > completes, but we can't release the references on the page > until we convert any uninitialized extents. > > Without this patch, the use of the dioread_nolock mount > option can break buffered writes, because extents may > not be converted by the time a subsequent buffered read > comes in; if the page is not in the page cache, a read > will return zeros if the extent is still uninitialized. > > I tested this with a (temporary) patch that adds a call > to msleep(1000) at the start of ext4_end_io_work(), to delay > processing of each DIO-unwritten work queue item. With this > msleep(), a simple workload of > > fallocate > write > fadvise > read > > will fail without this patch, succeeds with it. > > Signed-off-by: Curt Wohlgemuth <curtw@...gle.com> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists