* [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;
as well as URLs for NNTP newsgroup(s).