]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
apparmor: Use sysfs_emit in param_get_{audit,mode}
authorThorsten Blum <thorsten.blum@linux.dev>
Sun, 22 Feb 2026 21:40:38 +0000 (22:40 +0100)
committerJohn Johansen <john.johansen@canonical.com>
Wed, 22 Apr 2026 17:57:52 +0000 (10:57 -0700)
Replace sprintf() with sysfs_emit() in param_get_audit() and
param_get_mode(). sysfs_emit() is preferred for formatting sysfs output
because it provides safer bounds checking.  Add terminating newlines as
suggested by checkpatch.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/lsm.c

index 6f15b968a32a7f293c5237197975bc4ffc4f0e2f..49b5e4f329832a137b0967fb3547342a0d0a1a03 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/ptrace.h>
 #include <linux/ctype.h>
 #include <linux/sysctl.h>
+#include <linux/sysfs.h>
 #include <linux/audit.h>
 #include <linux/user_namespace.h>
 #include <linux/netfilter_ipv4.h>
@@ -2064,7 +2065,7 @@ static int param_get_audit(char *buffer, const struct kernel_param *kp)
                return -EINVAL;
        if (apparmor_initialized && !aa_current_policy_view_capable(NULL))
                return -EPERM;
-       return sprintf(buffer, "%s", audit_mode_names[aa_g_audit]);
+       return sysfs_emit(buffer, "%s\n", audit_mode_names[aa_g_audit]);
 }
 
 static int param_set_audit(const char *val, const struct kernel_param *kp)
@@ -2092,8 +2093,7 @@ static int param_get_mode(char *buffer, const struct kernel_param *kp)
                return -EINVAL;
        if (apparmor_initialized && !aa_current_policy_view_capable(NULL))
                return -EPERM;
-
-       return sprintf(buffer, "%s", aa_profile_mode_names[aa_g_profile_mode]);
+       return sysfs_emit(buffer, "%s\n", aa_profile_mode_names[aa_g_profile_mode]);
 }
 
 static int param_set_mode(const char *val, const struct kernel_param *kp)