2021-11-17 16:50:34

by harshad shirwadkar

[permalink] [raw]
Subject: [PATCH] e2fsck: skip sorting extents if there are no valid extents

From: Harshad Shirwadkar <[email protected]>

At the end of a fast commit replay, e2fsck tries merging extents in a
inode. This patch fixes a bug in this logic where we were continuing
this action even if there were no extents to merge resulting in
accessing illegal memory.

Signed-off-by: Harshad Shirwadkar <[email protected]>
---
e2fsck/journal.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index fe4e018d..2e867234 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -464,6 +464,9 @@ static void ex_sort_and_merge(struct extent_list *list)
}
}

+ if (list->count == 0)
+ return;
+
/* Now sort by logical offset */
qsort(list->extents, list->count, sizeof(list->extents[0]),
ex_compar);
--
2.34.0.rc1.387.gb447b232ab-goog



2021-12-03 20:02:48

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] e2fsck: skip sorting extents if there are no valid extents

On Wed, 17 Nov 2021 08:50:15 -0800, Harshad Shirwadkar wrote:
> From: Harshad Shirwadkar <[email protected]>
>
> At the end of a fast commit replay, e2fsck tries merging extents in a
> inode. This patch fixes a bug in this logic where we were continuing
> this action even if there were no extents to merge resulting in
> accessing illegal memory.
>
> [...]

Applied, thanks!

[1/1] e2fsck: skip sorting extents if there are no valid extents
commit: 54183fea07676d185b2c169c45a7c1adc7e3e26e

Best regards,
--
Theodore Ts'o <[email protected]>