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
F165036760: D24523.id.diff
Wed, Aug 5, 11:09 AM
Unknown Object (File)
Sat, Aug 1, 1:52 PM
Unknown Object (File)
Mon, Jul 27, 8:22 AM
Unknown Object (File)
Sat, Jul 25, 3:53 PM
Unknown Object (File)
Sat, Jul 11, 1:26 PM
Unknown Object (File)
Jul 2 2026, 5:31 AM
Unknown Object (File)
Jun 29 2026, 1:42 AM
Unknown Object (File)
Jun 24 2026, 4:30 AM
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

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