From: Greg Kroah-Hartman Date: Sun, 16 Oct 2022 16:45:21 +0000 (+0200) Subject: drop queue-5.10/media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch X-Git-Tag: v5.4.219~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0d0c4b32eb558a68ef92e3d434e862c398b3a508;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.10/media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch --- diff --git a/queue-5.10/media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch b/queue-5.10/media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch deleted file mode 100644 index 4cd9fe82850..00000000000 --- a/queue-5.10/media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 91db7a3fc7fe670cf1770a398a43bb4a1f776bf1 Mon Sep 17 00:00:00 2001 -From: Dmitry Osipenko -Date: Thu, 18 Aug 2022 22:33:08 +0200 -Subject: media: cedrus: Fix endless loop in cedrus_h265_skip_bits() - -From: Dmitry Osipenko - -commit 91db7a3fc7fe670cf1770a398a43bb4a1f776bf1 upstream. - -The busy status bit may never de-assert if number of programmed skip -bits is incorrect, resulting in a kernel hang because the bit is polled -endlessly in the code. Fix it by adding timeout for the bit-polling. -This problem is reproducible by setting the data_bit_offset field of -the HEVC slice params to a wrong value by userspace. - -Cc: stable@vger.kernel.org -Fixes: 7678c5462680 (media: cedrus: Fix decoding for some HEVC videos) -Reported-by: Nicolas Dufresne -Signed-off-by: Dmitry Osipenko -Signed-off-by: Nicolas Dufresne -Signed-off-by: Hans Verkuil -Signed-off-by: Mauro Carvalho Chehab -Signed-off-by: Greg Kroah-Hartman ---- - drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c -+++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c -@@ -234,8 +234,9 @@ static void cedrus_h265_skip_bits(struct - cedrus_write(dev, VE_DEC_H265_TRIGGER, - VE_DEC_H265_TRIGGER_FLUSH_BITS | - VE_DEC_H265_TRIGGER_TYPE_N_BITS(tmp)); -- while (cedrus_read(dev, VE_DEC_H265_STATUS) & VE_DEC_H265_STATUS_VLD_BUSY) -- udelay(1); -+ -+ if (cedrus_wait_for(dev, VE_DEC_H265_STATUS, VE_DEC_H265_STATUS_VLD_BUSY)) -+ dev_err_ratelimited(dev->dev, "timed out waiting to skip bits\n"); - - count += tmp; - } diff --git a/queue-5.10/series b/queue-5.10/series index 6ea5e1f8a4f..143793441e2 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -79,7 +79,6 @@ tracing-disable-interrupt-or-preemption-before-acquiring-arch_spinlock_t.patch thunderbolt-explicitly-enable-lane-adapter-hotplug-events-at-startup.patch efi-libstub-drop-pointless-get_memory_map-call.patch media-cedrus-set-the-platform-driver-data-earlier.patch -media-cedrus-fix-endless-loop-in-cedrus_h265_skip_bits.patch kvm-x86-emulator-fix-handing-of-pop-ss-to-correctly-set-interruptibility.patch kvm-nvmx-unconditionally-purge-queued-injected-events-on-nested-exit.patch kvm-vmx-drop-bits-31-16-when-shoving-exception-error-code-into-vmcs.patch