Ryan Stone ab607f28e3 Don't read if_counters with if_addr_lock held
Calling into an ifnet implementation with the if_addr_lock already
held can cause a LOR and potentially a deadlock, as ifnet
implementations typically can take the if_addr_lock after their
own locks during configuration.  Refactor a sysctl handler that
was violating this to read if_counter data in a temporary buffer
before the if_addr_lock is taken, and then copying the data
in its final location later, when the if_addr_lock is held.

PR: 194109
Reported by: Jean-Sebastien Pedron
MFC after: 2 weeks
Differential Revision:	https://reviews.freebsd.org/D8498
Reviewed by: sbruno
2016-11-12 19:03:23 +00:00
..
2016-05-03 18:05:43 +00:00
2016-05-03 18:05:43 +00:00
2016-05-03 18:05:43 +00:00
2016-10-26 23:40:07 +00:00
2016-05-03 18:05:43 +00:00
2015-09-10 05:59:39 +00:00
2015-10-03 09:15:23 +00:00
2015-04-21 10:35:23 +00:00
2015-04-07 21:31:17 +00:00
2016-05-03 18:05:43 +00:00
2016-05-03 18:05:43 +00:00
2015-12-16 09:18:20 +00:00
2016-10-19 02:24:57 +00:00
2016-10-18 14:02:45 +00:00
2016-05-19 16:28:05 +00:00
2016-10-27 04:55:19 +00:00
2016-05-03 18:05:43 +00:00
2016-05-03 18:05:43 +00:00