Lines Matching refs:tclass
50 u16 tclass;
125 static inline u32 avc_hash(u32 ssid, u32 tsid, u16 tclass)
127 return (ssid ^ (tsid<<2) ^ (tclass<<4)) & (AVC_CACHE_SLOTS - 1);
415 static inline int avc_xperms_audit(u32 ssid, u32 tsid, u16 tclass,
427 return slow_avc_audit(ssid, tsid, tclass, requested,
515 static void avc_node_populate(struct avc_node *node, u32 ssid, u32 tsid, u16 tclass, struct av_decision *avd)
519 node->ae.tclass = tclass;
523 static inline struct avc_node *avc_search_node(u32 ssid, u32 tsid, u16 tclass)
529 hvalue = avc_hash(ssid, tsid, tclass);
533 tclass == node->ae.tclass &&
547 * @tclass: target security class
551 * based on @tclass. If a valid AVC entry exists,
555 static struct avc_node *avc_lookup(u32 ssid, u32 tsid, u16 tclass)
560 node = avc_search_node(ssid, tsid, tclass);
595 * @tclass: target security class
600 * (@ssid, @tsid) and class @tclass.
608 static void avc_insert(u32 ssid, u32 tsid, u16 tclass,
624 avc_node_populate(node, ssid, tsid, tclass, avd);
630 hvalue = avc_hash(ssid, tsid, tclass);
637 pos->ae.tclass == tclass) {
668 perms = secclass_map[sad->tclass-1].perms;
700 const char *tclass = NULL;
719 tclass = secclass_map[sad->tclass-1].name;
720 audit_log_format(ab, " tclass=%s", tclass);
725 trace_selinux_audited(sad, scontext, tcontext, tclass);
756 noinline int slow_avc_audit(u32 ssid, u32 tsid, u16 tclass,
763 if (WARN_ON(!tclass || tclass >= ARRAY_SIZE(secclass_map)))
771 sad.tclass = tclass;
821 * @tclass : AVC entry target object class
832 u32 tsid, u16 tclass, u32 seqno,
850 hvalue = avc_hash(ssid, tsid, tclass);
860 tclass == pos->ae.tclass &&
877 avc_node_populate(node, ssid, tsid, tclass, &orig->ae.avd);
977 * @tclass: object class
985 static noinline void avc_compute_av(u32 ssid, u32 tsid, u16 tclass,
990 security_compute_av(ssid, tsid, tclass, avd, &xp_node->xp);
991 avc_insert(ssid, tsid, tclass, avd, xp_node);
995 u16 tclass, u32 requested,
1007 xperm, ssid, tsid, tclass, avd->seqno, NULL, flags);
1018 int avc_has_extended_perms(u32 ssid, u32 tsid, u16 tclass, u32 requested,
1039 node = avc_lookup(ssid, tsid, tclass);
1041 avc_compute_av(ssid, tsid, tclass, &avd, xp_node);
1065 security_compute_xperms_decision(ssid, tsid, tclass,
1069 driver, xperm, ssid, tsid, tclass, avd.seqno,
1082 rc = avc_denied(ssid, tsid, tclass, requested,
1087 rc2 = avc_xperms_audit(ssid, tsid, tclass, requested,
1098 * @tclass: object class
1107 static noinline int avc_perm_nonode(u32 ssid, u32 tsid, u16 tclass,
1114 avc_compute_av(ssid, tsid, tclass, avd, &xp_node);
1117 return avc_denied(ssid, tsid, tclass, requested, 0, 0,
1126 * @tclass: target security class
1127 * @requested: requested permissions, interpreted based on @tclass
1133 * based on @tclass, and call the security server on a cache miss to obtain
1143 u16 tclass, u32 requested,
1154 node = avc_lookup(ssid, tsid, tclass);
1157 return avc_perm_nonode(ssid, tsid, tclass, requested,
1165 return avc_denied(ssid, tsid, tclass, requested, 0, 0,
1174 * @tclass: target security class
1175 * @requested: requested permissions, interpreted based on @tclass
1180 * based on @tclass, and call the security server on a cache miss to obtain
1186 int avc_has_perm(u32 ssid, u32 tsid, u16 tclass,
1192 rc = avc_has_perm_noaudit(ssid, tsid, tclass, requested, 0,
1195 rc2 = avc_audit(ssid, tsid, tclass, requested, &avd, rc,