diff options
| author | Imre Deak <imre.deak@intel.com> | 2024-12-04 15:20:07 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-01-02 10:34:20 +0100 |
| commit | ce55818b2d3a999f886af91679589e4644ff1dc8 (patch) | |
| tree | af1757a6d296c1a7ad633a22eed8a6be96221d75 /scripts/patch-kernel | |
| parent | 0aca51715e688c900cd59a6b1123b5951f695d93 (diff) | |
| download | linux-ce55818b2d3a999f886af91679589e4644ff1dc8.tar.gz linux-ce55818b2d3a999f886af91679589e4644ff1dc8.tar.bz2 linux-ce55818b2d3a999f886af91679589e4644ff1dc8.zip | |
drm/dp_mst: Ensure mst_primary pointer is valid in drm_dp_mst_handle_up_req()
[ Upstream commit e54b00086f7473dbda1a7d6fc47720ced157c6a8 ]
While receiving an MST up request message from one thread in
drm_dp_mst_handle_up_req(), the MST topology could be removed from
another thread via drm_dp_mst_topology_mgr_set_mst(false), freeing
mst_primary and setting drm_dp_mst_topology_mgr::mst_primary to NULL.
This could lead to a NULL deref/use-after-free of mst_primary in
drm_dp_mst_handle_up_req().
Avoid the above by holding a reference for mst_primary in
drm_dp_mst_handle_up_req() while it's used.
v2: Fix kfreeing the request if getting an mst_primary reference fails.
Cc: Lyude Paul <lyude@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com> (v1)
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241204132007.3132494-1-imre.deak@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'scripts/patch-kernel')
0 files changed, 0 insertions, 0 deletions
