aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vt
diff options
context:
space:
mode:
authorToomas Soome <tsoome@FreeBSD.org>2021-01-31 21:04:59 +0000
committerToomas Soome <tsoome@FreeBSD.org>2021-02-01 22:33:58 +0000
commit1912d2b15e6d6f4a1d8c3886b03ab30d2f21f3fd (patch)
tree45e81c64b6e75b73a2383497c59a36be38012594 /sys/dev/vt
parent8fb966790e1c87276cc26932efee1b29c046cb8a (diff)
Diffstat (limited to 'sys/dev/vt')
-rw-r--r--sys/dev/vt/vt_core.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index ac89d8635e78..05c383829f49 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -1487,6 +1487,8 @@ parse_font_info_static(struct font_info *fi)
vfp = &vt_font_loader;
vfp->vf_height = fi->fi_height;
vfp->vf_width = fi->fi_width;
+ /* This is default font, set refcount 1 to disable removal. */
+ vfp->vf_refcount = 1;
for (unsigned i = 0; i < VFNT_MAPS; i++) {
if (fi->fi_map_count[i] == 0)
continue;
@@ -1499,6 +1501,12 @@ parse_font_info_static(struct font_info *fi)
return (vfp);
}
+/*
+ * Set up default font with allocated data structures.
+ * However, we can not set refcount here, because it is already set and
+ * incremented in vtterm_cnprobe() to avoid being released by font load from
+ * userland.
+ */
static struct vt_font *
parse_font_info(struct font_info *fi)
{
@@ -1528,8 +1536,6 @@ parse_font_info(struct font_info *fi)
ptr = roundup2(ptr, 8);
vfp = &vt_font_loader;
- /* This is default font, set refcount 1 to disable removal. */
- vfp->vf_refcount = 1;
vfp->vf_height = fi->fi_height;
vfp->vf_width = fi->fi_width;
for (unsigned i = 0; i < VFNT_MAPS; i++) {