SELinux: use define for number of bits in the mnt flags mask
authorEric Paris <eparis@redhat.com>
Fri, 24 Aug 2012 19:59:00 +0000 (15:59 -0400)
committerEric Paris <eparis@redhat.com>
Thu, 25 Jul 2013 17:02:58 +0000 (13:02 -0400)
We had this random hard coded value of '8' in the code (I put it there)
for the number of bits to check for mount options.  This is stupid.  Instead
use the #define we already have which tells us the number of mount
options.

Signed-off-by: Eric Paris <eparis@redhat.com>
security/selinux/hooks.c

index 863f205..e13d65a 100644 (file)
@@ -466,9 +466,12 @@ static int selinux_get_mnt_opts(const struct super_block *sb,
        if (!ss_initialized)
                return -EINVAL;
 
+       /* make sure we always check enough bits to cover the mask */
+       BUILD_BUG_ON(SE_MNTMASK >= (1 << NUM_SEL_MNT_OPTS));
+
        tmp = sbsec->flags & SE_MNTMASK;
        /* count the number of mount options for this sb */
-       for (i = 0; i < 8; i++) {
+       for (i = 0; i < NUM_SEL_MNT_OPTS; i++) {
                if (tmp & 0x01)
                        opts->num_mnt_opts++;
                tmp >>= 1;