CVE-2024-47720: drm/amd/display: Add null check for set_output_gamma in dcn30_set_output_transfer_func

Published Oct 21, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

drm/amd/display: Add null check for setoutputgamma in dcn30setoutputtransferfunc

This commit adds a null check for the setoutputgamma function pointer in the dcn30setoutputtransferfunc function. Previously, setoutputgamma was being checked for nullity at line 386, but then it was being dereferenced without any nullity check at line 401. This could potentially lead to a null pointer dereference error if setoutputgamma is indeed null.

To fix this, we now ensure that setoutputgamma is not null before dereferencing it. We do this by adding a nullity check for setoutputgamma before the call to setoutputgamma at line 401. If setoutputgamma is null, we log an error message and do not call the function.

This fix prevents a potential null pointer dereference error.

drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30hwseq.c:401 dcn30setoutputtransferfunc() error: we previously assumed 'mpc->funcs->setoutputgamma' could be null (see line 386)

drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn30/dcn30hwseq.c 373 bool dcn30setoutputtransferfunc(struct dc dc, 374 struct pipectx pipectx, 375 const struct dcstreamstate stream) 376 { 377 int mpccid = pipectx->planeres.hubp->inst; 378 struct mpc mpc = pipectx->streamres.opp->ctx->dc->respool->mpc; 379 const struct pwlparams params = NULL; 380 bool ret = false; 381 382 / program OGAM or 3DLUT only for the top pipe/ 383 if (pipectx->toppipe == NULL) { 384 /program rmu shaper and 3dlut in MPC/ 385 ret = dcn30setmpcshaper3dlut(pipectx, stream); 386 if (ret == false && mpc->funcs->setoutputgamma) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If this is NULL

387 if (stream->outtransferfunc.type == TFTYPEHWPWL) 388 params = &stream->outtransferfunc.pwl; 389 else if (pipectx->stream->outtransferfunc.type == 390 TFTYPEDISTRIBUTEDPOINTS && 391 cm3helpertranslatecurvetohwformat( 392 &stream->outtransferfunc, 393 &mpc->blenderparams, false)) 394 params = &mpc->blenderparams; 395 / there are no ROM LUTs in OUTGAM / 396 if (stream->outtransferfunc.type == TFTYPEPREDEFINED) 397 BREAKTODEBUGGER(); 398 } 399 } 400 --> 401 mpc->funcs->setoutputgamma(mpc, mpccid, params); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Then it will crash

402 return ret; 403 }

Other sources

This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.

Launchpad

Affected Software

7 affected componentsFixes available
Linux Linux kernel>=5.9<5.15.168
Linux Linux kernel>=5.16<6.1.113
Linux Linux kernel>=6.2<6.6.54
Linux Linux kernel>=6.7<6.10.13
Linux Linux kernel>=6.11<6.11.2
debian/linux<=5.10.223-1, <=5.10.234-1
6.1.129-16.1.135-16.12.25-16.12.27-1
debian/linux-6.1
6.1.129-1~deb11u1

Event History

Oct 21, 2024
CVE Published
via MITRE·11:53 AM
Data Sourced
via MITRE·11:53 AM
Description
Data Sourced
via NVD·12:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Feb 12, 2025
Data Sourced
via Launchpad·05:16 AM
Description
Apr 29, 2025
Data Sourced
via Ubuntu·06:25 AM
RemedyDescriptionSeverityAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-47720?

CVE-2024-47720 is categorized as a moderate severity vulnerability in the Linux kernel.

2

How do I fix CVE-2024-47720?

To fix CVE-2024-47720, update to the latest versions of the Linux kernel provided by your operating system's package manager, as the issue has been resolved in the specified versions.

3

Which versions of the Linux kernel are affected by CVE-2024-47720?

CVE-2024-47720 affects several versions of the Linux kernel, specifically those between 5.9 and 5.15.168, 5.16 and 6.1.113, 6.2 and 6.6.54, 6.7 and 6.10.13, and 6.11 and 6.11.2.

4

What components are involved in CVE-2024-47720?

CVE-2024-47720 involves the drm/amd/display component of the Linux kernel, specifically in the dcn30_set_output_transfer_func function.

5

Is there a specific patch for CVE-2024-47720?

Yes, the resolution for CVE-2024-47720 has been incorporated into kernel updates that can be obtained through standard update procedures for your distribution.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203