f2fs: fix double free of unicode map
authorHyeongseok Kim <hyeongseok@gmail.com>
Thu, 12 Nov 2020 09:14:54 +0000 (18:14 +0900)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 3 Dec 2020 06:00:20 +0000 (22:00 -0800)
In case of retrying fill_super with skip_recovery,
s_encoding for casefold would not be loaded again even though it's
already been freed because it's not NULL.
Set NULL after free to prevent double freeing when unmount.

Fixes: eca4873ee1b6 ("f2fs: Use generic casefolding support")
Signed-off-by: Hyeongseok Kim <hyeongseok@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/super.c

index 00eff2f518079051d2cfef401e8d5267dbf43ab6..fef22e476c526aaa06f044565ea3b2539ba21fc6 100644 (file)
@@ -3918,6 +3918,7 @@ free_bio_info:
 
 #ifdef CONFIG_UNICODE
        utf8_unload(sb->s_encoding);
+       sb->s_encoding = NULL;
 #endif
 free_options:
 #ifdef CONFIG_QUOTA