diff options
author | Casey Schaufler <casey@schaufler-ca.com> | 2023-09-12 22:56:54 +0200 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2023-11-13 04:54:42 +0100 |
commit | 223981db9bafb80f558162c148f261e2ff043dbe (patch) | |
tree | d37609096f2fb8759238527f9e0b7833cfd0b1ff /security/apparmor/procattr.c | |
parent | Smack: implement setselfattr and getselfattr hooks (diff) | |
download | linux-223981db9bafb80f558162c148f261e2ff043dbe.tar.xz linux-223981db9bafb80f558162c148f261e2ff043dbe.zip |
AppArmor: Add selfattr hooks
Add hooks for setselfattr and getselfattr. These hooks are not very
different from their setprocattr and getprocattr equivalents, and
much of the code is shared.
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: John Johansen <john.johansen@canonical.com>
[PM: forward ported beyond v6.6 due merge window changes]
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security/apparmor/procattr.c')
-rw-r--r-- | security/apparmor/procattr.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/security/apparmor/procattr.c b/security/apparmor/procattr.c index 197d41f9c32b..e3857e3d7c6c 100644 --- a/security/apparmor/procattr.c +++ b/security/apparmor/procattr.c @@ -20,6 +20,7 @@ * aa_getprocattr - Return the label information for @label * @label: the label to print label info about (NOT NULL) * @string: Returns - string containing the label info (NOT NULL) + * @newline: indicates that a newline should be added * * Requires: label != NULL && string != NULL * @@ -27,7 +28,7 @@ * * Returns: size of string placed in @string else error code on failure */ -int aa_getprocattr(struct aa_label *label, char **string) +int aa_getprocattr(struct aa_label *label, char **string, bool newline) { struct aa_ns *ns = labels_ns(label); struct aa_ns *current_ns = aa_get_current_ns(); @@ -57,11 +58,12 @@ int aa_getprocattr(struct aa_label *label, char **string) return len; } - (*string)[len] = '\n'; - (*string)[len + 1] = 0; + if (newline) + (*string)[len++] = '\n'; + (*string)[len] = 0; aa_put_ns(current_ns); - return len + 1; + return len; } /** |