• Tomi Valkeinen's avatar
    video/logo: prevent use of logos after they have been freed · 90dbca4f
    Tomi Valkeinen authored
    commit 92b004d1 upstream.
    
    If the probe of an fb driver has been deferred due to missing
    dependencies, and the probe is later ran when a module is loaded, the
    fbdev framework will try to find a logo to use.
    
    However, the logos are __initdata, and have already been freed. This
    causes sometimes page faults, if the logo memory is not mapped,
    sometimes other random crashes as the logo data is invalid, and
    sometimes nothing, if the fbdev decides to reject the logo (e.g. the
    random value depicting the logo's height is too big).
    
    This patch adds a late_initcall function to mark the logos as freed. In
    reality the logos are freed later, and fbdev probe may be ran between
    this late_initcall and the freeing of the logos. In that case we will
    miss drawing the logo, even if it would be possible.
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
    90dbca4f
logo.c 2.63 KB