Lines Matching refs:xp_node

52 	struct avc_xperms_node	*xp_node;
186 struct avc_xperms_node *xp_node)
190 list_for_each_entry(xpd_node, &xp_node->xpd_head, xpd_list) {
215 static void avc_xperms_allow_perm(struct avc_xperms_node *xp_node,
219 security_xperm_set(xp_node->xp.drivers.p, driver);
220 xpd = avc_xperms_decision_lookup(driver, xp_node);
239 static void avc_xperms_free(struct avc_xperms_node *xp_node)
243 if (!xp_node)
246 list_for_each_entry_safe(xpd_node, tmp, &xp_node->xpd_head, xpd_list) {
250 kmem_cache_free(avc_xperms_cachep, xp_node);
333 node->ae.xp_node->xp.len++;
338 list_add(&dest_xpd->xpd_list, &node->ae.xp_node->xpd_head);
344 struct avc_xperms_node *xp_node;
346 xp_node = kmem_cache_zalloc(avc_xperms_cachep, GFP_NOWAIT | __GFP_NOWARN);
347 if (!xp_node)
348 return xp_node;
349 INIT_LIST_HEAD(&xp_node->xpd_head);
350 return xp_node;
377 node->ae.xp_node = dest;
434 avc_xperms_free(node->ae.xp_node);
448 avc_xperms_free(node->ae.xp_node);
597 * @xp_node: resulting extended permissions
609 struct av_decision *avd, struct avc_xperms_node *xp_node)
625 if (avc_xperms_populate(node, xp_node)) {
879 if (orig->ae.xp_node) {
880 rc = avc_xperms_populate(node, orig->ae.xp_node);
890 if (node->ae.xp_node && (flags & AVC_EXTENDED_PERMS))
891 avc_xperms_allow_perm(node->ae.xp_node, driver, xperm);
979 * @xp_node: AVC extended permissions node
987 struct avc_xperms_node *xp_node)
989 INIT_LIST_HEAD(&xp_node->xpd_head);
990 security_compute_av(ssid, tsid, tclass, avd, &xp_node->xp);
991 avc_insert(ssid, tsid, tclass, avd, xp_node);
1030 struct avc_xperms_node *xp_node;
1033 xp_node = &local_xp_node;
1041 avc_compute_av(ssid, tsid, tclass, &avd, xp_node);
1044 xp_node = node->ae.xp_node;
1047 if (!xp_node || !xp_node->xp.len)
1054 xpd = avc_xperms_decision_lookup(driver, xp_node);
1060 if (!security_xperm_test(xp_node->xp.drivers.p, driver)) {
1112 struct avc_xperms_node xp_node;
1114 avc_compute_av(ssid, tsid, tclass, avd, &xp_node);