kernel - Fix lockmgr non-zero exclusive count panic
* The vm_map lock uses shared & exclusive locks and tries to upgrade
shared to exclusive. There is a race where a shared upgrade can
steal an exclusive lock from an exclusive request which has already
acquired the LK_WANT_EXCL flag.
* Deal with the case by having the exclusive lock also acquire
LK_HAVE_EXCL to catch any shared upgrades which beat out the
request.
Reported-by: YONETANI Tomokazu <qhwt.dfly@les.ath.cx>
Researched-by: YONETANI Tomokazu <qhwt.dfly@les.ath.cx>