{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50261","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-09-15T13:58:00.974Z","datePublished":"2025-09-15T14:03:04.439Z","dateUpdated":"2026-05-11T19:15:53.926Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T19:15:53.926Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()\n\nWith clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),\nindirect call targets are validated against the expected function\npointer prototype to make sure the call target is valid to help mitigate\nROP attacks. If they are not identical, there is a failure at run time,\nwhich manifests as either a kernel panic or thread getting killed. A\nproposed warning in clang aims to catch these at compile time, which\nreveals:\n\n  drivers/gpu/drm/sti/sti_hda.c:637:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict]\n          .mode_valid = sti_hda_connector_mode_valid,\n                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  drivers/gpu/drm/sti/sti_dvo.c:376:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict]\n          .mode_valid = sti_dvo_connector_mode_valid,\n                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n  drivers/gpu/drm/sti/sti_hdmi.c:1035:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_connector *, struct drm_display_mode *)' with an expression of type 'int (struct drm_connector *, struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict]\n          .mode_valid = sti_hdmi_connector_mode_valid,\n                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n->mode_valid() in 'struct drm_connector_helper_funcs' expects a return\ntype of 'enum drm_mode_status', not 'int'. Adjust the return type of\nsti_{dvo,hda,hdmi}_connector_mode_valid() to match the prototype's to\nresolve the warning and CFI failure."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/sti/sti_dvo.c","drivers/gpu/drm/sti/sti_hda.c","drivers/gpu/drm/sti/sti_hdmi.c"],"versions":[{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"b2c92b2a3801b09b709cbefd9a9e4944b72400bf","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"b4307c7d35e346b909edfdc1f280902150570bb6","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"511b48ee8e4aec2d03d2af06b363d9eb3230b017","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"6e3c4d3fa5d458d685561ecbaf8daa9dba14979e","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"a075c21ee026f4a74f9fce5928ea3c8d18a8af13","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"e578b0906b6a81479cd5b5b6c848a7096addf5e9","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"04371a75a58422a301a9ff9ae3babd310ac3bb3f","status":"affected","versionType":"git"},{"version":"5402626c83a2f19da14859e2bab231a53e16ee74","lessThan":"0ad811cc08a937d875cbad0149c1bab17f84ba05","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/sti/sti_dvo.c","drivers/gpu/drm/sti/sti_hda.c","drivers/gpu/drm/sti/sti_hdmi.c"],"versions":[{"version":"3.17","status":"affected"},{"version":"0","lessThan":"3.17","status":"unaffected","versionType":"semver"},{"version":"4.9.337","lessThanOrEqual":"4.9.*","status":"unaffected","versionType":"semver"},{"version":"4.14.303","lessThanOrEqual":"4.14.*","status":"unaffected","versionType":"semver"},{"version":"4.19.270","lessThanOrEqual":"4.19.*","status":"unaffected","versionType":"semver"},{"version":"5.4.229","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.163","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.86","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.0.16","lessThanOrEqual":"6.0.*","status":"unaffected","versionType":"semver"},{"version":"6.1.2","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"4.9.337"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"4.14.303"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"4.19.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.4.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/b2c92b2a3801b09b709cbefd9a9e4944b72400bf"},{"url":"https://git.kernel.org/stable/c/b4307c7d35e346b909edfdc1f280902150570bb6"},{"url":"https://git.kernel.org/stable/c/8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba"},{"url":"https://git.kernel.org/stable/c/511b48ee8e4aec2d03d2af06b363d9eb3230b017"},{"url":"https://git.kernel.org/stable/c/6e3c4d3fa5d458d685561ecbaf8daa9dba14979e"},{"url":"https://git.kernel.org/stable/c/a075c21ee026f4a74f9fce5928ea3c8d18a8af13"},{"url":"https://git.kernel.org/stable/c/e578b0906b6a81479cd5b5b6c848a7096addf5e9"},{"url":"https://git.kernel.org/stable/c/04371a75a58422a301a9ff9ae3babd310ac3bb3f"},{"url":"https://git.kernel.org/stable/c/0ad811cc08a937d875cbad0149c1bab17f84ba05"}],"title":"drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()","x_generator":{"engine":"bippy-1.2.0"}}}}