summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorZhen Lei <thunder.leizhen@huawei.com>2024-08-06 14:51:13 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-09-04 13:23:17 +0200
commit3337cb632718e50048351281e149bcb0ff152890 (patch)
tree2d77256f94679d533f197b3b9df1828e3bcb70fc /security
parent5053581fe5dfb09b58c65dd8462bf5dea71f41ff (diff)
downloadlinux-3337cb632718e50048351281e149bcb0ff152890.tar.gz
linux-3337cb632718e50048351281e149bcb0ff152890.tar.bz2
linux-3337cb632718e50048351281e149bcb0ff152890.zip
selinux: fix potential counting error in avc_add_xperms_decision()
commit 379d9af3f3da2da1bbfa67baf1820c72a080d1f1 upstream. The count increases only when a node is successfully added to the linked list. Cc: stable@vger.kernel.org Fixes: fa1aa143ac4a ("selinux: extended permissions for ioctls") Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/avc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/selinux/avc.c b/security/selinux/avc.c
index 97f4c944a20f..5e0ed154669b 100644
--- a/security/selinux/avc.c
+++ b/security/selinux/avc.c
@@ -332,12 +332,12 @@ static int avc_add_xperms_decision(struct avc_node *node,
{
struct avc_xperms_decision_node *dest_xpd;
- node->ae.xp_node->xp.len++;
dest_xpd = avc_xperms_decision_alloc(src->used);
if (!dest_xpd)
return -ENOMEM;
avc_copy_xperms_decision(&dest_xpd->xpd, src);
list_add(&dest_xpd->xpd_list, &node->ae.xp_node->xpd_head);
+ node->ae.xp_node->xp.len++;
return 0;
}