SELinux: /proc/mounts should show what it can
authorEric Paris <eparis@redhat.com>
Tue, 29 Jul 2008 21:07:26 +0000 (17:07 -0400)
committerJames Morris <jmorris@namei.org>
Tue, 29 Jul 2008 22:31:28 +0000 (08:31 +1000)
commit383795c206946777d87ed5f6d61d6659110f9344
tree839c3a69e5a8603ce4bc494fc5b7e81c1e02e87b
parent6e86841d05f371b5b9b86ce76c02aaee83352298
SELinux: /proc/mounts should show what it can

Given a hosed SELinux config in which a system never loads policy or
disables SELinux we currently just return -EINVAL for anyone trying to
read /proc/mounts.  This is a configuration problem but we can certainly
be more graceful.  This patch just ignores -EINVAL when displaying LSM
options and causes /proc/mounts display everything else it can.  If
policy isn't loaded the obviously there are no options, so we aren't
really loosing any information here.

This is safe as the only other return of EINVAL comes from
security_sid_to_context_core() in the case of an invalid sid.  Even if a
FS was mounted with a now invalidated context that sid should have been
remapped to unlabeled and so we won't hit the EINVAL and will work like
we should.  (yes, I tested to make sure it worked like I thought)

Signed-off-by: Eric Paris <eparis@redhat.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Signed-off-by: James Morris <jmorris@namei.org>
security/selinux/hooks.c