Skip to content
Snippets Groups Projects
  • Nikita Zhandarovich's avatar
    dd8689b5
    drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse() · dd8689b5
    Nikita Zhandarovich authored
    
    On the off chance that command stream passed from userspace via
    ioctl() call to radeon_vce_cs_parse() is weirdly crafted and
    first command to execute is to encode (case 0x03000001), the function
    in question will attempt to call radeon_vce_cs_reloc() with size
    argument that has not been properly initialized. Specifically, 'size'
    will point to 'tmp' variable before the latter had a chance to be
    assigned any value.
    
    Play it safe and init 'tmp' with 0, thus ensuring that
    radeon_vce_cs_reloc() will catch an early error in cases like these.
    
    Found by Linux Verification Center (linuxtesting.org) with static
    analysis tool SVACE.
    
    Fixes: 2fc5703a ("drm/radeon: check VCE relocation buffer range v3")
    Signed-off-by: default avatarNikita Zhandarovich <n.zhandarovich@fintech.ru>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    (cherry picked from commit 2d52de55)
    Cc: stable@vger.kernel.org
    dd8689b5
    History
    drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()
    Nikita Zhandarovich authored
    
    On the off chance that command stream passed from userspace via
    ioctl() call to radeon_vce_cs_parse() is weirdly crafted and
    first command to execute is to encode (case 0x03000001), the function
    in question will attempt to call radeon_vce_cs_reloc() with size
    argument that has not been properly initialized. Specifically, 'size'
    will point to 'tmp' variable before the latter had a chance to be
    assigned any value.
    
    Play it safe and init 'tmp' with 0, thus ensuring that
    radeon_vce_cs_reloc() will catch an early error in cases like these.
    
    Found by Linux Verification Center (linuxtesting.org) with static
    analysis tool SVACE.
    
    Fixes: 2fc5703a ("drm/radeon: check VCE relocation buffer range v3")
    Signed-off-by: default avatarNikita Zhandarovich <n.zhandarovich@fintech.ru>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    (cherry picked from commit 2d52de55)
    Cc: stable@vger.kernel.org