Page MenuHomeFreeBSD

vt: Fix timer race between vtterm_splash() and vt_flush()
Needs ReviewPublic

Authored by quentin.thebault_defenso.fr on Wed, Sep 23, 2:43 PM.

Details

Reviewers
vexeduxr
emaste
Summary

Current code leads to console text being drawn over the splash image.

Ensure vt_flush() does not draw over the splash image: vtterm_splash()
holds the vd_flush_lock via VT_FLUSH_LOCK(), or the vtbuf lock,
depending on the framebuffer backend, while it sets VDF_SPLASH and
blits. vt_flush() takes the same lock and re-checks VDF_SPLASH.

Sponsored by: Defenso
Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77209
Build 74092: arc lint + arc unit