Page MenuHomeFreeBSD

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

Authored by jtl on Feb 22 2017, 12:09 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 18, 5:58 AM
Unknown Object (File)
Thu, Mar 7, 12:56 AM
Unknown Object (File)
Thu, Mar 7, 12:56 AM
Unknown Object (File)
Thu, Mar 7, 12:56 AM
Unknown Object (File)
Thu, Mar 7, 12:40 AM
Unknown Object (File)
Feb 17 2024, 12:43 PM
Unknown Object (File)
Jan 30 2024, 9:37 AM
Unknown Object (File)
Jan 14 2024, 5:22 AM
Subscribers

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 - subversion
Lint
Lint Not Applicable
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.