{"id":"CVE-2022-50261","summary":"drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()","details":"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-\u003emode_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.","modified":"2026-04-02T08:28:22.035141Z","published":"2025-09-15T14:03:04.439Z","related":["SUSE-SU-2025:03615-1","SUSE-SU-2025:03628-1","SUSE-SU-2025:3716-1","SUSE-SU-2025:3761-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50261.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/04371a75a58422a301a9ff9ae3babd310ac3bb3f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/0ad811cc08a937d875cbad0149c1bab17f84ba05"},{"type":"WEB","url":"https://git.kernel.org/stable/c/511b48ee8e4aec2d03d2af06b363d9eb3230b017"},{"type":"WEB","url":"https://git.kernel.org/stable/c/6e3c4d3fa5d458d685561ecbaf8daa9dba14979e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a075c21ee026f4a74f9fce5928ea3c8d18a8af13"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b2c92b2a3801b09b709cbefd9a9e4944b72400bf"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b4307c7d35e346b909edfdc1f280902150570bb6"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e578b0906b6a81479cd5b5b6c848a7096addf5e9"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50261.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-50261"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5402626c83a2f19da14859e2bab231a53e16ee74"},{"fixed":"b2c92b2a3801b09b709cbefd9a9e4944b72400bf"},{"fixed":"b4307c7d35e346b909edfdc1f280902150570bb6"},{"fixed":"8f9941dea3a70b73f2063f9dcc4aaae6af03c5ba"},{"fixed":"511b48ee8e4aec2d03d2af06b363d9eb3230b017"},{"fixed":"6e3c4d3fa5d458d685561ecbaf8daa9dba14979e"},{"fixed":"a075c21ee026f4a74f9fce5928ea3c8d18a8af13"},{"fixed":"e578b0906b6a81479cd5b5b6c848a7096addf5e9"},{"fixed":"04371a75a58422a301a9ff9ae3babd310ac3bb3f"},{"fixed":"0ad811cc08a937d875cbad0149c1bab17f84ba05"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50261.json"}}],"schema_version":"1.7.5"}