Re: [PATCH] selinux: Remove redundant check for unknown labeling behavior

From: Stephen Smalley
Date: Fri May 19 2017 - 13:26:21 EST


On Fri, 2017-05-19 at 10:09 -0700, Matthias Kaehlcke wrote:
> The check is already performed in ocontext_read() when the policy is
> loaded. Removing the array also fixes the following warning when
> building with clang:
>
> security/selinux/hooks.c:338:20: error: variable 'labeling_behaviors'
> ÂÂÂÂis not needed and will not be emitted
> ÂÂÂÂ[-Werror,-Wunneeded-internal-declaration]
>
> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>

Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx>

> ---
> Âsecurity/selinux/hooks.c | 16 ----------------
> Â1 file changed, 16 deletions(-)
>
> diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
> index e67a526d1f30..2e0227b0304f 100644
> --- a/security/selinux/hooks.c
> +++ b/security/selinux/hooks.c
> @@ -398,18 +398,6 @@ static void superblock_free_security(struct
> super_block *sb)
> Â kfree(sbsec);
> Â}
> Â
> -/* The file system's label must be initialized prior to use. */
> -
> -static const char *labeling_behaviors[7] = {
> - "uses xattr",
> - "uses transition SIDs",
> - "uses task SIDs",
> - "uses genfs_contexts",
> - "not configured for labeling",
> - "uses mountpoint labeling",
> - "uses native labeling",
> -};
> -
> Âstatic inline int inode_doinit(struct inode *inode)
> Â{
> Â return inode_doinit_with_dentry(inode, NULL);
> @@ -524,10 +512,6 @@ static int sb_finish_set_opts(struct super_block
> *sb)
> Â }
> Â }
> Â
> - if (sbsec->behavior > ARRAY_SIZE(labeling_behaviors))
> - printk(KERN_ERR "SELinux: initialized (dev %s, type
> %s), unknown behavior\n",
> - ÂÂÂÂÂÂÂsb->s_id, sb->s_type->name);
> -
> Â sbsec->flags |= SE_SBINITIALIZED;
> Â if (selinux_is_sblabel_mnt(sb))
> Â sbsec->flags |= SBLABEL_MNT;