Alexander Motin 81098a018e Relax per-ifnet cif_vrs list double locking in carp(4).
In all cases where cif_vrs list is modified, two locks are held: per-ifnet
CIF_LOCK and global carp_sx.  It means to read that list only one of them
is enough to be held, so we can skip CIF_LOCK when we already have carp_sx.

This fixes kernel panic, caused by attempts of copyout() to sleep while
holding non-sleepable CIF_LOCK mutex.

Discussed with:	glebius
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2017-10-19 09:01:15 +00:00
..
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-08-09 10:46:34 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-03-14 20:57:54 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2016-03-31 00:53:23 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-08-09 07:24:58 +00:00
2017-02-28 23:42:47 +00:00
2017-10-18 18:59:35 +00:00
2017-02-28 23:42:47 +00:00
2017-03-14 20:57:54 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-09-27 13:05:23 +00:00
2017-09-27 13:05:23 +00:00
2016-12-26 11:06:41 +00:00
2016-12-26 11:06:41 +00:00
2016-12-26 11:06:41 +00:00
2016-12-26 11:06:41 +00:00
2016-12-26 11:06:41 +00:00
2016-12-06 10:21:25 +00:00
2017-10-18 21:08:35 +00:00
2016-12-26 11:06:41 +00:00
2017-10-18 18:56:56 +00:00
2016-12-26 11:06:41 +00:00
2017-09-22 06:07:47 +00:00
2016-12-06 10:21:25 +00:00
2016-12-26 11:06:41 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-06-08 21:30:34 +00:00
2017-06-03 21:53:58 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00
2017-02-28 23:42:47 +00:00