Lines Matching refs: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()
368 new_pps->main.sec = qp->qp_sec; in get_new_pps()
369 new_pps->alt.sec = qp->qp_sec; in get_new_pps()
404 void ib_close_shared_qp_security(struct ib_qp_security *sec) in ib_close_shared_qp_security() argument
406 struct ib_qp *real_qp = sec->qp->real_qp; in ib_close_shared_qp_security()
409 list_del(&sec->shared_qp_list); in ib_close_shared_qp_security()
412 destroy_qp_security(sec); in ib_close_shared_qp_security()
451 void ib_destroy_qp_security_begin(struct ib_qp_security *sec) in ib_destroy_qp_security_begin() argument
454 if (!sec) in ib_destroy_qp_security_begin()
457 mutex_lock(&sec->mutex); in ib_destroy_qp_security_begin()
462 if (sec->ports_pkeys) { in ib_destroy_qp_security_begin()
463 port_pkey_list_remove(&sec->ports_pkeys->main); in ib_destroy_qp_security_begin()
464 port_pkey_list_remove(&sec->ports_pkeys->alt); in ib_destroy_qp_security_begin()
471 sec->destroying = true; in ib_destroy_qp_security_begin()
476 sec->error_comps_pending = atomic_read(&sec->error_list_count); in ib_destroy_qp_security_begin()
478 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_begin()
481 void ib_destroy_qp_security_abort(struct ib_qp_security *sec) in ib_destroy_qp_security_abort() argument
487 if (!sec) in ib_destroy_qp_security_abort()
494 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_abort()
495 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_abort()
497 mutex_lock(&sec->mutex); in ib_destroy_qp_security_abort()
498 sec->destroying = false; in ib_destroy_qp_security_abort()
509 if (sec->ports_pkeys) { in ib_destroy_qp_security_abort()
510 port_pkey_list_insert(&sec->ports_pkeys->main); in ib_destroy_qp_security_abort()
511 port_pkey_list_insert(&sec->ports_pkeys->alt); in ib_destroy_qp_security_abort()
514 ret = check_qp_port_pkey_settings(sec->ports_pkeys, sec); in ib_destroy_qp_security_abort()
516 qp_to_error(sec); in ib_destroy_qp_security_abort()
518 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_abort()
521 void ib_destroy_qp_security_end(struct ib_qp_security *sec) in ib_destroy_qp_security_end() argument
526 if (!sec) in ib_destroy_qp_security_end()
534 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_end()
535 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_end()
537 destroy_qp_security(sec); in ib_destroy_qp_security_end()
654 void *sec) in ib_security_pkey_access() argument
669 return security_ib_pkey_access(sec, subnet_prefix, pkey); in ib_security_pkey_access()