Page MenuHomeFreeBSD

Handle a race of collapse with a retrying fault.
ClosedPublic

Authored by kib on Jan 23 2020, 11:24 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 23, 4:49 PM
Unknown Object (File)
Fri, May 22, 8:06 AM
Unknown Object (File)
Thu, May 21, 1:39 PM
Unknown Object (File)
Wed, May 20, 4:04 PM
Unknown Object (File)
Tue, May 19, 9:55 PM
Unknown Object (File)
Apr 22 2026, 10:44 AM
Unknown Object (File)
Apr 16 2026, 10:51 PM
Unknown Object (File)
Apr 16 2026, 6:14 PM
Subscribers

Details

Summary

Both vm_object_scan_all_shadowed() and vm_object_collapse_scan() might observe an invalid page left in the default backing object by the fault handler that retried. Check for the condition and refuse to collapse.

Reported by: pho

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

The goto is unfortunate but I see that without the loop becomes even weirder

This revision is now accepted and ready to land.Jan 24 2020, 1:52 AM

I completed a full stress2 test and ran the original problem test for 3 hours.
LGTM.

This revision was automatically updated to reflect the committed changes.