exfat: fix double free in delayed_free
The double free could happen in the following path.
exfat_create_upcase_table()
exfat_create_upcase_table() : return error
exfat_free_upcase_table() : free ->vol_utbl
exfat_load_default_upcase_table : return error
exfat_kill_sb()
delayed_free()
exfat_free_upcase_table() <--------- double free
This patch set ->vol_util as NULL after freeing it.
Reported-by: Jianzhou Zhao <xnxc22xnxc22@qq.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
pull/1112/head
parent
0ff41df1cb
commit
1f3d9724e1
|
|
@ -801,4 +801,5 @@ load_default:
|
|||
void exfat_free_upcase_table(struct exfat_sb_info *sbi)
|
||||
{
|
||||
kvfree(sbi->vol_utbl);
|
||||
sbi->vol_utbl = NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue