selinux: never allow relabeling on context mounts
authorOndrej Mosnacek <omosnace@redhat.com>
Fri, 21 Dec 2018 20:18:52 +0000 (21:18 +0100)
committerPaul Moore <paul@paul-moore.com>
Fri, 11 Jan 2019 02:23:39 +0000 (21:23 -0500)
commita83d6ddaebe541570291205cb538e35ad4ff94f9
treee06b9552bec95ead56f8ba79ac4f27947866850b
parente46e01eebbbcf2ff6d28ee7cae9f117e9d1572c8
selinux: never allow relabeling on context mounts

In the SECURITY_FS_USE_MNTPOINT case we never want to allow relabeling
files/directories, so we should never set the SBLABEL_MNT flag. The
'special handling' in selinux_is_sblabel_mnt() is only intended for when
the behavior is set to SECURITY_FS_USE_GENFS.

While there, make the logic in selinux_is_sblabel_mnt() more explicit
and add a BUILD_BUG_ON() to make sure that introducing a new
SECURITY_FS_USE_* forces a review of the logic.

Fixes: d5f3a5f6e7e7 ("selinux: add security in-core xattr support for pstore and debugfs")
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Reviewed-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/hooks.c