[PATCH] ipc: Limit sysctl value to IPCMNI

From: Takashi Iwai
Date: Fri Jun 08 2018 - 09:50:00 EST


Currently shmmni proc entry accepts all entered integer values, but
the practical limit is IPCMNI (32768). This confuses user as if a
bigger value were accepted but not applied correctly.

This patch changes the proc entry to use *_minmax variant to limit the
accepted values accordingly.

Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
---
ipc/ipc_sysctl.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ipc/ipc_sysctl.c b/ipc/ipc_sysctl.c
index 8ad93c29f511..0c8f89f54e61 100644
--- a/ipc/ipc_sysctl.c
+++ b/ipc/ipc_sysctl.c
@@ -99,6 +99,7 @@ static int proc_ipc_auto_msgmni(struct ctl_table *table, int write,
static int zero;
static int one = 1;
static int int_max = INT_MAX;
+static int ipcmni = IPCMNI;

static struct ctl_table ipc_kern_table[] = {
{
@@ -120,7 +121,9 @@ static struct ctl_table ipc_kern_table[] = {
.data = &init_ipc_ns.shm_ctlmni,
.maxlen = sizeof(init_ipc_ns.shm_ctlmni),
.mode = 0644,
- .proc_handler = proc_ipc_dointvec,
+ .proc_handler = proc_ipc_dointvec_minmax,
+ .extra1 = &zero,
+ .extra2 = &ipcmni,
},
{
.procname = "shm_rmid_forced",
--
2.17.0