]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selinux: update type for number of class permissions in services code
authorChristian Göttsche <cgzones@googlemail.com>
Mon, 7 Aug 2023 17:11:37 +0000 (19:11 +0200)
committerPaul Moore <paul@paul-moore.com>
Wed, 9 Aug 2023 23:07:48 +0000 (19:07 -0400)
Security classes have only up to 32 permissions, hence using an u16 is
sufficient (while improving padding in struct selinux_mapping).

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/ss/services.c
security/selinux/ss/services.h

index 3ec0bb39c234ab3672540d57659b0bda5d65ccd3..dacec2ebdcd7d8852d9373c06ca7ba9cbc831980 100644 (file)
@@ -97,7 +97,6 @@ static int selinux_set_mapping(struct policydb *pol,
                               struct selinux_map *out_map)
 {
        u16 i, j;
-       unsigned k;
        bool print_unknown_handle = false;
 
        /* Find number of classes in the input mapping */
@@ -117,6 +116,7 @@ static int selinux_set_mapping(struct policydb *pol,
        while (map[j].name) {
                const struct security_class_mapping *p_in = map + (j++);
                struct selinux_mapping *p_out = out_map->mapping + j;
+               u16 k;
 
                /* An empty class string skips ahead */
                if (!strcmp(p_in->name, "")) {
index ed2ee6600467a2652d250cf83f8d1eab5cd907df..d24b0a3d198e468c2b3f50d31ab8d228a09f6328 100644 (file)
@@ -12,7 +12,7 @@
 /* Mapping for a single class */
 struct selinux_mapping {
        u16 value; /* policy value for class */
-       unsigned int num_perms; /* number of permissions in class */
+       u16 num_perms; /* number of permissions in class */
        u32 perms[sizeof(u32) * 8]; /* policy values for permissions */
 };