On Thu, Sep 13, 2012 at 03:01:25PM +0400, Dmitry Monakhov wrote: > On Thu, 13 Sep 2012 18:46:21 +0800, Zheng Liu <gnehzuil.liu@xxxxxxxxx> wrote: > > On Sun, Sep 09, 2012 at 09:27:11PM +0400, Dmitry Monakhov wrote: > > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html