HomeFreeBSD

Revision r269457 removed the Giant around mount and unmount code, but

Description

Revision r269457 removed the Giant around mount and unmount code, but
r269533, which was tested before r269457 was committed, implicitely
relied on the Giant to protect the manipulations of the softdepmounts
list. Use softdep global lock consistently to guarantee the list
structure now.

Insert the new struct mount_softdeps into the softdepmounts only after
it is sufficiently initialized, to prevent softdep_speedup() from
accessing bare memory. Similarly, remove struct mount_softdeps for
the unmounted filesystem from the tailq before destroying structure
rwlock.

Reported and tested by: pho
Reviewed by: mckusick
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

Details

Provenance
kibAuthored on Aug 12 2014, 9:33 AM
Parents
rGfb86534cb16e: Add sysctl and loader tunable kern.geom.part.mbr.enforce_chs that is set
Branches
Unknown
Tags
Unknown

Event Timeline