Page MenuHomeFreeBSD

mips pmap: pmap_emulate_modified race fix
ClosedPublic

Authored by freebsdphab-AX9_cmx.ietfng.org on Apr 21 2020, 6:35 PM.
Tags
Referenced Files
F136897902: D24523.id70850.diff
Thu, Nov 20, 12:48 PM
F136897826: D24523.id.diff
Thu, Nov 20, 12:47 PM
F136897463: D24523.id70964.diff
Thu, Nov 20, 12:43 PM
F136897293: D24523.diff
Thu, Nov 20, 12:41 PM
Unknown Object (File)
Wed, Nov 19, 8:15 AM
Unknown Object (File)
Mon, Nov 17, 3:09 AM
Unknown Object (File)
Mon, Nov 17, 12:21 AM
Unknown Object (File)
Sun, Nov 16, 11:07 PM
Subscribers

Details

Summary

pmap_emulate_modify was assuming that no changes to the pmap could take
place between the TLB signaling the fault and pmap_emulate_modify's
acquisition of the pmap lock, but that's clearly not even true in the
uniprocessor case, nevermind the SMP case.

Address each possibility in turn.

Thanks to Konstantin Belousov and Mark Johnston for confirming the bug.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30653
Build 28389: arc lint + arc unit