]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
media: cedrus: hevc: Add check for invalid timestamp
authorJernej Skrabec <jernej.skrabec@gmail.com>
Mon, 18 Jul 2022 16:56:49 +0000 (18:56 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 17 Oct 2022 09:56:27 +0000 (11:56 +0200)
commit9444276648a166d1321f2ec72a691dc9e01b48c4
tree5f1f22c7153d7390223b887b0162a46229400e9c
parent1758d8d29663beb9ca8042d445797ea3c0d3f1ed
media: cedrus: hevc: Add check for invalid timestamp

BugLink: https://bugs.launchpad.net/bugs/1990162
[ 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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/staging/media/sunxi/cedrus/cedrus_h265.c