On Fri, 08 Jun 2018 23:16:59 +0200,
Andrew Morton wrote:
> 
> On Fri,  8 Jun 2018 15:49:49 +0200 Takashi Iwai <ti...@suse.de> wrote:
> 
> > 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.
> 
> Waiman Long was working on a (vastly more complicated) patchset to
> address this.

That's great.  Any patch available for testing?


> > --- 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",
> 
> What is the back-compatibility situation here?

It's obviously an error to set such a high value and suppose that it
were accepted.  So relying on that behavior must be broken in
anyway...


thanks,

Takashi

Reply via email to