lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0544/1157] media: cedrus: hevc: Add check for invalid timestamp
    Date
    From: Jernej Skrabec <jernej.skrabec@gmail.com>

    [ Upstream commit 143201a6435bf65f0115435e9dc6d95c66b908e9 ]

    Not all DPB entries will be used most of the time. Unused entries will
    thus have invalid timestamps. They will produce negative buffer index
    which is not specifically handled. This works just by chance in current
    code. It will even produce bogus pointer, but since it's not used, it
    won't do any harm.

    Let's fix that brittle design by skipping writing DPB entry altogether
    if timestamp is invalid.

    Fixes: 86caab29da78 ("media: cedrus: Add HEVC/H.265 decoding support")
    Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
    index 2f6404fccd5a..04419381ea56 100644
    --- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
    +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
    @@ -147,6 +147,9 @@ static void cedrus_h265_frame_info_write_dpb(struct cedrus_ctx *ctx,
    dpb[i].pic_order_cnt_val
    };

    + if (buffer_index < 0)
    + continue;
    +
    cedrus_h265_frame_info_write_single(ctx, i, dpb[i].field_pic,
    pic_order_cnt,
    buffer_index);
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 02:06    [W:2.839 / U:0.360 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site