• Home
  • Raw
  • Download

Lines Matching refs:key

38 		  struct avtab_key *key, struct avtab_datum *datum)  in avtab_insert_node()  argument
45 newnode->key = *key; in avtab_insert_node()
47 if (key->specified & AVTAB_XPERMS) { in avtab_insert_node()
71 static int avtab_insert(struct avtab *h, struct avtab_key *key, struct avtab_datum *datum) in avtab_insert() argument
75 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert()
80 hvalue = avtab_hash(key, h->mask); in avtab_insert()
84 if (key->source_type == cur->key.source_type && in avtab_insert()
85 key->target_type == cur->key.target_type && in avtab_insert()
86 key->target_class == cur->key.target_class && in avtab_insert()
87 (specified & cur->key.specified)) { in avtab_insert()
93 if (key->source_type < cur->key.source_type) in avtab_insert()
95 if (key->source_type == cur->key.source_type && in avtab_insert()
96 key->target_type < cur->key.target_type) in avtab_insert()
98 if (key->source_type == cur->key.source_type && in avtab_insert()
99 key->target_type == cur->key.target_type && in avtab_insert()
100 key->target_class < cur->key.target_class) in avtab_insert()
104 newnode = avtab_insert_node(h, hvalue, prev, cur, key, datum); in avtab_insert()
116 avtab_insert_nonunique(struct avtab *h, struct avtab_key *key, struct avtab_datum *datum) in avtab_insert_nonunique() argument
120 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert_nonunique()
124 hvalue = avtab_hash(key, h->mask); in avtab_insert_nonunique()
128 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
129 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
130 key->target_class == cur->key.target_class && in avtab_insert_nonunique()
131 (specified & cur->key.specified)) in avtab_insert_nonunique()
133 if (key->source_type < cur->key.source_type) in avtab_insert_nonunique()
135 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
136 key->target_type < cur->key.target_type) in avtab_insert_nonunique()
138 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
139 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
140 key->target_class < cur->key.target_class) in avtab_insert_nonunique()
143 return avtab_insert_node(h, hvalue, prev, cur, key, datum); in avtab_insert_nonunique()
146 struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *key) in avtab_search() argument
150 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search()
155 hvalue = avtab_hash(key, h->mask); in avtab_search()
157 if (key->source_type == cur->key.source_type && in avtab_search()
158 key->target_type == cur->key.target_type && in avtab_search()
159 key->target_class == cur->key.target_class && in avtab_search()
160 (specified & cur->key.specified)) in avtab_search()
163 if (key->source_type < cur->key.source_type) in avtab_search()
165 if (key->source_type == cur->key.source_type && in avtab_search()
166 key->target_type < cur->key.target_type) in avtab_search()
168 if (key->source_type == cur->key.source_type && in avtab_search()
169 key->target_type == cur->key.target_type && in avtab_search()
170 key->target_class < cur->key.target_class) in avtab_search()
181 avtab_search_node(struct avtab *h, struct avtab_key *key) in avtab_search_node() argument
185 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search_node()
190 hvalue = avtab_hash(key, h->mask); in avtab_search_node()
192 if (key->source_type == cur->key.source_type && in avtab_search_node()
193 key->target_type == cur->key.target_type && in avtab_search_node()
194 key->target_class == cur->key.target_class && in avtab_search_node()
195 (specified & cur->key.specified)) in avtab_search_node()
198 if (key->source_type < cur->key.source_type) in avtab_search_node()
200 if (key->source_type == cur->key.source_type && in avtab_search_node()
201 key->target_type < cur->key.target_type) in avtab_search_node()
203 if (key->source_type == cur->key.source_type && in avtab_search_node()
204 key->target_type == cur->key.target_type && in avtab_search_node()
205 key->target_class < cur->key.target_class) in avtab_search_node()
221 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
222 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
223 node->key.target_class == cur->key.target_class && in avtab_search_node_next()
224 (specified & cur->key.specified)) in avtab_search_node_next()
227 if (node->key.source_type < cur->key.source_type) in avtab_search_node_next()
229 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
230 node->key.target_type < cur->key.target_type) in avtab_search_node_next()
232 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
233 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
234 node->key.target_class < cur->key.target_class) in avtab_search_node_next()
253 if (temp->key.specified & AVTAB_XPERMS) in avtab_destroy()
384 struct avtab_key key; in avtab_read_item() local
392 memset(&key, 0, sizeof(struct avtab_key)); in avtab_read_item()
415 key.source_type = (u16)val; in avtab_read_item()
416 if (key.source_type != val) { in avtab_read_item()
421 key.target_type = (u16)val; in avtab_read_item()
422 if (key.target_type != val) { in avtab_read_item()
427 key.target_class = (u16)val; in avtab_read_item()
428 if (key.target_class != val) { in avtab_read_item()
452 key.specified = spec_order[i] | enabled; in avtab_read_item()
454 rc = insertf(a, &key, &datum, p); in avtab_read_item()
474 key.source_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
475 key.target_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
476 key.target_class = le16_to_cpu(buf16[items++]); in avtab_read_item()
477 key.specified = le16_to_cpu(buf16[items++]); in avtab_read_item()
479 if ((key.specified & AVTAB_OPTYPE) && in avtab_read_item()
481 key.specified = avtab_optype_to_xperms(key.specified); in avtab_read_item()
486 if (!policydb_type_isvalid(pol, key.source_type) || in avtab_read_item()
487 !policydb_type_isvalid(pol, key.target_type) || in avtab_read_item()
488 !policydb_class_isvalid(pol, key.target_class)) { in avtab_read_item()
495 if (key.specified & spec_order[i]) in avtab_read_item()
504 (key.specified & AVTAB_XPERMS)) { in avtab_read_item()
509 } else if (key.specified & AVTAB_XPERMS) { in avtab_read_item()
549 if ((key.specified & AVTAB_TYPE) && in avtab_read_item()
554 return insertf(a, &key, &datum, p); in avtab_read_item()
614 buf16[0] = cpu_to_le16(cur->key.source_type); in avtab_write_item()
615 buf16[1] = cpu_to_le16(cur->key.target_type); in avtab_write_item()
616 buf16[2] = cpu_to_le16(cur->key.target_class); in avtab_write_item()
617 if (avtab_android_m_compat && (cur->key.specified & AVTAB_XPERMS) && in avtab_write_item()
619 buf16[3] = cpu_to_le16(avtab_xperms_to_optype(cur->key.specified)); in avtab_write_item()
621 buf16[3] = cpu_to_le16(cur->key.specified); in avtab_write_item()
626 if (cur->key.specified & AVTAB_XPERMS) { in avtab_write_item()