lkml.org 
[lkml]   [2021]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.10 105/176] gpu: drm: amd: amdgpu: amdgpu_i2c: fix possible uninitialized-variable access in amdgpu_i2c_router_select_ddc_port()
    Date
    From: Tuo Li <islituo@gmail.com>

    [ Upstream commit a211260c34cfadc6068fece8c9e99e0fe1e2a2b6 ]

    The variable val is declared without initialization, and its address is
    passed to amdgpu_i2c_get_byte(). In this function, the value of val is
    accessed in:
    DRM_DEBUG("i2c 0x%02x 0x%02x read failed\n",
    addr, *val);

    Also, when amdgpu_i2c_get_byte() returns, val may remain uninitialized,
    but it is accessed in:
    val &= ~amdgpu_connector->router.ddc_mux_control_pin;

    To fix this possible uninitialized-variable access, initialize val to 0 in
    amdgpu_i2c_router_select_ddc_port().

    Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
    Signed-off-by: Tuo Li <islituo@gmail.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
    index 47cad23a6b9e..b91d3d29b410 100644
    --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
    +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
    @@ -339,7 +339,7 @@ static void amdgpu_i2c_put_byte(struct amdgpu_i2c_chan *i2c_bus,
    void
    amdgpu_i2c_router_select_ddc_port(const struct amdgpu_connector *amdgpu_connector)
    {
    - u8 val;
    + u8 val = 0;

    if (!amdgpu_connector->router.ddc_valid)
    return;
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-09 14:47    [W:4.019 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site