Re: [PATCH] ext4: fix premature freeing of partial clusters split across

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 01, 2014 at 07:36:46PM -0400, Eric Whitney wrote:
> Xfstests generic/311 and shared/298 fail when run on a bigalloc file
> system.  Kernel error messages produced during the tests report that
> blocks to be freed are already on the to-be-freed list.  When e2fsck
> is run at the end of the tests, it typically reports bad i_blocks and
> bad free blocks counts.
> 
> The bug that causes these failures is located in ext4_ext_rm_leaf().
> Code at the end of the function frees a partial cluster if it's not
> shared with an extent remaining in the leaf.  However, if all the
> extents in the leaf have been removed, the code dereferences an
> invalid extent pointer (off the front of the leaf) when the check for
> sharing is made.  This generally has the effect of unconditionally
> freeing the partial cluster, which leads to the observed failures
> when the partial cluster is shared with the last extent in the next
> leaf.
> 
> Fix this by attempting to free the cluster only if extents remain in
> the leaf.  Any remaining partial cluster will be freed if possible
> when the next leaf is processed or when leaf removal is complete.
> 
> Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>

Thanks, applied.

I added a "Cc: stable@xxxxxxxxxxxxxxx" for this patch.

Cheers,

	    	    	 			 - Ted
--
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




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux