Description
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Avoid NULL dereference in dc_dmub_srv error paths In dc_dmub_srv_log_diagnostic_data() and dc_dmub_srv_enable_dpia_trace(). Both functions check: if (!dc_dmub_srv || !dc_dmub_srv->dmub) and then call DC_LOG_ERROR() inside that block. DC_LOG_ERROR() uses dc_dmub_srv->ctx internally. So if dc_dmub_srv is NULL, the logging itself can dereference a NULL pointer and cause a crash. Fix this by splitting the checks. First check if dc_dmub_srv is NULL and return immediately. Then check dc_dmub_srv->dmub and log the error only when dc_dmub_srv is valid. Fixes the below: ../display/dc/dc_dmub_srv.c:962 dc_dmub_srv_log_diagnostic_data() error: we previously assumed 'dc_dmub_srv' could be null (see line 961) ../display/dc/dc_dmub_srv.c:1167 dc_dmub_srv_enable_dpia_trace() error: we previously assumed 'dc_dmub_srv' could be null (see line 1166)
Affected products
- Linux / Linux2631ac1ac328189031d1aefbbd4929050f72fb23 – b37a978e6d8c33fbfa4abc5dcca4c7cfc6d01f22
- Linux / Linux2631ac1ac328189031d1aefbbd4929050f72fb23 – 4ae3e16f4b3bf64140f773629b765d605ee079a9
- Linux / Linux5.14 – 5.14
- Linux / Linux0 – 5.14
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *