Page MenuHomeFreeBSD

mips pmap: pmap_emulate_modified race fix
ClosedPublic

Authored by freebsdphab-AX9_cmx.ietfng.org on Apr 21 2020, 6:35 PM.

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

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.