Page MenuHomeFreeBSD

Fix locking on the vt driver's data structures.
ClosedPublic

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

Details

Summary

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

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.

Event Timeline

jtl updated this revision to Diff 25500.Feb 22 2017, 12:09 AM
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 accepted this revision.Feb 22 2017, 6:48 AM
ed added a reviewer: ed.
This revision is now accepted and ready to land.Feb 22 2017, 6:48 AM
ray accepted this revision.Feb 22 2017, 7:14 AM
ray edited edge metadata.

Looks good. Thank you, Jonathan!

This revision was automatically updated to reflect the committed changes.