Linux CIFS filesystem development
 help / color / mirror / Atom feed
* [PATCH] fs/nls: make load_nls() take a const parameter
@ 2023-07-20  6:34 Winston Wen
  2023-07-21 17:36 ` Paulo Alcantara
  0 siblings, 1 reply; 3+ messages in thread
From: Winston Wen @ 2023-07-20  6:34 UTC (permalink / raw)
  To: Steve French, Alexander Viro, Christian Brauner, linux-cifs,
	linux-fsdevel
  Cc: Winston Wen, Stephen Rothwell

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(-)

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)
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] fs/nls: make load_nls() take a const parameter
  2023-07-20  6:34 [PATCH] fs/nls: make load_nls() take a const parameter Winston Wen
@ 2023-07-21 17:36 ` Paulo Alcantara
  2023-07-24  5:52   ` Winston Wen
  0 siblings, 1 reply; 3+ messages in thread
From: Paulo Alcantara @ 2023-07-21 17:36 UTC (permalink / raw)
  To: Winston Wen, Steve French, Alexander Viro, Christian Brauner,
	linux-cifs, linux-fsdevel
  Cc: Winston Wen, Stephen Rothwell

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] fs/nls: make load_nls() take a const parameter
  2023-07-21 17:36 ` Paulo Alcantara
@ 2023-07-24  5:52   ` Winston Wen
  0 siblings, 0 replies; 3+ messages in thread
From: Winston Wen @ 2023-07-24  5:52 UTC (permalink / raw)
  To: Paulo Alcantara
  Cc: Steve French, Alexander Viro, Christian Brauner, linux-cifs,
	linux-fsdevel, Stephen Rothwell

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!

-- 
Thanks,
Winston


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-07-24  5:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-20  6:34 [PATCH] fs/nls: make load_nls() take a const parameter Winston Wen
2023-07-21 17:36 ` Paulo Alcantara
2023-07-24  5:52   ` Winston Wen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox