lkml.org 
[lkml]   [2020]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.6 05/43] efi/libstub: Avoid returning uninitialized data from setup_graphics()
    Date
    From: Heinrich Schuchardt <xypron.glpk@gmx.de>

    [ Upstream commit 081d5150845ba3fa49151a2f55d3cc03b0987509 ]

    Currently, setup_graphics() ignores the return value of efi_setup_gop(). As
    AllocatePool() does not zero out memory, the screen information table will
    contain uninitialized data in this case.

    We should free the screen information table if efi_setup_gop() returns an
    error code.

    Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
    Link: https://lore.kernel.org/r/20200426194946.112768-1-xypron.glpk@gmx.de
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/firmware/efi/libstub/arm-stub.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/firmware/efi/libstub/arm-stub.c b/drivers/firmware/efi/libstub/arm-stub.c
    index 7bbef4a67350..30e77a9e62b2 100644
    --- a/drivers/firmware/efi/libstub/arm-stub.c
    +++ b/drivers/firmware/efi/libstub/arm-stub.c
    @@ -59,7 +59,11 @@ static struct screen_info *setup_graphics(void)
    si = alloc_screen_info();
    if (!si)
    return NULL;
    - efi_setup_gop(si, &gop_proto, size);
    + status = efi_setup_gop(si, &gop_proto, size);
    + if (status != EFI_SUCCESS) {
    + free_screen_info(si);
    + return NULL;
    + }
    }
    return si;
    }
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-05 16:18    [W:2.663 / U:0.704 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site