fs: switch order of CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH checks
authorStephen Smalley <sds@tycho.nsa.gov>
Fri, 10 Mar 2017 17:14:18 +0000 (12:14 -0500)
committerPaul Moore <paul@paul-moore.com>
Wed, 29 Mar 2017 21:33:11 +0000 (17:33 -0400)
commit2a4c22426955d4fc04069811997b7390c0fb858e
tree5ca50881e92de4a8c25947b4adc2d8dd53bc01a5
parent710a0647ba955abd25460c36a09d80fdbe878273
fs: switch order of CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH checks

generic_permission() presently checks CAP_DAC_OVERRIDE prior to
CAP_DAC_READ_SEARCH.  This can cause misleading audit messages when
using a LSM such as SELinux or AppArmor, since CAP_DAC_OVERRIDE
may not be required for the operation.  Flip the order of the
tests so that CAP_DAC_OVERRIDE is only checked when required for
the operation.

Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Acked-by: John Johansen <john.johansen@canonical.com>
Reviewed-by: Serge Hallyn <serge@hallyn.com>
Acked-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
fs/namei.c