On Tue, Aug 03, 2021 at 12:59:37PM +0200, Thomas Huth wrote: > From: Jia He <hejianet@xxxxxxxxx> > > nsm_use_hostnames is a module parameter and it will be exported to sysctl > procfs. This is to let user sometimes change it from userspace. But the > minimal unit for sysctl procfs read/write it sizeof(int). > In big endian system, the converting from/to bool to/from int will cause > error for proc items. > > This patch use a new proc_handler proc_dobool to fix it. > > Signed-off-by: Jia He <hejianet@xxxxxxxxx> > Reviewed-by: Pan Xinhui <xinhui.pan@xxxxxxxxxxxxxxxxxx> > [thuth: Fix typo in commit message] > Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> > --- > fs/lockd/svc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c > index 2de048f80eb8..0ab9756ed235 100644 > --- a/fs/lockd/svc.c > +++ b/fs/lockd/svc.c > @@ -584,7 +584,7 @@ static struct ctl_table nlm_sysctls[] = { > .data = &nsm_use_hostnames, > .maxlen = sizeof(int), For robustness, maybe this should be: .maxlen = sizeof(nsm_use_hostnames), > .mode = 0644, > - .proc_handler = proc_dointvec, > + .proc_handler = proc_dobool, > }, > { > .procname = "nsm_local_state", > -- > 2.27.0 > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Also, I wonder what other BE-corrupted bools are out there? -- Kees Cook