summaryrefslogtreecommitdiffstats
path: root/contrib/diff/lib
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2007-07-10 18:41:34 +0000
committeralc <alc@FreeBSD.org>2007-07-10 18:41:34 +0000
commit3b36c8e7eb7c86086d3023d7ca83d3b6c33a0582 (patch)
tree05d96993080c6bf4f737c85a00ece8514f5ffba2 /contrib/diff/lib
parent7fce1d7b71e9d9faba1096e731edfa6528bbeea4 (diff)
downloadFreeBSD-src-3b36c8e7eb7c86086d3023d7ca83d3b6c33a0582.zip
FreeBSD-src-3b36c8e7eb7c86086d3023d7ca83d3b6c33a0582.tar.gz
Correct a problem in the ZERO_COPY_SOCKETS option, specifically, in
vm_page_cowfault(). Initially, if vm_page_cowfault() sleeps, the given page is wired, preventing it from being recycled. However, when transmission of the page completes, the page is unwired and returned to the page queues. At that point, the page is not in any special state that prevents it from being recycled. Consequently, vm_page_cowfault() should verify that the page is still held by the same vm object before retrying the replacement of the page. Note: The containing object is, however, safe from being recycled by virtue of having a non-zero paging-in-progress count. While I'm here, add some assertions and comments. Approved by: re (rwatson) MFC After: 3 weeks
Diffstat (limited to 'contrib/diff/lib')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud