android_kernel_oneplus_msm8998/fs/fat
OGAWA Hirofumi 0cb6eaf5e5 fat: fix memory allocation failure handling of match_strdup()
commit 35033ab988c396ad7bce3b6d24060c16a9066db8 upstream.

In parse_options(), if match_strdup() failed, parse_options() leaves
opts->iocharset in unexpected state (i.e.  still pointing the freed
string).  And this can be the cause of double free.

To fix, this initialize opts->iocharset always when freeing.

Link: http://lkml.kernel.org/r/8736wp9dzc.fsf@mail.parknet.co.jp
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Reported-by: syzbot+90b8e10515ae88228a92@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-25 10:18:15 +02:00
..
cache.c fs/fat: remove unnecessary includes 2015-04-17 09:04:06 -04:00
dir.c fat: fix fake_offset handling on error path 2015-11-20 16:17:32 -08:00
fat.h fs/fat: comment fix, fat_bits can be also 32 2015-04-17 09:04:06 -04:00
fatent.c fs/fat: remove unnecessary includes 2015-04-17 09:04:06 -04:00
file.c writeback: separate out include/linux/backing-dev-defs.h 2015-06-02 08:33:34 -06:00
inode.c fat: fix memory allocation failure handling of match_strdup() 2018-07-25 10:18:15 +02:00
Kconfig vfat: Note the NLS requirement 2009-04-17 09:32:11 -07:00
Makefile fat (exportfs): move NFS support code 2012-10-06 03:05:09 +09:00
misc.c fs/fat: remove unnecessary includes 2015-04-17 09:04:06 -04:00
namei_msdos.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
namei_vfat.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
nfs.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00