On Tue, 12 Jun 2018 08:36:32 +0200 Takashi Iwai <ti...@suse.de> wrote:

> > Well the present behaviour is to convert higher values downwards, yes?
> > 
> > int ipc_addid(struct ipc_ids *ids, struct kern_ipc_perm *new, int limit)
> > {
> >     kuid_t euid;
> >     kgid_t egid;
> >     int id, err;
> > 
> >     if (limit > IPCMNI)
> >             limit = IPCMNI;
> > 
> > So if someone out there is presently setting this to 999999 then their
> > kernel will work just fine.  After your proposed change, it will no
> > longer do so - the tuning attempt will fail with -EINVAL.
> > 
> > It really does us no good to say "you shouldn't have been doing that". 
> > The fact that they *are* doing it and that it works OK is the kernel
> > developers' fault for not applying suitable checking on day one.  I
> > think we're stuck with continuing to accept such input.
> 
> Hm, that's one concern, yes.
> 
> OTOH, we do secretly ignore the input value, and this isn't what's
> expected by user, either.  Moreover, user-space has no slightest idea
> which value can be accepted and which not.
> 
> Actually I posted it just because of requests from customers who
> needed to raise the bar, but didn't notice the effect.
> 
> Maybe another possible solution would be to add another proc entry to
> handle this correctly, and make the old one only for compatibility.

Yes, I guess so.  Just leave the old tunable alone.  Possibly we
could add a printk_once("please switch to the new interface").

Reply via email to