glebius
6d8cc191f9
Mechanical cleanup of epoch(9) usage in network stack.
...
- Remove macros that covertly create epoch_tracker on thread stack. Such
macros a quite unsafe, e.g. will produce a buggy code if same macro is
used in embedded scopes. Explicitly declare epoch_tracker always.
- Unmask interface list IFNET_RLOCK_NOSLEEP(), interface address list
IF_ADDR_RLOCK() and interface AF specific data IF_AFDATA_RLOCK() read
locking macros to what they actually are - the net_epoch.
Keeping them as is is very misleading. They all are named FOO_RLOCK(),
while they no longer have lock semantics. Now they allow recursion and
what's more important they now no longer guarantee protection against
their companion WLOCK macros.
Note: INP_HASH_RLOCK() has same problems, but not touched by this commit.
This is non functional mechanical change. The only functionally changed
functions are ni6_addrs() and ni6_store_addrs(), where we no longer enter
epoch recursively.
Discussed with: jtl, gallatin
2019-01-09 01:11:19 +00:00
..
2019-01-09 01:11:19 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:23:17 +00:00
2017-11-20 19:43:44 +00:00
2018-06-13 17:04:41 +00:00
2018-06-13 17:04:41 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-20 19:43:44 +00:00
2018-06-19 10:34:45 +00:00
2019-01-09 01:11:19 +00:00
2017-11-27 15:23:17 +00:00
2018-05-31 09:11:21 +00:00
2018-03-27 15:29:32 +00:00
2017-11-27 15:23:17 +00:00
2018-08-22 18:19:56 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-04-13 21:18:04 +00:00
2018-07-24 16:35:52 +00:00
2018-05-11 05:00:40 +00:00
2018-07-24 16:35:52 +00:00
2018-05-11 20:08:28 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-20 19:43:44 +00:00
2018-07-24 16:35:52 +00:00
2018-07-24 16:35:52 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2018-10-30 20:08:48 +00:00
2018-03-27 20:51:49 +00:00
2018-10-21 18:06:15 +00:00
2018-10-21 18:06:15 +00:00
2018-10-21 18:13:45 +00:00
2018-10-21 18:13:45 +00:00
2018-11-16 14:21:57 +00:00
2018-10-30 09:53:57 +00:00
2018-05-24 23:21:23 +00:00
2019-01-09 01:11:19 +00:00
2018-05-24 23:21:23 +00:00
2017-11-20 19:43:44 +00:00
2018-07-24 16:35:52 +00:00
2018-10-23 13:11:45 +00:00
2018-04-23 21:10:33 +00:00
2018-08-22 18:19:56 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-05-18 20:13:34 +00:00
2018-10-27 04:45:28 +00:00
2018-12-11 19:32:16 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-12-11 19:32:16 +00:00
2017-11-20 19:43:44 +00:00
2019-01-09 01:11:19 +00:00
2018-08-16 23:46:38 +00:00
2019-01-09 01:11:19 +00:00
2018-05-19 05:27:49 +00:00
2017-12-30 04:03:53 +00:00
2019-01-09 01:11:19 +00:00
2018-11-26 13:42:18 +00:00
2018-05-11 20:08:28 +00:00
2018-05-11 20:08:28 +00:00
2018-11-27 20:01:05 +00:00
2019-01-07 23:46:54 +00:00
2018-10-12 22:40:54 +00:00
2017-11-20 19:43:44 +00:00
2019-01-03 23:06:05 +00:00
2019-01-03 23:06:05 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-27 15:23:17 +00:00
2018-04-12 07:20:50 +00:00
2018-12-05 11:57:16 +00:00
2018-12-05 11:57:16 +00:00
2018-12-05 15:38:52 +00:00
2018-03-23 16:56:44 +00:00
2018-03-23 16:56:44 +00:00
2017-11-20 19:43:44 +00:00
2018-11-02 16:57:23 +00:00
2018-06-16 08:26:23 +00:00
2017-11-20 19:43:44 +00:00
2018-06-16 08:26:23 +00:00
2018-06-16 19:21:09 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-07-24 03:59:50 +00:00
2018-06-16 08:26:23 +00:00
2019-01-09 01:11:19 +00:00
2018-11-26 13:42:18 +00:00
2017-10-11 06:08:01 +00:00
2017-10-11 06:08:01 +00:00
2019-01-09 01:11:19 +00:00
2017-12-05 18:42:07 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-10-30 20:45:15 +00:00
2018-09-12 08:05:33 +00:00