Message ID | 20230720063414.2546451-1-wentao@uniontech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs/nls: make load_nls() take a const parameter | expand |
Winston Wen <wentao@uniontech.com> writes: > 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); > > Also remove the cast in cifs code. > > Suggested-by: Stephen Rothwell <sfr@canb.auug.org.au> > Signed-off-by: Winston Wen <wentao@uniontech.com> > --- > fs/nls/nls_base.c | 4 ++-- > fs/smb/client/connect.c | 2 +- > include/linux/nls.h | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) Changes look good, however you should probably get rid of the cifs.ko changes in this patch and for the cifs.ko one, you could resend without the casts.
On Fri, 21 Jul 2023 14:36:54 -0300 Paulo Alcantara <pc@manguebit.com> wrote: > Winston Wen <wentao@uniontech.com> writes: > > > 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); > > > > Also remove the cast in cifs code. > > > > Suggested-by: Stephen Rothwell <sfr@canb.auug.org.au> > > Signed-off-by: Winston Wen <wentao@uniontech.com> > > --- > > fs/nls/nls_base.c | 4 ++-- > > fs/smb/client/connect.c | 2 +- > > include/linux/nls.h | 2 +- > > 3 files changed, 4 insertions(+), 4 deletions(-) > > Changes look good, however you should probably get rid of the cifs.ko > changes in this patch and for the cifs.ko one, you could resend > without the casts. > Make sense. I've resent the patch, thanks!
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/fs/smb/client/connect.c b/fs/smb/client/connect.c index 8ad10c96e8ce..238538dde4e3 100644 --- a/fs/smb/client/connect.c +++ b/fs/smb/client/connect.c @@ -2290,7 +2290,7 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb3_fs_context *ctx) ses->sectype = ctx->sectype; ses->sign = ctx->sign; - ses->local_nls = load_nls((char *)ctx->local_nls->charset); + ses->local_nls = load_nls(ctx->local_nls->charset); /* add server as first channel */ spin_lock(&ses->chan_lock); 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)
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); Also remove the cast in cifs code. Suggested-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Winston Wen <wentao@uniontech.com> --- fs/nls/nls_base.c | 4 ++-- fs/smb/client/connect.c | 2 +- include/linux/nls.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)