CVE-2022-50261

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
15/09/2025
Last modified:
15/09/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()<br /> <br /> With clang&amp;#39;s kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),<br /> indirect call targets are validated against the expected function<br /> pointer prototype to make sure the call target is valid to help mitigate<br /> ROP attacks. If they are not identical, there is a failure at run time,<br /> which manifests as either a kernel panic or thread getting killed. A<br /> proposed warning in clang aims to catch these at compile time, which<br /> reveals:<br /> <br /> drivers/gpu/drm/sti/sti_hda.c:637:16: error: incompatible function pointer types initializing &amp;#39;enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)&amp;#39; with an expression of type &amp;#39;int (struct drm_connector *, struct drm_display_mode *)&amp;#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br /> .mode_valid = sti_hda_connector_mode_valid,<br /> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> drivers/gpu/drm/sti/sti_dvo.c:376:16: error: incompatible function pointer types initializing &amp;#39;enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)&amp;#39; with an expression of type &amp;#39;int (struct drm_connector *, struct drm_display_mode *)&amp;#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br /> .mode_valid = sti_dvo_connector_mode_valid,<br /> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> drivers/gpu/drm/sti/sti_hdmi.c:1035:16: error: incompatible function pointer types initializing &amp;#39;enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)&amp;#39; with an expression of type &amp;#39;int (struct drm_connector *, struct drm_display_mode *)&amp;#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br /> .mode_valid = sti_hdmi_connector_mode_valid,<br /> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br /> <br /> -&gt;mode_valid() in &amp;#39;struct drm_connector_helper_funcs&amp;#39; expects a return<br /> type of &amp;#39;enum drm_mode_status&amp;#39;, not &amp;#39;int&amp;#39;. Adjust the return type of<br /> sti_{dvo,hda,hdmi}_connector_mode_valid() to match the prototype&amp;#39;s to<br /> resolve the warning and CFI failure.

Impact