Kyle Evans
db226f0d8e
tuntap: Defer clearing if_softc until after if_detach
...
r346670 added an sx to close a race between the ifioctl handler and
interface destruction. Unfortunately, it clears if_softc immediately after
the interface is closed, but before if_detach has been invoked.
Any time before detachment, an interface that's part of a bridge may still
receive traffic that's pushed through tunstart/tunstart_l2 and promptly
lead to a panic because if_softc is now NULL.
Fix it by deferring the clearing of if_softc until after the interface has
detached and thus been removed from the bridge. if_softc still gets cleared
in case another thread has already entered the ioctl handler before it's
replaced with ifdead_ioctl.
Reported by: markj
MFC after: 3 days
2019-05-14 20:32:29 +00:00
..
2019-02-11 05:17:31 +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
2019-05-13 20:17:55 +00:00
2019-05-13 13:45:28 +00:00
2019-05-13 13:45:28 +00:00
2019-03-15 11:21:20 +00:00
2017-11-27 15:23:17 +00:00
2018-05-31 09:11:21 +00:00
2019-04-17 17:18:43 +00:00
2017-11-27 15:23:17 +00:00
2019-05-03 14:43:21 +00:00
2019-05-03 14:43:21 +00:00
2019-04-17 17:18:43 +00:00
2019-03-09 01:12:59 +00:00
2019-04-17 17:18:43 +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
2019-01-31 23:01:03 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2019-04-17 17:18:43 +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
2019-04-24 09:05:45 +00:00
2019-04-24 09:05:45 +00:00
2018-11-16 14:21:57 +00:00
2019-05-03 14:43:21 +00:00
2019-05-03 14:43:21 +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
2019-04-04 01:02:50 +00:00
2019-03-30 18:00:44 +00:00
2019-05-08 02:32:11 +00:00
2019-05-14 20:32:29 +00:00
2017-11-20 19:43:44 +00:00
2019-04-22 19:24:21 +00:00
2018-08-16 23:46:38 +00:00
2019-02-13 14:57:59 +00:00
2019-04-17 17:18:43 +00:00
2017-12-30 04:03:53 +00:00
2019-04-22 19:24:21 +00:00
2018-11-26 13:42:18 +00:00
2018-05-11 20:08:28 +00:00
2019-05-06 20:56:41 +00:00
2018-11-27 20:01:05 +00:00
2019-05-10 00:41:42 +00:00
2019-05-06 20:56:41 +00:00
2017-11-20 19:43:44 +00:00
2019-05-09 11:34:46 +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
2019-03-18 12:22:23 +00:00
2019-03-18 12:22:23 +00:00
2018-12-05 11:57:16 +00:00
2019-03-18 12:22:23 +00:00
2019-03-10 17:20:09 +00:00
2019-03-10 17:20:09 +00:00
2017-11-20 19:43:44 +00:00
2019-03-15 11:08:44 +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
2019-05-08 23:39:24 +00:00
2019-01-09 01:11:19 +00:00
2019-05-08 23:39:24 +00:00
2017-10-11 06:08:01 +00:00
2017-10-11 06:08:01 +00:00
2019-04-14 10:18:14 +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