apparmor: Convert to use match_string() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 7 May 2018 13:39:03 +0000 (16:39 +0300)
committerJohn Johansen <john.johansen@canonical.com>
Thu, 7 Jun 2018 08:50:40 +0000 (01:50 -0700)
The new helper returns index of the matching string in an array.
We are going to use it here.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jay Freyensee <why2jjj.linux@gmail.com>
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/lsm.c

index 7866161..8299a5d 100644 (file)
@@ -1391,14 +1391,12 @@ static int param_set_audit(const char *val, const struct kernel_param *kp)
        if (apparmor_initialized && !policy_admin_capable(NULL))
                return -EPERM;
 
-       for (i = 0; i < AUDIT_MAX_INDEX; i++) {
-               if (strcmp(val, audit_mode_names[i]) == 0) {
-                       aa_g_audit = i;
-                       return 0;
-               }
-       }
+       i = match_string(audit_mode_names, AUDIT_MAX_INDEX, val);
+       if (i < 0)
+               return -EINVAL;
 
-       return -EINVAL;
+       aa_g_audit = i;
+       return 0;
 }
 
 static int param_get_mode(char *buffer, const struct kernel_param *kp)
@@ -1422,14 +1420,13 @@ static int param_set_mode(const char *val, const struct kernel_param *kp)
        if (apparmor_initialized && !policy_admin_capable(NULL))
                return -EPERM;
 
-       for (i = 0; i < APPARMOR_MODE_NAMES_MAX_INDEX; i++) {
-               if (strcmp(val, aa_profile_mode_names[i]) == 0) {
-                       aa_g_profile_mode = i;
-                       return 0;
-               }
-       }
+       i = match_string(aa_profile_mode_names, APPARMOR_MODE_NAMES_MAX_INDEX,
+                        val);
+       if (i < 0)
+               return -EINVAL;
 
-       return -EINVAL;
+       aa_g_profile_mode = i;
+       return 0;
 }
 
 /*