[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025061830-CVE-2022-50173-215d@gregkh>
Date: Wed, 18 Jun 2025 13:03:58 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50173: drm/msm/mdp5: Fix global state lock backoff
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
drm/msm/mdp5: Fix global state lock backoff
We need to grab the lock after the early return for !hwpipe case.
Otherwise, we could have hit contention yet still returned 0.
Fixes an issue that the new CONFIG_DRM_DEBUG_MODESET_LOCK stuff flagged
in CI:
WARNING: CPU: 0 PID: 282 at drivers/gpu/drm/drm_modeset_lock.c:296 drm_modeset_lock+0xf8/0x154
Modules linked in:
CPU: 0 PID: 282 Comm: kms_cursor_lega Tainted: G W 5.19.0-rc2-15930-g875cc8bc536a #1
Hardware name: Qualcomm Technologies, Inc. DB820c (DT)
pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : drm_modeset_lock+0xf8/0x154
lr : drm_atomic_get_private_obj_state+0x84/0x170
sp : ffff80000cfab6a0
x29: ffff80000cfab6a0 x28: 0000000000000000 x27: ffff000083bc4d00
x26: 0000000000000038 x25: 0000000000000000 x24: ffff80000957ca58
x23: 0000000000000000 x22: ffff000081ace080 x21: 0000000000000001
x20: ffff000081acec18 x19: ffff80000cfabb80 x18: 0000000000000038
x17: 0000000000000000 x16: 0000000000000000 x15: fffffffffffea0d0
x14: 0000000000000000 x13: 284e4f5f4e524157 x12: 5f534b434f4c5f47
x11: ffff80000a386aa8 x10: 0000000000000029 x9 : ffff80000cfab610
x8 : 0000000000000029 x7 : 0000000000000014 x6 : 0000000000000000
x5 : 0000000000000001 x4 : ffff8000081ad904 x3 : 0000000000000029
x2 : ffff0000801db4c0 x1 : ffff80000cfabb80 x0 : ffff000081aceb58
Call trace:
drm_modeset_lock+0xf8/0x154
drm_atomic_get_private_obj_state+0x84/0x170
mdp5_get_global_state+0x54/0x6c
mdp5_pipe_release+0x2c/0xd4
mdp5_plane_atomic_check+0x2ec/0x414
drm_atomic_helper_check_planes+0xd8/0x210
drm_atomic_helper_check+0x54/0xb0
...
---[ end trace 0000000000000000 ]---
drm_modeset_lock attempting to lock a contended lock without backoff:
drm_modeset_lock+0x148/0x154
mdp5_get_global_state+0x30/0x6c
mdp5_pipe_release+0x2c/0xd4
mdp5_plane_atomic_check+0x290/0x414
drm_atomic_helper_check_planes+0xd8/0x210
drm_atomic_helper_check+0x54/0xb0
drm_atomic_check_only+0x4b0/0x8f4
drm_atomic_commit+0x68/0xe0
Patchwork: https://patchwork.freedesktop.org/patch/492701/
The Linux kernel CVE team has assigned CVE-2022-50173 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.19.247 with commit 776f5c58bfe16cf322d71eeed3c5dda1eeac7e6b and fixed in 4.19.256 with commit 247f2934324f9a18d18df24ea4bfcc7d4631d0ef
Issue introduced in 5.4.198 with commit b2aa2c4efe93e2580d6a8774b04fe2b99756a322 and fixed in 5.4.211 with commit 2e34d6c8180a398de6448a93df25068bf3062042
Issue introduced in 5.10.121 with commit 49dc28b4b2e28ef7564e355c91487996c1cbebd7 and fixed in 5.10.137 with commit bf386c955f35a0a01bef482b6035d40ff2f6cc75
Issue introduced in 5.15.46 with commit 04bef5f1ba8ea6d7c1c8f5f65e0395c62db59cb8 and fixed in 5.15.61 with commit f4e3a8c7e890049e7ba2b49ad0315dae841dfa55
Issue introduced in 5.18.3 with commit 33dc5aac46e0fad8f5eb193e5906ed0eb6b66ceb and fixed in 5.18.18 with commit 2fdf5a54ef9376ff69149a48c5616f1141008c9f
Issue introduced in 5.19 with commit d59be579fa932c46b908f37509f319cbd4ca9a68 and fixed in 5.19.2 with commit 0b07f28c23ff50a7fa5dbc3f6b3b6bd53ac9fc70
Issue introduced in 5.19 with commit d59be579fa932c46b908f37509f319cbd4ca9a68 and fixed in 6.0 with commit 92ef86ab513593c6329d04146e61f9a670e72fc5
Issue introduced in 5.17.14 with commit 19964dfb39bda4d7716a71009488f0668ecbcf52
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-50173
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/247f2934324f9a18d18df24ea4bfcc7d4631d0ef
https://git.kernel.org/stable/c/2e34d6c8180a398de6448a93df25068bf3062042
https://git.kernel.org/stable/c/bf386c955f35a0a01bef482b6035d40ff2f6cc75
https://git.kernel.org/stable/c/f4e3a8c7e890049e7ba2b49ad0315dae841dfa55
https://git.kernel.org/stable/c/2fdf5a54ef9376ff69149a48c5616f1141008c9f
https://git.kernel.org/stable/c/0b07f28c23ff50a7fa5dbc3f6b3b6bd53ac9fc70
https://git.kernel.org/stable/c/92ef86ab513593c6329d04146e61f9a670e72fc5
Powered by blists - more mailing lists