Lines Matching defs:xp_node
53 struct avc_xperms_node *xp_node;
180 struct avc_xperms_node *xp_node)
184 list_for_each_entry(xpd_node, &xp_node->xpd_head, xpd_list) {
210 static void avc_xperms_allow_perm(struct avc_xperms_node *xp_node,
214 security_xperm_set(xp_node->xp.drivers.p, driver);
215 xp_node->xp.base_perms |= base_perm;
216 xpd = avc_xperms_decision_lookup(driver, base_perm, xp_node);
235 static void avc_xperms_free(struct avc_xperms_node *xp_node)
239 if (!xp_node)
242 list_for_each_entry_safe(xpd_node, tmp, &xp_node->xpd_head, xpd_list) {
246 kmem_cache_free(avc_xperms_cachep, xp_node);
334 list_add(&dest_xpd->xpd_list, &node->ae.xp_node->xpd_head);
335 node->ae.xp_node->xp.len++;
341 struct avc_xperms_node *xp_node;
343 xp_node = kmem_cache_zalloc(avc_xperms_cachep, GFP_NOWAIT);
344 if (!xp_node)
345 return xp_node;
346 INIT_LIST_HEAD(&xp_node->xpd_head);
347 return xp_node;
375 node->ae.xp_node = dest;
432 avc_xperms_free(node->ae.xp_node);
446 avc_xperms_free(node->ae.xp_node);
594 * @xp_node: resulting extended permissions
606 struct av_decision *avd, struct avc_xperms_node *xp_node)
622 if (avc_xperms_populate(node, xp_node)) {
876 if (orig->ae.xp_node) {
877 rc = avc_xperms_populate(node, orig->ae.xp_node);
887 if (node->ae.xp_node && (flags & AVC_EXTENDED_PERMS))
888 avc_xperms_allow_perm(node->ae.xp_node, driver, base_perm, xperm);
980 * @xp_node: AVC extended permissions node
988 struct avc_xperms_node *xp_node)
990 INIT_LIST_HEAD(&xp_node->xpd_head);
991 security_compute_av(ssid, tsid, tclass, avd, &xp_node->xp);
992 avc_insert(ssid, tsid, tclass, avd, xp_node);
1031 struct avc_xperms_node *xp_node;
1034 xp_node = &local_xp_node;
1042 avc_compute_av(ssid, tsid, tclass, &avd, xp_node);
1045 xp_node = node->ae.xp_node;
1048 if (!xp_node || !xp_node->xp.len)
1055 xpd = avc_xperms_decision_lookup(driver, base_perm, xp_node);
1061 if (!security_xperm_test(xp_node->xp.drivers.p, driver) ||
1062 !(xp_node->xp.base_perms & base_perm)) {
1114 struct avc_xperms_node xp_node;
1116 avc_compute_av(ssid, tsid, tclass, avd, &xp_node);