Mark Johnston
173a7a4ee4
sctp: Fix iterator synchronization in sctp_sendall()
...
- The SCTP_PCB_FLAGS_SND_ITERATOR_UP check was racy, since two threads
could observe that the flag is not set and then both set it. I'm not
sure if this is actually a problem in practice, i.e., maybe there's no
problem having multiple sends for a single PCB in the iterator list?
- sctp_sendall() was modifying sctp_flags without the inp lock held.
The change simply acquires the PCB write lock before toggling the flag,
fixing both problems.
Reviewed by: tuexen
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31813
2021-09-07 11:19:29 -04:00
..
2021-06-11 15:40:34 +02:00
2021-07-10 13:08:18 +02:00
2021-08-11 10:54:56 -05:00
2021-08-17 16:29:22 -04:00
2020-05-19 18:35:08 +00:00
2020-05-19 18:35:08 +00:00
2020-09-01 21:19:14 +00:00
2020-06-17 13:27:13 +00:00
2020-10-19 17:07:19 +00:00
2020-09-01 21:19:14 +00:00
2021-08-05 20:44:36 +00:00
2020-11-08 18:49:23 +00:00
2021-05-05 17:12:51 -04:00
2021-01-17 20:32:26 +00:00
2021-05-05 13:45:52 +02:00
2021-08-08 10:16:06 +02:00
2020-11-29 13:41:49 +00:00
2020-09-01 21:19:14 +00:00
2021-04-10 13:47:49 +00:00
2021-05-03 13:35:19 -04:00
2021-07-07 07:22:35 -04:00
2021-08-28 18:53:02 +02:00
2021-04-07 14:32:56 -04:00
2020-11-22 20:21:10 +00:00
2020-10-18 17:15:47 +00:00
2020-10-18 17:15:47 +00:00
2021-02-25 10:13:52 +01:00
2021-09-06 21:03:22 +00:00
2020-10-09 12:06:43 +00:00
2021-03-04 20:56:48 +01:00
2021-01-21 21:48:49 +00:00
2021-07-28 09:35:09 -07:00
2021-08-19 10:48:53 +02:00
2021-08-22 22:56:08 +00:00
2021-02-02 13:24:17 -08:00
2020-09-01 21:19:14 +00:00
2021-08-22 22:56:08 +00:00
2021-08-13 11:06:17 +02:00
2021-05-31 05:48:15 +02:00
2020-09-01 21:19:14 +00:00
2021-08-22 22:56:08 +00:00
2021-08-14 18:50:12 +02:00
2020-11-12 21:58:47 +00:00
2021-08-09 12:01:46 +02:00
2021-07-09 23:19:25 +02:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-03-12 09:48:10 -08:00
2020-09-01 21:19:14 +00:00
2021-08-09 15:58:46 +02:00
2021-07-09 23:19:25 +02:00
2020-06-22 14:36:14 +00:00
2020-06-18 19:32:34 +00:00
2020-09-24 12:26:06 +00:00
2021-07-09 23:19:25 +02:00
2020-09-01 21:19:14 +00:00
2021-09-07 11:19:29 -04:00
2020-09-01 21:19:14 +00:00
2021-09-01 10:06:18 -04:00
2020-07-10 14:56:05 +00:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-09-07 11:19:29 -04:00
2020-09-24 12:26:06 +00:00
2021-09-07 11:19:29 -04:00
2021-09-07 11:19:29 -04:00
2021-09-07 11:19:29 -04:00
2021-03-13 16:37:28 +01:00
2021-01-24 00:07:41 +01:00
2021-01-12 13:16:10 +00:00
2020-09-01 21:19:14 +00:00
2020-10-16 10:44:48 +00:00
2021-07-09 23:19:25 +02:00
2020-09-01 21:19:14 +00:00
2020-09-01 21:19:14 +00:00
2021-09-07 11:19:29 -04:00
2020-09-01 21:19:14 +00:00
2020-10-16 10:44:48 +00:00
2021-08-07 15:12:09 +02:00
2021-07-09 23:19:25 +02:00
2020-09-01 21:19:14 +00:00
2021-05-06 11:22:26 -04:00
2020-09-01 21:19:14 +00:00
2021-08-27 08:31:32 -04:00
2021-04-20 10:02:20 -07:00
2021-07-08 08:16:45 -04:00
2021-07-07 07:22:35 -04:00
2021-06-19 19:25:22 +02:00
2020-09-01 21:19:14 +00:00
2021-08-17 16:29:22 -04:00
2021-08-25 17:12:36 +02:00
2021-08-06 11:28:44 +02:00
2021-04-21 13:00:16 -07:00
2021-04-21 13:00:16 -07:00
2021-06-25 09:30:54 -04:00
2020-05-03 00:37:16 +00:00
2021-05-06 11:22:26 -04:00
2021-05-07 17:32:32 -04:00
2021-06-04 05:26:43 -04:00
2021-05-10 19:06:20 +02:00
2021-07-13 12:45:15 -04:00
2021-06-22 16:03:44 -07:00
2021-04-18 16:16:42 +02:00
2020-04-14 16:35:05 +00:00
2021-02-18 22:36:01 -06:00
2021-05-06 10:19:21 -07:00
2021-08-05 13:48:44 +02:00
2021-08-05 19:17:35 -04:00
2021-08-17 16:29:22 -04:00
2021-08-22 22:56:08 +00:00
2021-04-21 13:00:16 -07:00
2021-08-05 13:48:44 +02:00
2020-09-18 02:21:15 +00:00