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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1348122823-4930-1-git-send-email-tm@tao.ma>
Date:	Thu, 20 Sep 2012 14:33:43 +0800
From:	Tao Ma <tm@....ma>
To:	linux-ext4@...r.kernel.org
Subject: [PATCH] ext4: Don't calc checksum in update_backups in online resize.

From: Tao Ma <boyu.mt@...bao.com>

update_backups is used to backup all the metadata blocks, so we should
not take it for granted that 'data' is pointed to a super block and use
ext4_superblock_csum_set to calculate the checksum there. In case
the data is a group descriptor block, it will corrupt the last group
descriptor. And e2fsck will complain it.

As all the metadata checksum should already be OK when we do the backup,
remove the wrong ext4_superblock_csum_set and it should be just fine.

Reported-by: "Theodore Ts'o" <tytso@....edu>
Signed-off-by: Tao Ma <boyu.mt@...bao.com>
---
 fs/ext4/resize.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 41f6ef6..019d528 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -970,8 +970,6 @@ static void update_backups(struct super_block *sb,
 		goto exit_err;
 	}
 
-	ext4_superblock_csum_set(sb, (struct ext4_super_block *)data);
-
 	while ((group = ext4_list_backups(sb, &three, &five, &seven)) < last) {
 		struct buffer_head *bh;
 
-- 
1.7.0.4

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

Powered by Openwall GNU/*/Linux Powered by OpenVZ