lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 17 Mar 2008 08:33:45 -0400 From: Theodore Tso <tytso@....edu> To: Andreas Dilger <adilger@....com> Cc: linux-ext4@...r.kernel.org Subject: Re: [PATCH][10/28] e2fsprogs-uninit.patch On Sat, Feb 02, 2008 at 01:34:44AM -0700, Andreas Dilger wrote: > Index: e2fsprogs-1.40.5/e2fsck/super.c > =================================================================== > @@ -626,6 +631,50 @@ void check_super_block(e2fsck_t ctx) ... > + if (!ext2fs_group_desc_csum_verify(sb, i, gd)) { > + if (fix_problem(ctx, PR_0_GDT_CSUM, &pctx)) { > + gd->bg_flags &= ~(EXT2_BG_BLOCK_UNINIT | > + EXT2_BG_INODE_UNINIT); > + gd->bg_itable_unused = 0; > + } > + ext2fs_unmark_valid(fs); > + } > + ... > + > + gd->bg_checksum = ext2fs_group_desc_csum(fs->super, i, gd); This last looks horribly wrong. check_super_block() is merely supposed to check to see if the superblock and block gorup descriptos looks OK, and to mark the filesystem as invalid if anything looks insane. It should *not* modifying the block group descriptor, and it certainly should not be doing so without first checking to see if the filesystem has been opened read/only or calling ext2fs_mark_super_dirty(fs) after making a change (that it shouldn't do). In fact there already is a check to see if the checksum has verified correctly (see the first part of the patch which I quoted), so I think the best thing to do is to remove that last bit. I'm not sure why it's there at all, in fact.... - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists