Lines Matching refs:sec

46 	struct ib_device *dev = pp->sec->dev;  in get_pkey_idx_qp_list()
65 struct ib_device *dev = pp->sec->dev; in get_pkey_and_subnet_prefix()
109 struct ib_qp_security *sec) in check_qp_port_pkey_settings() argument
127 sec); in check_qp_port_pkey_settings()
141 sec); in check_qp_port_pkey_settings()
150 static void qp_to_error(struct ib_qp_security *sec) in qp_to_error() argument
164 if (sec->destroying) in qp_to_error()
167 ib_modify_qp(sec->qp, in qp_to_error()
171 if (sec->qp->event_handler && sec->qp->qp_context) { in qp_to_error()
172 event.element.qp = sec->qp; in qp_to_error()
173 sec->qp->event_handler(&event, in qp_to_error()
174 sec->qp->qp_context); in qp_to_error()
178 &sec->shared_qp_list, in qp_to_error()
207 if (atomic_read(&pp->sec->error_list_count)) in check_pkey_qps()
212 pp->sec)) { in check_pkey_qps()
213 atomic_inc(&pp->sec->error_list_count); in check_pkey_qps()
225 mutex_lock(&pp->sec->mutex); in check_pkey_qps()
226 qp_to_error(pp->sec); in check_pkey_qps()
228 atomic_dec(&pp->sec->error_list_count); in check_pkey_qps()
229 comp = pp->sec->destroying; in check_pkey_qps()
230 mutex_unlock(&pp->sec->mutex); in check_pkey_qps()
233 complete(&pp->sec->error_complete); in check_pkey_qps()
251 dev = pp->sec->dev; in port_pkey_list_insert()
318 static void destroy_qp_security(struct ib_qp_security *sec) in destroy_qp_security() argument
320 security_ib_free_security(sec->security); in destroy_qp_security()
321 kfree(sec->ports_pkeys); in destroy_qp_security()
322 kfree(sec); in destroy_qp_security()
372 new_pps->main.sec = qp->qp_sec; in get_new_pps()
373 new_pps->alt.sec = qp->qp_sec; in get_new_pps()
408 void ib_close_shared_qp_security(struct ib_qp_security *sec) in ib_close_shared_qp_security() argument
410 struct ib_qp *real_qp = sec->qp->real_qp; in ib_close_shared_qp_security()
413 list_del(&sec->shared_qp_list); in ib_close_shared_qp_security()
416 destroy_qp_security(sec); in ib_close_shared_qp_security()
452 void ib_destroy_qp_security_begin(struct ib_qp_security *sec) in ib_destroy_qp_security_begin() argument
455 if (!sec) in ib_destroy_qp_security_begin()
458 mutex_lock(&sec->mutex); in ib_destroy_qp_security_begin()
463 if (sec->ports_pkeys) { in ib_destroy_qp_security_begin()
464 port_pkey_list_remove(&sec->ports_pkeys->main); in ib_destroy_qp_security_begin()
465 port_pkey_list_remove(&sec->ports_pkeys->alt); in ib_destroy_qp_security_begin()
472 sec->destroying = true; in ib_destroy_qp_security_begin()
477 sec->error_comps_pending = atomic_read(&sec->error_list_count); in ib_destroy_qp_security_begin()
479 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_begin()
482 void ib_destroy_qp_security_abort(struct ib_qp_security *sec) in ib_destroy_qp_security_abort() argument
488 if (!sec) in ib_destroy_qp_security_abort()
495 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_abort()
496 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_abort()
498 mutex_lock(&sec->mutex); in ib_destroy_qp_security_abort()
499 sec->destroying = false; in ib_destroy_qp_security_abort()
510 if (sec->ports_pkeys) { in ib_destroy_qp_security_abort()
511 port_pkey_list_insert(&sec->ports_pkeys->main); in ib_destroy_qp_security_abort()
512 port_pkey_list_insert(&sec->ports_pkeys->alt); in ib_destroy_qp_security_abort()
515 ret = check_qp_port_pkey_settings(sec->ports_pkeys, sec); in ib_destroy_qp_security_abort()
517 qp_to_error(sec); in ib_destroy_qp_security_abort()
519 mutex_unlock(&sec->mutex); in ib_destroy_qp_security_abort()
522 void ib_destroy_qp_security_end(struct ib_qp_security *sec) in ib_destroy_qp_security_end() argument
527 if (!sec) in ib_destroy_qp_security_end()
535 for (i = 0; i < sec->error_comps_pending; i++) in ib_destroy_qp_security_end()
536 wait_for_completion(&sec->error_complete); in ib_destroy_qp_security_end()
538 destroy_qp_security(sec); in ib_destroy_qp_security_end()
658 void *sec) in ib_security_pkey_access() argument
676 return security_ib_pkey_access(sec, subnet_prefix, pkey); in ib_security_pkey_access()