Subject: kern/24328: UVM: page loan break can sneak a dirty page past file synchronization
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <ups@tree.com>
List: netbsd-bugs
Date: 02/05/2004 23:20:51
>Number:         24328
>Category:       kern
>Synopsis:       UVM: page loan break can sneak a dirty page past file synchronization
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 05 23:21:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Stephan Uphoff
>Release:        current
>Organization:
>Environment:
N/A
>Description:
genfs_putpages (in list mode) uses an end-marker list element on the 
object's page list.

This causes pages inserted on the file's object list after 
genfs_putpages is started to be ignored.

Breaking a loan can remove the original page from the object's page 
list and insert the replacement page after the end-marker 
used by genfs_putpages (where it is then ignored).

>How-To-Repeat:

>Fix:
Modify uvm_loanbreak to insert the replacement page in the same position
as the original page on the object's page list.
>Release-Note:
>Audit-Trail:
>Unformatted: