{
  "schema_version": "1.4.0",
  "id": "GHSA-578g-xfmh-7xmp",
  "modified": "2025-09-15T15:31:22Z",
  "published": "2025-09-15T15:31:22Z",
  "aliases": [
    "CVE-2022-50261"
  ],
  "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->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.",
  "severity": [],
  "affected": [],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-50261"
    },
    {
      "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"
    }
  ],
  "database_specific": {
    "cwe_ids": [],
    "severity": null,
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-09-15T14:15:36Z"
  }
}