On Thu, 02 Jun 2011 13:17:55 -0700 Andi Kleen <a...@firstfloor.org> wrote:
> Sergei Trofimovich <sly...@gentoo.org> writes: > > > > Am I too paranoid about the issue? > > It sounds weird, because if the kernel would really checksum > mutexes on disk you would have a lot of on disk > format incompatibility between different kernel versions > (e.g. between lockdep and normal kernels or kernels > running on different architectures) > > If it would really happen (no opinion on that) it would > be a serious bug. Oh, I don't think things are so bad. In order it to be a problem superblock loading would have to be loaded exactly the same way as it's stored, but it isn't. At least super copies (baked into btrfs_fs_info) are read to separate data block (buffer_hear) and then copied properly (in open_ctree) to super_copy/super_for_commit: bh = btrfs_read_dev_super(fs_devices->latest_bdev); if (!bh) { err = -EINVAL; goto fail_alloc; } memcpy(&fs_info->super_copy, bh->b_data, sizeof(fs_info->super_copy)); memcpy(&fs_info->super_for_commit, &fs_info->super_copy, sizeof(fs_info->super_for_commit)); brelse(bh); But the way superblocks are written look racy. -- Sergei
signature.asc
Description: PGP signature