On Tue, Aug 03, 2021 at 12:59:37PM +0200, Thomas Huth wrote:
quoted hunk ↗ jump to hunk
From: Jia He <redacted>
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 <redacted>
Reviewed-by: Pan Xinhui <redacted>
[thuth: Fix typo in commit message]
Signed-off-by: Thomas Huth <redacted>
---
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 <redacted>
Also, I wonder what other BE-corrupted bools are out there?
--
Kees Cook