Message ID | 20230724021057.2958991-2-wentao@uniontech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cifs: fix charset issue in reconnection | expand |
On Mon, Jul 24, 2023 at 10:10:56AM +0800, Winston Wen wrote: > load_nls() take a char * parameter, use it to find nls module in list or > construct the module name to load it. > > This change make load_nls() take a const parameter, so we don't need do > some cast like this: > > ses->local_nls = load_nls((char *)ctx->local_nls->charset); > > Suggested-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Winston Wen <wentao@uniontech.com> > Reviewed-by: Paulo Alcantara <pc@manguebit.com> > --- Looks good to me, Reviewed-by: Christian Brauner <brauner@kernel.org>
diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c index 52ccd34b1e79..a026dbd3593f 100644 --- a/fs/nls/nls_base.c +++ b/fs/nls/nls_base.c @@ -272,7 +272,7 @@ int unregister_nls(struct nls_table * nls) return -EINVAL; } -static struct nls_table *find_nls(char *charset) +static struct nls_table *find_nls(const char *charset) { struct nls_table *nls; spin_lock(&nls_lock); @@ -288,7 +288,7 @@ static struct nls_table *find_nls(char *charset) return nls; } -struct nls_table *load_nls(char *charset) +struct nls_table *load_nls(const char *charset) { return try_then_request_module(find_nls(charset), "nls_%s", charset); } diff --git a/include/linux/nls.h b/include/linux/nls.h index 499e486b3722..e0bf8367b274 100644 --- a/include/linux/nls.h +++ b/include/linux/nls.h @@ -47,7 +47,7 @@ enum utf16_endian { /* nls_base.c */ extern int __register_nls(struct nls_table *, struct module *); extern int unregister_nls(struct nls_table *); -extern struct nls_table *load_nls(char *); +extern struct nls_table *load_nls(const char *charset); extern void unload_nls(struct nls_table *); extern struct nls_table *load_nls_default(void); #define register_nls(nls) __register_nls((nls), THIS_MODULE)