Re: [PATCH 10/19] libext2fs: Don't cache inodes that fail checksum verification

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

 



On Fri, Aug 01, 2014 at 11:12:47AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> 
> If an inode fails checksum verification, don't stuff a copy of it in
> the inode cache, because this can cause the library to fail to return
> the "corrupt inode" error code.
> 
> In general, this happens if ext2fs_read_inode_full() is called twice
> on an inode with an incorrect checksum.  If fs->flags has
> EXT2_FLAG_IGNORE_CSUM_ERRORS set during the first call and *unset*
> during the second call, the cache hit during the second call fails to
> return EXT2_ET_INODE_CSUM_INVALID as you'd expect.  This happens
> during fsck because the first read_inode call happens as part of
> check_blocks and the second call happens during inode checksum
> revalidation.  A file system with a slightly corrupt non-extent inode
> will trigger this.
> 
> While we're at it, make the inode read function consistent with the
> rest of libext2fs -- copy the metadata object into the caller's buffer
> even if it fails checksum verification.  This will help e2fsck avoid a
> double re-read later on down the line.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

Applied, thanks.

						- 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