Hi,
It was reported that when '8d855bc67630 ("drm/amd/display: Use
dc_update_planes_and_stream")' was backported it caused a regression
where Kodi could no longer display.
Reported-and-tested-by: william.bonnaventure(a)gmail.com
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2766
Link: https://github.com/LibreELEC/LibreELEC.tv/issues/8013
This is fixed by backporting this additional commit to 6.1.y.
bb46a6a9bab1 ("drm/amd/display: Ensure that planes are in the same order")
Can you please queue this up?
Thanks!
Hi All,
As discussed here in the v1 thread:
https://lore.kernel.org/linux-acpi/20230806151453.10690-1-hdegoede@redhat.c…
Here is a v2 which adds a few fixes on top of the revert
to avoid the revert causing regressions on AMD Zen systems
where dropping the special Zen behavior was known to fix
things.
As also mentioned in the thread this is intended as a short term fix
for 6.4.y >= 6.4.7 and 6.5 to get all the systems which were working
fine before commit a9c4a912b7dc ("ACPI: resource: Remove "Zen"
specific match and quirks") to work again.
The long term plan is to see if we can read back what the BIOS
has actually programmed as IRQ trigger-type / polarity into
the IOAPIC.
Regards,
Hans
Hans de Goede (3):
ACPI: resource: revert "Remove "Zen" specific match and quirks"
ACPI: resource: Always use MADT override IRQ settings for GSI != 1
ACPI: resource: Honor MADT INT_SRC_OVR settings for IRQ1 on AMD Zen
arch/x86/include/asm/acpi.h | 1 +
arch/x86/kernel/acpi/boot.c | 4 +++
drivers/acpi/resource.c | 52 +++++++++++++++++++++++++++++++++++++
3 files changed, 57 insertions(+)
--
2.41.0
LKFT build plans updated with toolchain gcc-13 and here is the report.
While building Linux stable rc 4.19 i386 with gcc-13 failed due to
following warnings / errors.
make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build ARCH=i386 SRCARCH=x86
CROSS_COMPILE=i686-linux-gnu- 'CC=sccache i686-linux-gnu-gcc'
'HOSTCC=sccache gcc'
kernel/profile.c: In function 'profile_dead_cpu':
kernel/profile.c:346:27: warning: the comparison will always evaluate
as 'true' for the address of 'prof_cpu_mask' will never be NULL
[-Waddress]
346 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here
49 | static cpumask_var_t prof_cpu_mask;
| ^~~~~~~~~~~~~
kernel/profile.c: In function 'profile_online_cpu':
kernel/profile.c:383:27: warning: the comparison will always evaluate
as 'true' for the address of 'prof_cpu_mask' will never be NULL
[-Waddress]
383 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here
49 | static cpumask_var_t prof_cpu_mask;
| ^~~~~~~~~~~~~
kernel/profile.c: In function 'profile_tick':
kernel/profile.c:413:47: warning: the comparison will always evaluate
as 'true' for the address of 'prof_cpu_mask' will never be NULL
[-Waddress]
413 | if (!user_mode(regs) && prof_cpu_mask != NULL &&
| ^~
kernel/profile.c:49:22: note: 'prof_cpu_mask' declared here
49 | static cpumask_var_t prof_cpu_mask;
| ^~~~~~~~~~~~~
In file included from include/linux/export.h:45,
from include/linux/linkage.h:7,
from include/linux/kernel.h:7,
from drivers/ata/libahci.c:35:
drivers/ata/libahci.c: In function 'ahci_led_store':
include/linux/compiler.h:418:45: error: call to
'__compiletime_assert_108' declared with attribute error: BUILD_BUG_ON
failed: sizeof(_s) > sizeof(long)
418 | _compiletime_assert(condition, msg,
__compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler.h:399:25: note: in definition of macro
'__compiletime_assert'
399 | prefix ## suffix();
\
| ^~~~~~
Build links,
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-4.19.y/build/v4.19…
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-4.19.y/build/v4.19…
Steps to reproduce:
tuxmake --runtime podman --target-arch i386 --toolchain gcc-13
--kconfig defconfig
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2TiUIlGFjnjPBfuTT62n…
--
Linaro LKFT
https://lkft.linaro.org
While building Linux stable rc 5.15 arm with gcc-13 failed due to
following warnings / errors.
make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf- 'CC=sccache
arm-linux-gnueabihf-gcc' 'HOSTCC=sccache gcc'
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c:176:20: error:
'drm_plane_helper_destroy' undeclared here (not in a function); did
you mean 'drm_primary_helper_destroy'?
176 | .destroy = drm_plane_helper_destroy,
| ^~~~~~~~~~~~~~~~~~~~~~~~
| drm_primary_helper_destroy
make[5]: *** [scripts/Makefile.build:289:
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.o] Error 1
make[5]: Target '__build' not remade because of errors.
make[4]: *** [scripts/Makefile.build:552: drivers/gpu/drm/fsl-dcu] Error 2
drivers/firmware/arm_scmi/smc.c:39:13: error: duplicate member 'irq'
39 | int irq;
| ^~~
drivers/firmware/arm_scmi/smc.c: In function 'smc_chan_setup':
drivers/firmware/arm_scmi/smc.c:118:34: error: 'irq' undeclared (first
use in this function); did you mean 'rq'?
118 | scmi_info->irq = irq;
| ^~~
| rq
drivers/firmware/arm_scmi/smc.c:118:34: note: each undeclared
identifier is reported only once for each function it appears in
make[4]: *** [scripts/Makefile.build:289:
drivers/firmware/arm_scmi/smc.o] Error 1
Build links,
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.15.y/build/v5.15…
- https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.15.y/build/v5.15…
- https://storage.tuxsuite.com/public/linaro/lkft/builds/2TiTIjkQ8vGDk4J7tsuc…
Steps to reproduce:
tuxmake --runtime podman --target-arch arm --toolchain gcc-13
--kconfig https://storage.tuxsuite.com/public/linaro/lkft/builds/2TiTIjkQ8vGDk4J7tsuc…https://storage.tuxsuite.com/public/linaro/lkft/builds/2TiTIjkQ8vGDk4J7tsuc…
--
Linaro LKFT
https://lkft.linaro.org
Supported codec bitmask is populated from the payload from venus firmware.
There is a possible case when all the bits in the codec bitmask is set. In
such case, core cap for decoder is filled and MAX_CODEC_NUM is utilized.
Now while filling the caps for encoder, it can lead to access the caps
array beyong 32 index. Hence leading to OOB write.
The fix counts the supported encoder and decoder. If the count is more than
max, then it skips accessing the caps.
Cc: stable(a)vger.kernel.org
Fixes: 1a73374a04e5 ("media: venus: hfi_parser: add common capability parser")
Signed-off-by: Vikash Garodia <quic_vgarodia(a)quicinc.com>
---
drivers/media/platform/qcom/venus/hfi_parser.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c
index 9d6ba22..c438395 100644
--- a/drivers/media/platform/qcom/venus/hfi_parser.c
+++ b/drivers/media/platform/qcom/venus/hfi_parser.c
@@ -19,6 +19,9 @@ static void init_codecs(struct venus_core *core)
struct hfi_plat_caps *caps = core->caps, *cap;
unsigned long bit;
+ if (hweight_long(core->dec_codecs) + hweight_long(core->enc_codecs) > MAX_CODEC_NUM)
+ return;
+
for_each_set_bit(bit, &core->dec_codecs, MAX_CODEC_NUM) {
cap = &caps[core->codecs_count++];
cap->codec = BIT(bit);
--
2.7.4
Buffer requirement, for different buffer type, comes from video firmware.
While copying these requirements, there is an OOB possibility when the
payload from firmware is more than expected size. Fix the check to avoid
the OOB possibility.
Cc: stable(a)vger.kernel.org
Fixes: 09c2845e8fe4 ("[media] media: venus: hfi: add Host Firmware Interface (HFI)")
Reviewed-by: Nathan Hebert <nhebert(a)chromium.org>
Signed-off-by: Vikash Garodia <quic_vgarodia(a)quicinc.com>
---
drivers/media/platform/qcom/venus/hfi_msgs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/venus/hfi_msgs.c b/drivers/media/platform/qcom/venus/hfi_msgs.c
index 3d5dadf..3e85bd8 100644
--- a/drivers/media/platform/qcom/venus/hfi_msgs.c
+++ b/drivers/media/platform/qcom/venus/hfi_msgs.c
@@ -398,7 +398,7 @@ session_get_prop_buf_req(struct hfi_msg_session_property_info_pkt *pkt,
memcpy(&bufreq[idx], buf_req, sizeof(*bufreq));
idx++;
- if (idx > HFI_BUFFER_TYPE_MAX)
+ if (idx >= HFI_BUFFER_TYPE_MAX)
return HFI_ERR_SESSION_INVALID_PARAMETER;
req_bytes -= sizeof(struct hfi_buffer_requirements);
--
2.7.4