Commit b31dfb22 authored by Sasha Levin's avatar Sasha Levin Committed by Zefan Li

fs, omfs: add NULL terminator in the end up the token list

commit dcbff39d upstream.

match_token() expects a NULL terminator at the end of the token list so
that it would know where to stop.  Not having one causes it to overrun
to invalid memory.

In practice, passing a mount option that omfs didn't recognize would
sometimes panic the system.
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarZefan Li <lizefan@huawei.com>
parent 99672cc3
...@@ -361,7 +361,7 @@ static int omfs_get_imap(struct super_block *sb) ...@@ -361,7 +361,7 @@ static int omfs_get_imap(struct super_block *sb)
} }
enum { enum {
Opt_uid, Opt_gid, Opt_umask, Opt_dmask, Opt_fmask Opt_uid, Opt_gid, Opt_umask, Opt_dmask, Opt_fmask, Opt_err
}; };
static const match_table_t tokens = { static const match_table_t tokens = {
...@@ -370,6 +370,7 @@ static const match_table_t tokens = { ...@@ -370,6 +370,7 @@ static const match_table_t tokens = {
{Opt_umask, "umask=%o"}, {Opt_umask, "umask=%o"},
{Opt_dmask, "dmask=%o"}, {Opt_dmask, "dmask=%o"},
{Opt_fmask, "fmask=%o"}, {Opt_fmask, "fmask=%o"},
{Opt_err, NULL},
}; };
static int parse_options(char *options, struct omfs_sb_info *sbi) static int parse_options(char *options, struct omfs_sb_info *sbi)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment