[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3612472.1589412319@warthog.procyon.org.uk>
Date: Thu, 14 May 2020 00:25:19 +0100
From: David Howells <dhowells@...hat.com>
To: Casey Schaufler <casey@...aufler-ca.com>
Cc: dhowells@...hat.com, stephen.smalley.work@...il.com,
Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
Paul Moore <paul@...l-moore.com>, keyrings@...r.kernel.org,
selinux@...r.kernel.org, linux-security-module@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] keys: Make the KEY_NEED_* perms an enum rather than a mask
Casey Schaufler <casey@...aufler-ca.com> wrote:
> > - if (perm & ~KEY_NEED_ALL)
> > - return -EINVAL;
> > + switch (need_perm) {
> > + default:
> > + return -EACCES;
> ...
> Is the change from -EINVAL to -EACCES a bug fix?
> Does it introduce an incompatibility?
It shouldn't happen. All the actual cases should be covered explicitly in the
switch. It's to catch a programming issue in the kernel where a new value
gets added to the enum but not propagated to all the places that check for it.
I'd actually prefer it to be something even more obvious, especially as EINVAL
is so widely used in the kernel. Should I put a WARN_ON in there?
David
Powered by blists - more mailing lists