Messages in this thread |  | | Subject | Re: [PATCH 1/2] hfs: fix potential refcnt problem of nls module | From | Viacheslav Dubeyko <> | Date | Wed, 18 Apr 2018 10:10:56 -0700 |
| |
On Tue, 2018-04-17 at 15:05 +0800, Chengguang Xu wrote: > When specifying iocharset/codepage multiple times in a mount, > current option parsing will cause inaccurate refcount of nls > module. Hence, call unload_nls for previous one in this case. > > Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Looks good.
Reviewed-by: Vyacheslav Dubeyko <slava@dubeyko.com>
Thanks, Vyacheslav Dubeyko.
> --- > fs/hfs/super.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fs/hfs/super.c b/fs/hfs/super.c > index 1738767..6a5f6fd 100644 > --- a/fs/hfs/super.c > +++ b/fs/hfs/super.c > @@ -329,8 +329,10 @@ static int parse_options(char *options, struct > hfs_sb_info *hsb) > return 0; > } > p = match_strdup(&args[0]); > - if (p) > + if (p) { > + unload_nls(hsb->nls_disk); > hsb->nls_disk = load_nls(p); > + } > if (!hsb->nls_disk) { > pr_err("unable to load codepage > \"%s\"\n", p); > kfree(p); > @@ -344,8 +346,10 @@ static int parse_options(char *options, struct > hfs_sb_info *hsb) > return 0; > } > p = match_strdup(&args[0]); > - if (p) > + if (p) { > + unload_nls(hsb->nls_io); > hsb->nls_io = load_nls(p); > + } > if (!hsb->nls_io) { > pr_err("unable to load iocharset > \"%s\"\n", p); > kfree(p);
|  |