kernel - Fix deadlock in vm_prefault
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 29 Oct 2011 18:23:24 +0000 (11:23 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 29 Oct 2011 18:23:24 +0000 (11:23 -0700)
commitce2ac2495c5a0f342ac2f878c823518e010a91c6
treee83d16a009b698c8f58c9d841cc1af24150b2813
parentd4ce381305bae5b4cd5040edde8f72d568b2ca90
kernel - Fix deadlock in vm_prefault

* vm_prefault*() was being called while the primary vm_fault page was
  still being held busy, which could result in a deadlock.

* Reorder the case to unbusy the primary fault page before calling
  vm_prefault().

Reported-by: tuxillo
sys/vm/vm_fault.c