Thread (30 messages) 30 messages, 4 authors, 2012-09-15

Re: [PATCH 4/7] ext4: fsync should wait for DIO writers

From: Zheng Liu <hidden>
Date: 2012-09-13 12:26:09

On Thu, Sep 13, 2012 at 03:01:25PM +0400, Dmitry Monakhov wrote:
On Thu, 13 Sep 2012 18:46:21 +0800, Zheng Liu [off-list ref] wrote:
quoted
On Sun, Sep 09, 2012 at 09:27:11PM +0400, Dmitry Monakhov wrote:
quoted
fsync and punch_hole are the places where we have to wait for all
existing writers (writeback, aio, dio), but currently we simply
flush pended end_io request which is not sufficient.
Even more i_mutex is not holded while punch_hole which obviously
result in dangerous data corruption due to write-after-free.
Hi Dmitry,

Lukas already has a patch to take i_mutex locking before punching a
hole.  Just a reminding. :-)
Yes, i've found it after patch was submitted, but this bug make me
nervous a bit because we have broken punch_hole implementation
long time ago, it allow to destroy data easily, user are able to
call it if has WR permission for a file.
So if you ask be i'll vote for hide it under CAP_SYS_RESOURCE until
proper implementation appears.
Same it true for EXT4_IO_MOVE_EXT because it allow to kernel panic
since v2.6.30-6558-g748de67, so all primary distros (RH6,Deb6) are
affected :( 
IMHO, it will be better when this patch is applied, and I prefer to fix
the problem rather than hidding it using CAP_SYS_RESOURCE. ;-)

Regards,
Zheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help