diff options
author | tuexen <tuexen@FreeBSD.org> | 2011-05-08 09:11:59 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2011-05-08 09:11:59 +0000 |
commit | f237c9d1bd2c10286b14fbc7c53110782a9ec164 (patch) | |
tree | 66156b7445130d0f2286124ccd8bbde0ba209ba4 /sys/netinet/sctp_var.h | |
parent | b5e32df2e047c30254644ec28a836794b00a4e48 (diff) | |
download | FreeBSD-src-f237c9d1bd2c10286b14fbc7c53110782a9ec164.zip FreeBSD-src-f237c9d1bd2c10286b14fbc7c53110782a9ec164.tar.gz |
Fix a locking issue showing up on Mac OS X when subscribing to
authentication events. DTLS/SCTP renegotiations trigger the bug.
MFC after: 2 weeks.
Diffstat (limited to 'sys/netinet/sctp_var.h')
-rw-r--r-- | sys/netinet/sctp_var.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/netinet/sctp_var.h b/sys/netinet/sctp_var.h index c972a16..1e17900 100644 --- a/sys/netinet/sctp_var.h +++ b/sys/netinet/sctp_var.h @@ -87,9 +87,9 @@ extern struct pr_usrreqs sctp_usrreqs; } \ } -#define sctp_free_a_strmoq(_stcb, _strmoq) { \ +#define sctp_free_a_strmoq(_stcb, _strmoq, _so_locked) { \ if ((_strmoq)->holds_key_ref) { \ - sctp_auth_key_release(stcb, sp->auth_keyid); \ + sctp_auth_key_release(stcb, sp->auth_keyid, _so_locked); \ (_strmoq)->holds_key_ref = 0; \ } \ SCTP_ZONE_FREE(SCTP_BASE_INFO(ipi_zone_strmoq), (_strmoq)); \ @@ -105,9 +105,9 @@ extern struct pr_usrreqs sctp_usrreqs; } \ } -#define sctp_free_a_chunk(_stcb, _chk) { \ +#define sctp_free_a_chunk(_stcb, _chk, _so_locked) { \ if ((_chk)->holds_key_ref) {\ - sctp_auth_key_release((_stcb), (_chk)->auth_keyid); \ + sctp_auth_key_release((_stcb), (_chk)->auth_keyid, _so_locked); \ (_chk)->holds_key_ref = 0; \ } \ if (_stcb) { \ |