Merge tag 'drm-misc-next-2023-01-19' of git://anongit.freedesktop.org/drm/drm-misc...
[linux-block.git] / drivers / video / fbdev / core / fbcon.c
index d09903a41f31a018dcd9ca1ea9d1605c6de3f065..c411a91453e30b12b8cc43b506eb329773c23a91 100644 (file)
@@ -577,7 +577,7 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
                if (scr_readw(r) != vc->vc_video_erase_char)
                        break;
        if (r != q && new_rows >= rows + logo_lines) {
-               save = kmalloc(array3_size(logo_lines, new_cols, 2),
+               save = kzalloc(array3_size(logo_lines, new_cols, 2),
                               GFP_KERNEL);
                if (save) {
                        int i = min(cols, new_cols);
@@ -2445,7 +2445,8 @@ err_out:
 
        if (userfont) {
                p->userfont = old_userfont;
-               REFCOUNT(data)--;
+               if (--REFCOUNT(data) == 0)
+                       kfree(data - FONT_EXTRA_WORDS * sizeof(int));
        }
 
        vc->vc_font.width = old_width;