]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
apparmor: drop in_atomic flag in common_mmap, and common_file_perm
authorJohn Johansen <john.johansen@canonical.com>
Sun, 18 Jan 2026 07:40:03 +0000 (23:40 -0800)
committerJohn Johansen <john.johansen@canonical.com>
Thu, 29 Jan 2026 09:27:53 +0000 (01:27 -0800)
with the previous changes to mmap the in_atomic flag is now always
false, so drop it.

Suggested-by: Tyler Hicks <code@tyhicks.com>
Reviewed-by: Georgia Garcia <georgia.garcia@canonical.com>
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/lsm.c

index acca3d6efdbc84003ef19906caa2f25503969c50..e59e9bc7250bfc20d7f812a12b90461b67c14d4f 100644 (file)
@@ -520,8 +520,7 @@ static void apparmor_file_free_security(struct file *file)
                aa_put_label(rcu_access_pointer(ctx->label));
 }
 
-static int common_file_perm(const char *op, struct file *file, u32 mask,
-                           bool in_atomic)
+static int common_file_perm(const char *op, struct file *file, u32 mask)
 {
        struct aa_label *label;
        int error = 0;
@@ -532,7 +531,7 @@ static int common_file_perm(const char *op, struct file *file, u32 mask,
                return -EACCES;
 
        label = __begin_current_label_crit_section(&needput);
-       error = aa_file_perm(op, current_cred(), label, file, mask, in_atomic);
+       error = aa_file_perm(op, current_cred(), label, file, mask, false);
        __end_current_label_crit_section(label, needput);
 
        return error;
@@ -540,13 +539,12 @@ static int common_file_perm(const char *op, struct file *file, u32 mask,
 
 static int apparmor_file_receive(struct file *file)
 {
-       return common_file_perm(OP_FRECEIVE, file, aa_map_file_to_perms(file),
-                               false);
+       return common_file_perm(OP_FRECEIVE, file, aa_map_file_to_perms(file));
 }
 
 static int apparmor_file_permission(struct file *file, int mask)
 {
-       return common_file_perm(OP_FPERM, file, mask, false);
+       return common_file_perm(OP_FPERM, file, mask);
 }
 
 static int apparmor_file_lock(struct file *file, unsigned int cmd)
@@ -556,11 +554,11 @@ static int apparmor_file_lock(struct file *file, unsigned int cmd)
        if (cmd == F_WRLCK)
                mask |= MAY_WRITE;
 
-       return common_file_perm(OP_FLOCK, file, mask, false);
+       return common_file_perm(OP_FLOCK, file, mask);
 }
 
 static int common_mmap(const char *op, struct file *file, unsigned long prot,
-                      unsigned long flags, bool in_atomic)
+                      unsigned long flags)
 {
        int mask = 0;
 
@@ -578,21 +576,20 @@ static int common_mmap(const char *op, struct file *file, unsigned long prot,
        if (prot & PROT_EXEC)
                mask |= AA_EXEC_MMAP;
 
-       return common_file_perm(op, file, mask, in_atomic);
+       return common_file_perm(op, file, mask);
 }
 
 static int apparmor_mmap_file(struct file *file, unsigned long reqprot,
                              unsigned long prot, unsigned long flags)
 {
-       return common_mmap(OP_FMMAP, file, prot, flags, false);
+       return common_mmap(OP_FMMAP, file, prot, flags);
 }
 
 static int apparmor_file_mprotect(struct vm_area_struct *vma,
                                  unsigned long reqprot, unsigned long prot)
 {
        return common_mmap(OP_FMPROT, vma->vm_file, prot,
-                          !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0,
-                          false);
+                          !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0);
 }
 
 #ifdef CONFIG_IO_URING