0fd402e7b1
- Don't check the group checksum when !GDT_CSUM (#459875)
36 lines
1.2 KiB
Plaintext
36 lines
1.2 KiB
Plaintext
From: Theodore Ts'o <tytso@mit.edu>
|
|
Date: Sun, 13 Jul 2008 23:03:59 +0000 (-0400)
|
|
Subject: libext2fs: Don't check the group checksum when !GDT_CSUM
|
|
X-Git-Url: http://git.kernel.org/?p=fs%2Fext2%2Fe2fsprogs.git;a=commitdiff_plain;h=4729455f0a68f2fa0a83ec8460d1d4bccba9dcfa
|
|
|
|
libext2fs: Don't check the group checksum when !GDT_CSUM
|
|
|
|
ext2fs_group_desc_csum_verify() is always checking the bg_checksum (to
|
|
make sure it is zero) even when the GDT_CSUM feature is not present.
|
|
This is normally OK, but apparently there are filesystems in the wild
|
|
where this field has not be initialized to zero.
|
|
|
|
Addresses-Debian-Bug: #490637
|
|
|
|
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
|
---
|
|
|
|
diff --git a/lib/ext2fs/csum.c b/lib/ext2fs/csum.c
|
|
index ce1508e..6a49d8f 100644
|
|
--- a/lib/ext2fs/csum.c
|
|
+++ b/lib/ext2fs/csum.c
|
|
@@ -60,8 +60,10 @@ STATIC __u16 ext2fs_group_desc_csum(ext2_filsys fs, dgrp_t group)
|
|
|
|
int ext2fs_group_desc_csum_verify(ext2_filsys fs, dgrp_t group)
|
|
{
|
|
- if (fs->group_desc[group].bg_checksum !=
|
|
- ext2fs_group_desc_csum(fs, group))
|
|
+ if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
|
|
+ EXT4_FEATURE_RO_COMPAT_GDT_CSUM) &&
|
|
+ (fs->group_desc[group].bg_checksum !=
|
|
+ ext2fs_group_desc_csum(fs, group)))
|
|
return 0;
|
|
|
|
return 1;
|
|
|