Lines Matching defs:doi_def

72  * @doi_def: the CIPSO V4 DOI definition
76 * in @doi_def. Returns zero on success, negative values on failure.
80 struct cipso_v4_doi *doi_def)
86 doi_def->doi = nla_get_u32(info->attrs[NLBL_CIPSOV4_A_DOI]);
98 doi_def->tags[iter++] = nla_get_u8(nla);
101 doi_def->tags[iter++] = CIPSO_V4_TAG_INVALID;
125 struct cipso_v4_doi *doi_def = NULL;
142 doi_def = kmalloc(sizeof(*doi_def), GFP_KERNEL);
143 if (doi_def == NULL)
145 doi_def->map.std = kzalloc(sizeof(*doi_def->map.std), GFP_KERNEL);
146 if (doi_def->map.std == NULL) {
147 kfree(doi_def);
150 doi_def->type = CIPSO_V4_MAP_TRANS;
152 ret_val = netlbl_cipsov4_add_common(info, doi_def);
173 doi_def->map.std->lvl.local_size)
174 doi_def->map.std->lvl.local_size =
182 doi_def->map.std->lvl.cipso_size)
183 doi_def->map.std->lvl.cipso_size =
188 doi_def->map.std->lvl.local = kcalloc(doi_def->map.std->lvl.local_size,
191 if (doi_def->map.std->lvl.local == NULL) {
195 doi_def->map.std->lvl.cipso = kcalloc(doi_def->map.std->lvl.cipso_size,
198 if (doi_def->map.std->lvl.cipso == NULL) {
202 for (iter = 0; iter < doi_def->map.std->lvl.local_size; iter++)
203 doi_def->map.std->lvl.local[iter] = CIPSO_V4_INV_LVL;
204 for (iter = 0; iter < doi_def->map.std->lvl.cipso_size; iter++)
205 doi_def->map.std->lvl.cipso[iter] = CIPSO_V4_INV_LVL;
219 doi_def->map.std->lvl.local[nla_get_u32(lvl_loc)] =
221 doi_def->map.std->lvl.cipso[nla_get_u32(lvl_rem)] =
248 doi_def->map.std->cat.local_size)
249 doi_def->map.std->cat.local_size =
257 doi_def->map.std->cat.cipso_size)
258 doi_def->map.std->cat.cipso_size =
263 doi_def->map.std->cat.local = kcalloc(
264 doi_def->map.std->cat.local_size,
267 if (doi_def->map.std->cat.local == NULL) {
271 doi_def->map.std->cat.cipso = kcalloc(
272 doi_def->map.std->cat.cipso_size,
275 if (doi_def->map.std->cat.cipso == NULL) {
279 for (iter = 0; iter < doi_def->map.std->cat.local_size; iter++)
280 doi_def->map.std->cat.local[iter] = CIPSO_V4_INV_CAT;
281 for (iter = 0; iter < doi_def->map.std->cat.cipso_size; iter++)
282 doi_def->map.std->cat.cipso[iter] = CIPSO_V4_INV_CAT;
296 doi_def->map.std->cat.local[
299 doi_def->map.std->cat.cipso[
305 ret_val = cipso_v4_doi_add(doi_def, audit_info);
311 cipso_v4_doi_free(doi_def);
330 struct cipso_v4_doi *doi_def = NULL;
335 doi_def = kmalloc(sizeof(*doi_def), GFP_KERNEL);
336 if (doi_def == NULL)
338 doi_def->type = CIPSO_V4_MAP_PASS;
340 ret_val = netlbl_cipsov4_add_common(info, doi_def);
344 ret_val = cipso_v4_doi_add(doi_def, audit_info);
350 cipso_v4_doi_free(doi_def);
369 struct cipso_v4_doi *doi_def = NULL;
374 doi_def = kmalloc(sizeof(*doi_def), GFP_KERNEL);
375 if (doi_def == NULL)
377 doi_def->type = CIPSO_V4_MAP_LOCAL;
379 ret_val = netlbl_cipsov4_add_common(info, doi_def);
383 ret_val = cipso_v4_doi_add(doi_def, audit_info);
389 cipso_v4_doi_free(doi_def);
457 struct cipso_v4_doi *doi_def;
481 doi_def = cipso_v4_doi_getdef(doi);
482 if (doi_def == NULL) {
487 ret_val = nla_put_u32(ans_skb, NLBL_CIPSOV4_A_MTYPE, doi_def->type);
498 doi_def->tags[iter] != CIPSO_V4_TAG_INVALID;
502 doi_def->tags[iter]);
508 switch (doi_def->type) {
517 iter < doi_def->map.std->lvl.local_size;
519 if (doi_def->map.std->lvl.local[iter] ==
536 doi_def->map.std->lvl.local[iter]);
550 iter < doi_def->map.std->cat.local_size;
552 if (doi_def->map.std->cat.local[iter] ==
569 doi_def->map.std->cat.local[iter]);
578 cipso_v4_doi_putdef(doi_def);
587 cipso_v4_doi_putdef(doi_def);
594 cipso_v4_doi_putdef(doi_def);
603 * @doi_def: the CIPSOv4 DOI definition
613 static int netlbl_cipsov4_listall_cb(struct cipso_v4_doi *doi_def, void *arg)
625 ret_val = nla_put_u32(cb_arg->skb, NLBL_CIPSOV4_A_DOI, doi_def->doi);
630 doi_def->type);