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-08-29 17:30:15 +0200
commitd6d68531f8b578138d84dde85a973e6a169fcc63 (patch)
treef44ac35ead677f0d24a03367d08f61f1f4c689bc /security
parentb8a50877f68efdcc0be3fcc5116e00c31b90e45b (diff)
downloadlinux-d6d68531f8b578138d84dde85a973e6a169fcc63.tar.gz
linux-d6d68531f8b578138d84dde85a973e6a169fcc63.tar.bz2
linux-d6d68531f8b578138d84dde85a973e6a169fcc63.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 9a43af0ebd7d..8984ba92676d 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;
}