From: Wang Shilong <wshilong@xxxxxxx> Verify multiple thread on a corrupted images hit following bug: pass1.c:2902: e2fsck_pass1_thread_prepare: Assertion `global_ctx->inodes_to_rebuild == NULL' failed. Signal (6) SIGABRT si_code=SI_TKILL ./e2fsck/e2fsck[0x43829e] /lib64/libpthread.so.0(+0x14b20)[0x7f3b45135b20] /lib64/libc.so.6(gsignal+0x145)[0x7f3b44f2c625] /lib64/libc.so.6(abort+0x12b)[0x7f3b44f158d9] /lib64/libc.so.6(+0x257a9)[0x7f3b44f157a9] /lib64/libc.so.6(+0x34a66)[0x7f3b44f24a66] ./e2fsck/e2fsck(e2fsck_pass1+0x1662)[0x423572] ./e2fsck/e2fsck(e2fsck_run+0x5a)[0x41611a] ./e2fsck/e2fsck(main+0x1608)[0x4121b8] /lib64/libc.so.6(__libc_start_main+0xf3)[0x7f3b44f171a3] ./e2fsck/e2fsck(_start+0x2e)[0x413dde] @inodes_to_rebuild could be not NULL after we restart pass1 Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list@xxxxxxxxx> --- e2fsck/e2fsck.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/e2fsck/e2fsck.c b/e2fsck/e2fsck.c index a5150dab..53af8905 100644 --- a/e2fsck/e2fsck.c +++ b/e2fsck/e2fsck.c @@ -79,6 +79,10 @@ errcode_t e2fsck_reset_context(e2fsck_t ctx) ext2fs_free_block_bitmap(ctx->inode_casefold_map); ctx->inode_casefold_map = 0; } + if (ctx->inodes_to_rebuild) { + ext2fs_free_inode_bitmap(ctx->inodes_to_rebuild); + ctx->inodes_to_rebuild = 0; + } if (ctx->inode_link_info) { ext2fs_free_icount(ctx->inode_link_info); ctx->inode_link_info = 0; -- 2.37.3