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: fa1aa143ac
("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>
This commit is contained in:
Родитель
5053581fe5
Коммит
3337cb6327
|
@ -332,12 +332,12 @@ static int avc_add_xperms_decision(struct avc_node *node,
|
||||||
{
|
{
|
||||||
struct avc_xperms_decision_node *dest_xpd;
|
struct avc_xperms_decision_node *dest_xpd;
|
||||||
|
|
||||||
node->ae.xp_node->xp.len++;
|
|
||||||
dest_xpd = avc_xperms_decision_alloc(src->used);
|
dest_xpd = avc_xperms_decision_alloc(src->used);
|
||||||
if (!dest_xpd)
|
if (!dest_xpd)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
avc_copy_xperms_decision(&dest_xpd->xpd, src);
|
avc_copy_xperms_decision(&dest_xpd->xpd, src);
|
||||||
list_add(&dest_xpd->xpd_list, &node->ae.xp_node->xpd_head);
|
list_add(&dest_xpd->xpd_list, &node->ae.xp_node->xpd_head);
|
||||||
|
node->ae.xp_node->xp.len++;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче