[PATCH 3/3 v2] fs: move falloc collapse range check into the filesystem methods
Theodore Ts'o
tytso at mit.edu
Tue Apr 15 21:55:21 CDT 2014
On Tue, Apr 15, 2014 at 06:41:16PM +0200, Lukas Czerner wrote:
> Currently in do_fallocate in collapse range case we're checking whether
> offset + len is not bigger than i_size. However there is nothing which
> would prevent i_size from changing so the check is pointless. It should
> be done in the file system itself and the file system needs to make sure
> that i_size is not going to change. The i_size check for the other
> fallocate modes are also done in the filesystems.
>
> As it is now we can easily crash kernel by having two processes doing
> truncate and fallocate collapse range at the same time. This can be
> reproduced on ext4 and it is theoretically possible on xfs even though I
> was not able to trigger it with this simple test.
>
> This commit removes the check from do_fallocate and adds it to the file
> system.
>
> Signed-off-by: Lukas Czerner <lczerner at redhat.com>
> Acked-by: Dave Chinner <david at fromorbit.com>
> Reviewed-by: Christoph Hellwig <hch at lst.de>
Thanks, updated.
- Ted
More information about the xfs
mailing list