Lines Matching refs:sa
173 struct macsec_rx_sa __rcu *sa[MACSEC_NUM_AN]; member
220 struct macsec_tx_sa __rcu *sa[MACSEC_NUM_AN]; member
313 struct macsec_rx_sa *sa = rcu_dereference_bh(ptr); in macsec_rxsa_get() local
315 if (!sa || !sa->active) in macsec_rxsa_get()
318 if (!atomic_inc_not_zero(&sa->refcnt)) in macsec_rxsa_get()
321 return sa; in macsec_rxsa_get()
345 struct macsec_rx_sa *sa = container_of(head, struct macsec_rx_sa, rcu); in free_rxsa() local
347 crypto_free_aead(sa->key.tfm); in free_rxsa()
348 free_percpu(sa->stats); in free_rxsa()
349 kfree(sa); in free_rxsa()
352 static void macsec_rxsa_put(struct macsec_rx_sa *sa) in macsec_rxsa_put() argument
354 if (atomic_dec_and_test(&sa->refcnt)) in macsec_rxsa_put()
355 call_rcu(&sa->rcu, free_rxsa); in macsec_rxsa_put()
360 struct macsec_tx_sa *sa = rcu_dereference_bh(ptr); in macsec_txsa_get() local
362 if (!sa || !sa->active) in macsec_txsa_get()
365 if (!atomic_inc_not_zero(&sa->refcnt)) in macsec_txsa_get()
368 return sa; in macsec_txsa_get()
373 struct macsec_tx_sa *sa = container_of(head, struct macsec_tx_sa, rcu); in free_txsa() local
375 crypto_free_aead(sa->key.tfm); in free_txsa()
376 free_percpu(sa->stats); in free_txsa()
377 kfree(sa); in free_txsa()
380 static void macsec_txsa_put(struct macsec_tx_sa *sa) in macsec_txsa_put() argument
382 if (atomic_dec_and_test(&sa->refcnt)) in macsec_txsa_put()
383 call_rcu(&sa->rcu, free_txsa); in macsec_txsa_put()
600 struct macsec_tx_sa *sa = macsec_skb_cb(skb)->tx_sa; in macsec_encrypt_done() local
613 macsec_txsa_put(sa); in macsec_encrypt_done()
669 tx_sa = macsec_txsa_get(tx_sc->sa[tx_sc->encoding_sa]); in macsec_encrypt()
1166 rx_sa = macsec_rxsa_get(rx_sc->sa[macsec_skb_cb(skb)->assoc_num]); in macsec_handle_frame()
1364 struct macsec_rx_sa *sa = rtnl_dereference(rx_sc->sa[i]); in free_rx_sc() local
1366 RCU_INIT_POINTER(rx_sc->sa[i], NULL); in free_rx_sc()
1367 if (sa) in free_rx_sc()
1368 clear_rx_sa(sa); in free_rx_sc()
1513 tx_sa = rtnl_dereference(tx_sc->sa[*assoc_num]); in get_txsa_from_nl()
1577 rx_sa = rtnl_dereference(rx_sc->sa[*assoc_num]); in get_rxsa_from_nl()
1697 rx_sa = rtnl_dereference(rx_sc->sa[assoc_num]); in macsec_add_rxsa()
1728 rcu_assign_pointer(rx_sc->sa[assoc_num], rx_sa); in macsec_add_rxsa()
1852 tx_sa = rtnl_dereference(tx_sc->sa[assoc_num]); in macsec_add_txsa()
1884 rcu_assign_pointer(tx_sc->sa[assoc_num], tx_sa); in macsec_add_txsa()
1924 RCU_INIT_POINTER(rx_sc->sa[assoc_num], NULL); in macsec_del_rxsa()
2001 RCU_INIT_POINTER(tx_sc->sa[assoc_num], NULL); in macsec_del_txsa()
2445 struct macsec_tx_sa *tx_sa = rtnl_dereference(tx_sc->sa[i]); in dump_secy()
2529 struct macsec_rx_sa *rx_sa = rtnl_dereference(rx_sc->sa[i]); in dump_secy()
3034 tx_sa = rtnl_dereference(tx_sc->sa[tx_sc->encoding_sa]); in macsec_changelink_common()
3094 struct macsec_tx_sa *sa = rtnl_dereference(macsec->secy.tx_sc.sa[i]); in macsec_del_dev() local
3096 if (sa) { in macsec_del_dev()
3097 RCU_INIT_POINTER(macsec->secy.tx_sc.sa[i], NULL); in macsec_del_dev()
3098 clear_tx_sa(sa); in macsec_del_dev()