Page MenuHomeFreeBSD

Fix locking on the vt driver's data structures.

Authored by jtl on Feb 22 2017, 12:09 AM.



vt_change_font() calls vtbuf_grow() to change some vt driver data structures. It uses TF_MUTE to prevent the console from trying to use those data structures while it changes them.

The vt driver's tc_done routine uses those data structures; however, it is currently called outside the TF_MUTE check.

Move the tc_done routine inside the locked TF_MUTE check.

Sponsored by: Netflix
Bug: 217282

Test Plan

Boot multiple times and look for crashes (none so far).

Diff Detail

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jtl retitled this revision from to Fix locking on the vt driver's data structures..
jtl updated this object.
jtl edited the test plan for this revision. (Show Details)
jtl added reviewers: emaste, ray.
jtl added a subscriber: ed.
ed added a reviewer: ed.
This revision is now accepted and ready to land.Feb 22 2017, 6:48 AM
ray edited edge metadata.

Looks good. Thank you, Jonathan!

This revision was automatically updated to reflect the committed changes.