HomeFreeBSD

Fix a panic during boot caused by inadequate locking of some vt(4) driver

Description

Fix a panic during boot caused by inadequate locking of some vt(4) driver
data structures.

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.

During the early stage of the boot process, 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.

PR: 217282
Reviewed by: ed, ray
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D9709

Details

Provenance
jtlAuthored on
Reviewer
ed
Differential Revision
D9709: Fix locking on the vt driver's data structures.
Parents
rS314115: Fully handle the special encoding of GOT[1] on mips64.
Branches
Unknown
Tags
Unknown