From: Theodore Ts'o Date: Fri, 12 Feb 2021 21:50:07 +0000 (-0500) Subject: debugfs: fix header checks in logdump X-Git-Tag: v1.46.2~34 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=eef68a593f7f1a1c60be6da670cc3c7abb7d013a;p=tools%2Fe2fsprogs.git debugfs: fix header checks in logdump Fixes: bd9ac48c9200 ("debugfs: add journal header checks in logdump") Signed-off-by: Theodore Ts'o --- diff --git a/debugfs/logdump.c b/debugfs/logdump.c index 32757f3..5d3f3d9 100644 --- a/debugfs/logdump.c +++ b/debugfs/logdump.c @@ -406,10 +406,13 @@ static void dump_journal(char *cmdname, FILE *out_file, "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)))) { fprintf(out_file, - "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);