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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2631ac1ac328189031d1aefbbd4929050f72fb23 to < 1cad9afbb2d559b738b83c498f9c1abdfd327e7faffected2631ac1ac328189031d1aefbbd4929050f72fb23 to < a71fdbd6e8289e2725d33a9873833459f3b1824faffected2631ac1ac328189031d1aefbbd4929050f72fb23 to < 2ab18de5ebb11c76bfc8087c5a09fbcccd0dea8aaffected2631ac1ac328189031d1aefbbd4929050f72fb23 to < b37a978e6d8c33fbfa4abc5dcca4c7cfc6d01f22affected2631ac1ac328189031d1aefbbd4929050f72fb23 to < 4ae3e16f4b3bf64140f773629b765d605ee079a9affected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected6.6.160 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.0.10 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1cad9afbb2d559b738b83c498f9c1abdfd327e7f ↗
- https://git.kernel.org/stable/c/a71fdbd6e8289e2725d33a9873833459f3b1824f ↗
- https://git.kernel.org/stable/c/2ab18de5ebb11c76bfc8087c5a09fbcccd0dea8a ↗
- https://git.kernel.org/stable/c/b37a978e6d8c33fbfa4abc5dcca4c7cfc6d01f22 ↗
- https://git.kernel.org/stable/c/4ae3e16f4b3bf64140f773629b765d605ee079a9 ↗