Fixes:
bd9ac48c9200 ("debugfs: add journal header checks in logdump")
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
"Journal superblock magic number invalid!\n");
return;
}
"Journal superblock magic number invalid!\n");
return;
}
- if (be32_to_cpu(jsb->s_blocksize) != blocksize) {
+ blocksize = be32_to_cpu(jsb->s_blocksize);
+ if ((current_fs && (blocksize != current_fs->blocksize)) ||
+ (!current_fs && (!blocksize || (blocksize & (blocksize - 1)) ||
+ (blocksize > 65536)))) {
- "Journal block size invalid: %u\n",
- be32_to_cpu(jsb->s_blocksize));
+ "Journal block size invalid: %u (%u)\n",
+ be32_to_cpu(jsb->s_blocksize), blocksize);
return;
}
transaction = be32_to_cpu(jsb->s_sequence);
return;
}
transaction = be32_to_cpu(jsb->s_sequence);