When init struct utf8cursor *u8c in utf8ncursor(), we need check um is valid. Reported-and-tested-by: syzbot+9cf75dc581fb4307d6dd@xxxxxxxxxxxxxxxxxxxxxxxxx Fixes: b81427939590 ("ext4: remove redundant checks of s_encoding") Signed-off-by: Edward AD <twuufnxlz@xxxxxxxxx> --- fs/unicode/utf8-norm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/unicode/utf8-norm.c b/fs/unicode/utf8-norm.c index 768f8ab448b8..906b639b2f38 100644 --- a/fs/unicode/utf8-norm.c +++ b/fs/unicode/utf8-norm.c @@ -422,6 +422,10 @@ int utf8ncursor(struct utf8cursor *u8c, const struct unicode_map *um, { if (!s) return -1; + + if (IS_ERR_OR_NULL(um)) + return -1; + u8c->um = um; u8c->n = n; u8c->s = s; -- 2.25.1