• Dave Airlie's avatar
    fbcon: don't lose the console font across generic->chip driver switch · ae128786
    Dave Airlie authored
    If grub2 loads efifb/vesafb, then when systemd starts it can set the console
    font on that framebuffer device, however when we then load the native KMS
    driver, the first thing it does is tear down the generic framebuffer driver.
    
    The thing is the generic code is doing the right thing, it frees the font
    because otherwise it would leak memory. However we can assume that if you
    are removing the generic firmware driver (vesa/efi/offb), that a new driver
    *should* be loading soon after, so we effectively leak the font.
    
    However the old code left a dangling pointer in vc->vc_font.data and we
    can now reuse that dangling pointer to load the font into the new
    driver, now that we aren't freeing it.
    
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=892340
    
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    ae128786
fbcon.c 87 KB