Do not clear the PG_BUSY flag before passing the anon to uvm_anon_release().
authormpi <mpi@openbsd.org>
Thu, 10 Mar 2022 10:46:56 +0000 (10:46 +0000)
committermpi <mpi@openbsd.org>
Thu, 10 Mar 2022 10:46:56 +0000 (10:46 +0000)
commit1340df41e0c476cd0cf3ce3ec2af61bd95845302
treef80659221aecc7d1f9b400c9671e92d248760eac
parentb95da212a632beac7f25159217b4b23a66f74ba3
Do not clear the PG_BUSY flag before passing the anon to uvm_anon_release().

Should prevent a KASSERT() from tiggering when freeing an anon after swaping-out
its memory.

This code path has been broken since at least January 2021 and is apparently not
so easy to trigger.

Found the hard way by sthen@

ok kettenis@, kn@
sys/uvm/uvm_page.c