Lines Matching refs:key

71 		  const struct avtab_key *key, const struct avtab_datum *datum)  in avtab_insert_node()  argument
78 newnode->key = *key; in avtab_insert_node()
80 if (key->specified & AVTAB_XPERMS) { in avtab_insert_node()
106 static int avtab_insert(struct avtab *h, const struct avtab_key *key, in avtab_insert() argument
111 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert()
116 hvalue = avtab_hash(key, h->mask); in avtab_insert()
120 if (key->source_type == cur->key.source_type && in avtab_insert()
121 key->target_type == cur->key.target_type && in avtab_insert()
122 key->target_class == cur->key.target_class && in avtab_insert()
123 (specified & cur->key.specified)) { in avtab_insert()
129 if (key->source_type < cur->key.source_type) in avtab_insert()
131 if (key->source_type == cur->key.source_type && in avtab_insert()
132 key->target_type < cur->key.target_type) in avtab_insert()
134 if (key->source_type == cur->key.source_type && in avtab_insert()
135 key->target_type == cur->key.target_type && in avtab_insert()
136 key->target_class < cur->key.target_class) in avtab_insert()
140 newnode = avtab_insert_node(h, hvalue, prev, key, datum); in avtab_insert()
152 const struct avtab_key *key, in avtab_insert_nonunique() argument
157 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_insert_nonunique()
161 hvalue = avtab_hash(key, h->mask); in avtab_insert_nonunique()
165 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
166 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
167 key->target_class == cur->key.target_class && in avtab_insert_nonunique()
168 (specified & cur->key.specified)) in avtab_insert_nonunique()
170 if (key->source_type < cur->key.source_type) in avtab_insert_nonunique()
172 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
173 key->target_type < cur->key.target_type) in avtab_insert_nonunique()
175 if (key->source_type == cur->key.source_type && in avtab_insert_nonunique()
176 key->target_type == cur->key.target_type && in avtab_insert_nonunique()
177 key->target_class < cur->key.target_class) in avtab_insert_nonunique()
180 return avtab_insert_node(h, hvalue, prev, key, datum); in avtab_insert_nonunique()
183 struct avtab_datum *avtab_search(struct avtab *h, const struct avtab_key *key) in avtab_search() argument
187 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search()
192 hvalue = avtab_hash(key, h->mask); in avtab_search()
195 if (key->source_type == cur->key.source_type && in avtab_search()
196 key->target_type == cur->key.target_type && in avtab_search()
197 key->target_class == cur->key.target_class && in avtab_search()
198 (specified & cur->key.specified)) in avtab_search()
201 if (key->source_type < cur->key.source_type) in avtab_search()
203 if (key->source_type == cur->key.source_type && in avtab_search()
204 key->target_type < cur->key.target_type) in avtab_search()
206 if (key->source_type == cur->key.source_type && in avtab_search()
207 key->target_type == cur->key.target_type && in avtab_search()
208 key->target_class < cur->key.target_class) in avtab_search()
219 const struct avtab_key *key) in avtab_search_node() argument
223 u16 specified = key->specified & ~(AVTAB_ENABLED|AVTAB_ENABLED_OLD); in avtab_search_node()
228 hvalue = avtab_hash(key, h->mask); in avtab_search_node()
231 if (key->source_type == cur->key.source_type && in avtab_search_node()
232 key->target_type == cur->key.target_type && in avtab_search_node()
233 key->target_class == cur->key.target_class && in avtab_search_node()
234 (specified & cur->key.specified)) in avtab_search_node()
237 if (key->source_type < cur->key.source_type) in avtab_search_node()
239 if (key->source_type == cur->key.source_type && in avtab_search_node()
240 key->target_type < cur->key.target_type) in avtab_search_node()
242 if (key->source_type == cur->key.source_type && in avtab_search_node()
243 key->target_type == cur->key.target_type && in avtab_search_node()
244 key->target_class < cur->key.target_class) in avtab_search_node()
260 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
261 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
262 node->key.target_class == cur->key.target_class && in avtab_search_node_next()
263 (specified & cur->key.specified)) in avtab_search_node_next()
266 if (node->key.source_type < cur->key.source_type) in avtab_search_node_next()
268 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
269 node->key.target_type < cur->key.target_type) in avtab_search_node_next()
271 if (node->key.source_type == cur->key.source_type && in avtab_search_node_next()
272 node->key.target_type == cur->key.target_type && in avtab_search_node_next()
273 node->key.target_class < cur->key.target_class) in avtab_search_node_next()
292 if (temp->key.specified & AVTAB_XPERMS) in avtab_destroy()
408 struct avtab_key key; in avtab_read_item() local
415 memset(&key, 0, sizeof(struct avtab_key)); in avtab_read_item()
438 key.source_type = (u16)val; in avtab_read_item()
439 if (key.source_type != val) { in avtab_read_item()
444 key.target_type = (u16)val; in avtab_read_item()
445 if (key.target_type != val) { in avtab_read_item()
450 key.target_class = (u16)val; in avtab_read_item()
451 if (key.target_class != val) { in avtab_read_item()
475 key.specified = spec_order[i] | enabled; in avtab_read_item()
477 rc = insertf(a, &key, &datum, p); in avtab_read_item()
498 key.source_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
499 key.target_type = le16_to_cpu(buf16[items++]); in avtab_read_item()
500 key.target_class = le16_to_cpu(buf16[items++]); in avtab_read_item()
501 key.specified = le16_to_cpu(buf16[items++]); in avtab_read_item()
503 if (!policydb_type_isvalid(pol, key.source_type) || in avtab_read_item()
504 !policydb_type_isvalid(pol, key.target_type) || in avtab_read_item()
505 !policydb_class_isvalid(pol, key.target_class)) { in avtab_read_item()
512 if (key.specified & spec_order[i]) in avtab_read_item()
521 (key.specified & AVTAB_XPERMS)) { in avtab_read_item()
526 } else if (key.specified & AVTAB_XPERMS) { in avtab_read_item()
554 if ((key.specified & AVTAB_TYPE) && in avtab_read_item()
559 return insertf(a, &key, &datum, p); in avtab_read_item()
619 buf16[0] = cpu_to_le16(cur->key.source_type); in avtab_write_item()
620 buf16[1] = cpu_to_le16(cur->key.target_type); in avtab_write_item()
621 buf16[2] = cpu_to_le16(cur->key.target_class); in avtab_write_item()
622 buf16[3] = cpu_to_le16(cur->key.specified); in avtab_write_item()
627 if (cur->key.specified & AVTAB_XPERMS) { in avtab_write_item()