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, Sep 26, 1:23 AM
Unknown Object (File)
Fri, Sep 25, 9:08 PM
Unknown Object (File)
Fri, Sep 25, 8:32 AM
Unknown Object (File)
Fri, Sep 25, 7:05 AM
Unknown Object (File)
Fri, Sep 25, 7:05 AM
Unknown Object (File)
Fri, Sep 25, 7:05 AM
Unknown Object (File)
Thu, Sep 24, 5:11 PM
Unknown Object (File)
Thu, Sep 24, 4:36 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.