Lines Matching full:sec

50 	struct ib_device *dev = pp->sec->dev;  in get_pkey_idx_qp_list()
68 struct ib_device *dev = pp->sec->dev; in get_pkey_and_subnet_prefix()
112 struct ib_qp_security *sec) in check_qp_port_pkey_settings() argument
130 sec); in check_qp_port_pkey_settings()
144 sec); in check_qp_port_pkey_settings()
153 static void qp_to_error(struct ib_qp_security *sec) in qp_to_error() argument
167 if (sec->destroying) in qp_to_error()
170 ib_modify_qp(sec->qp, in qp_to_error()
174 if (sec->qp->event_handler && sec->qp->qp_context) { in qp_to_error()
175 event.element.qp = sec->qp; in qp_to_error()
176 sec->qp->event_handler(&event, in qp_to_error()
177 sec->qp->qp_context); in qp_to_error()
181 &sec->shared_qp_list, in qp_to_error()
210 if (atomic_read(&pp->sec->error_list_count)) in check_pkey_qps()
215 pp->sec)) { in check_pkey_qps()
216 atomic_inc(&pp->sec->error_list_count); in check_pkey_qps()
228 mutex_lock(&pp->sec->mutex); in check_pkey_qps()
229 qp_to_error(pp->sec); in check_pkey_qps()
231 atomic_dec(&pp->sec->error_list_count); in check_pkey_qps()
232 comp = pp->sec->destroying; in check_pkey_qps()
233 mutex_unlock(&pp->sec->mutex); in check_pkey_qps()
236 complete(&pp->sec->error_complete); in check_pkey_qps()
254 dev = pp->sec->dev; in port_pkey_list_insert()
321 static void destroy_qp_security(struct ib_qp_security *sec) in destroy_qp_security() argument
323 security_ib_free_security(sec->security); in destroy_qp_security()
324 kfree(sec->ports_pkeys); in destroy_qp_security()
325 kfree(sec); in destroy_qp_security()
375 new_pps->main.sec = qp->qp_sec; in get_new_pps()
376 new_pps->alt.sec = qp->qp_sec; in get_new_pps()
411 void ib_close_shared_qp_security(struct ib_qp_security *sec) in ib_close_shared_qp_security() argument
413 struct ib_qp *real_qp = sec->qp->real_qp; in ib_close_shared_qp_security()
416 list_del(&sec->shared_qp_list); in ib_close_shared_qp_security()
419 destroy_qp_security(sec); in ib_close_shared_qp_security()
458 void ib_destroy_qp_security_begin(struct ib_qp_security *sec) in ib_destroy_qp_security_begin() argument
461 if (!sec) in ib_destroy_qp_security_begin()
464 mutex_lock(&sec->mutex); in ib_destroy_qp_security_begin()
469 if (sec->ports_pkeys) { in ib_destroy_qp_security_begin()
470 port_pkey_list_remove(&sec->ports_pkeys->main); in ib_destroy_qp_security_begin()
471 port_pkey_list_remove(&sec->ports_pkeys->alt); in ib_destroy_qp_security_begin()
478 sec->destroying = true; in ib_destroy_qp_security_begin()
483 sec->error_comps_pending = atomic_read(&sec->error_list_count); in ib_destroy_qp_security_begin()
485 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_begin()
488 void ib_destroy_qp_security_abort(struct ib_qp_security *sec) in ib_destroy_qp_security_abort() argument
494 if (!sec) in ib_destroy_qp_security_abort()
501 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_abort()
502 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_abort()
504 mutex_lock(&sec->mutex); in ib_destroy_qp_security_abort()
505 sec->destroying = false; in ib_destroy_qp_security_abort()
516 if (sec->ports_pkeys) { in ib_destroy_qp_security_abort()
517 port_pkey_list_insert(&sec->ports_pkeys->main); in ib_destroy_qp_security_abort()
518 port_pkey_list_insert(&sec->ports_pkeys->alt); in ib_destroy_qp_security_abort()
521 ret = check_qp_port_pkey_settings(sec->ports_pkeys, sec); in ib_destroy_qp_security_abort()
523 qp_to_error(sec); in ib_destroy_qp_security_abort()
525 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_abort()
528 void ib_destroy_qp_security_end(struct ib_qp_security *sec) in ib_destroy_qp_security_end() argument
533 if (!sec) in ib_destroy_qp_security_end()
541 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_end()
542 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_end()
544 destroy_qp_security(sec); in ib_destroy_qp_security_end()
661 void *sec) in ib_security_pkey_access() argument
679 return security_ib_pkey_access(sec, subnet_prefix, pkey); in ib_security_pkey_access()