[PATCH 26/33] apparmor: use match_string() helper
From: john.johansen@canonical.com (John Johansen)
Date: 2018-05-21 15:34:00
Also in:
lkml
On 05/21/2018 04:58 AM, Yisheng Xie wrote:
match_string() returns the index of an array for a matching string, which can be used intead of open coded variant.
Andy Shevchenko patch to do the same thing is already in apparmor-next
quoted hunk ↗ jump to hunk
Cc: John Johansen <john.johansen@canonical.com> Cc: James Morris <jmorris@namei.org> Cc: "Serge E. Hallyn" <serge@hallyn.com> Cc: linux-security-module at vger.kernel.org Signed-off-by: Yisheng Xie <redacted> --- security/apparmor/lsm.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-)diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c index ce2b89e..9b5904f 100644 --- a/security/apparmor/lsm.c +++ b/security/apparmor/lsm.c@@ -1378,14 +1378,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)@@ -1409,14 +1407,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) + return -EINVAL; - return -EINVAL; + aa_g_profile_mode = i; + return 0; } /*
-- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html