On 14/02/18 19:44, Alexander Boettcher wrote:
After following the hint in the vm_vfs.c file, that the code is
similar/based on src/sys/uvm/uvm_pager.c, I extended vm_vfs.c
accordingly properly (at least I hope so) by the error handling part.
It seems, correct me if I'm wrong, that pages got freed which hold not
yet written data (indicated by b_error member of struct buf).
With the error handling change we finally could avoid the rarely
corruption. (original Genode issue [1], just the patch [2])
Hi,
The bug, its rare manifestation, and fix all seem plausible. Good work
tracking it down! Please submit it to NetBSD (*) so that all serious
users pulling the from the tap for the latest {bug,security} fixes (and
additions ;) will benefit from your patch.
*) https://netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd
thanks,
antti