Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix division by zero in setup_dsc_config When slice_height is 0, the division by slice_height in the calculation of the number of slices will cause a division by zero driver crash. This leaves the kernel in a state that requires a reboot. This patch adds a check to avoid the division by zero. The stack trace below is for the 6.8.4 Kernel. I reproduced the issue on a Z16 Gen 2 Lenovo Thinkpad with a Apple Studio Display monitor connected via Thunderbolt. The amdgpu driver crashed with this exception when I rebooted the system with the monitor connected. kernel: ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447) kernel: ? do_trap (arch/x86/kernel/traps.c:113 arch/x86/kernel/traps.c:154) kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu kernel: ? do_error_trap (./arch/x86/include/asm/traps.h:58 arch/x86/kernel/traps.c:175) kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu kernel: ? exc_divide_error (arch/x86/kernel/traps.c:194 (discriminator 2)) kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu kernel: ? asm_exc_divide_error (./arch/x86/include/asm/idtentry.h:548) kernel: ? setup_dsc_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1053) amdgpu kernel: dc_dsc_compute_config (drivers/gpu/drm/amd/amdgpu/../display/dc/dsc/dc_dsc.c:1109) amdgpu After applying this patch, the driver no longer crashes when the monitor is connected and the system is rebooted. I believe this is the same issue reported for 3113.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before a32c8f951c8a456c1c251e1dcdf21787f8066445; affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before 91402e0e5de9124a3108db7a14163fcf9a6d322f; affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before 7e4f50dfc98c49b3dc6875a35c3112522fb25639; affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before f187fcbbb8f8bf10c6687f0beae22509369f7563; affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before 308de6be0c9c7ba36915c0d398e771725c0ea911; affected 4562236b3bc0a28aeb6ee93b2d8a849a4c4e1c7c before 130afc8a886183a94cf6eab7d24f300014ff87ba |
| Linux / Linux | affected 4.15; unaffected 0 before 4.15; unaffected 5.15.160 through 5.15.*; unaffected 6.1.92 through 6.1.*; unaffected 6.6.32 through 6.6.*; unaffected 6.8.11 through 6.8.*; unaffected 6.9.2 through 6.9.*; unaffected 6.10 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/a32c8f951c8a456c1c251e1dcdf21787f8066445
- https://git.kernel.org/stable/c/91402e0e5de9124a3108db7a14163fcf9a6d322f
- https://git.kernel.org/stable/c/7e4f50dfc98c49b3dc6875a35c3112522fb25639
- https://git.kernel.org/stable/c/f187fcbbb8f8bf10c6687f0beae22509369f7563
- https://git.kernel.org/stable/c/308de6be0c9c7ba36915c0d398e771725c0ea911
- https://git.kernel.org/stable/c/130afc8a886183a94cf6eab7d24f300014ff87ba
ADP enrichment
No English description supplied.
No references supplied.
No English description supplied.
- https://git.kernel.org/stable/c/a32c8f951c8a456c1c251e1dcdf21787f8066445
- https://git.kernel.org/stable/c/91402e0e5de9124a3108db7a14163fcf9a6d322f
- https://git.kernel.org/stable/c/7e4f50dfc98c49b3dc6875a35c3112522fb25639
- https://git.kernel.org/stable/c/f187fcbbb8f8bf10c6687f0beae22509369f7563
- https://git.kernel.org/stable/c/308de6be0c9c7ba36915c0d398e771725c0ea911
- https://git.kernel.org/stable/c/130afc8a886183a94cf6eab7d24f300014ff87ba