summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorRyan Lee <ryan.lee@canonical.com>2026-01-07 11:47:02 -0800
committerJohn Johansen <john.johansen@canonical.com>2026-01-29 01:27:54 -0800
commit9b829c0aa96e9385b1e9a308d3eb054b95fbeda2 (patch)
treeb26be32ca81d0b21cbb7185aef0d9ac163f59edd /security
parentc3f27ccdb2dce3f0f2814574d06017f46c11fa29 (diff)
apparmor: account for in_atomic removal in common_file_perm
If we are not in an atomic context in common_file_perm, then we don't have to use the atomic versions, resulting in improved performance outside of atomic contexts. Signed-off-by: Ryan Lee <ryan.lee@canonical.com> Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security')
-rw-r--r--security/apparmor/lsm.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index e59e9bc7250b..f47d60d8c40a 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -524,15 +524,14 @@ static int common_file_perm(const char *op, struct file *file, u32 mask)
{
struct aa_label *label;
int error = 0;
- bool needput;
/* don't reaudit files closed during inheritance */
if (unlikely(file->f_path.dentry == aa_null.dentry))
return -EACCES;
- label = __begin_current_label_crit_section(&needput);
+ label = begin_current_label_crit_section();
error = aa_file_perm(op, current_cred(), label, file, mask, false);
- __end_current_label_crit_section(label, needput);
+ end_current_label_crit_section(label);
return error;
}