HomeFreeBSD

vt: Use a taskqueue to clear splash_cpu logos

Description

vt: Use a taskqueue to clear splash_cpu logos

vt_fini_logos() calls vtbuf_grow(), which reallocates the console
window's buffer using malloc(M_WAITOK). Because vt_fini_logos() is
called via a callout, we end up panicking if INVARIANTS is enabled.

Fix the problem simply by clearing the logos using a timed taskqueue.
taskqueue_thread is formally allowed to sleep; of course, if we actually
end up sleeping to satisfy the allocation, then we have bigger problems.

PR: 260896
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 6c7e4d72b1c964e4147831b45e0b312f6ed97cd2)

Details

Provenance
markjAuthored on Jan 19 2022, 2:48 PM
Parents
rG51ce77b26157: bhyve: ahci: Fix regression with no ports
Branches
Unknown
Tags
Unknown