Skip to content
Heist/ feed
Back to feed
HighFix available

s390: avoid using global register for current_stack_pointer

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: s390: avoid using global register for current_stack_pointer Commit 30de14b1884b ("s390: current_stack_pointer shouldn't be a function") made current_stack_pointer a global register variable like on many other architectures. Unfortunately on s390 it uncovers old gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87 ("S/390: Fix PR89775. Stackpointer save/restore instructions removed")] and backported to gcc-8.4 and later. Due to this bug gcc versions prior to 8.4 generate broken code which leads to stack corruptions. Current minimal gcc version required to build the kernel is declared as 5.1. It is not possible to fix all old gcc versions, so work around this problem by avoiding using global register variable for current_stack_pointer.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.0.10
CVEs
CVE-2022-49804
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 01:56 UTC · Revision 1

Source evidence

s390: avoid using global register for current_stack_pointer

core-osv · Original source

Published 1 May 2025, 14:09 UTC

In the Linux kernel, the following vulnerability has been resolved: s390: avoid using global register for current_stack_pointer Commit 30de14b1884b ("s390: current_stack_pointer shouldn't be a function") made current_stack_pointer a global register variable like on many other architectures. Unfortunately on s390 it uncovers old gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87 ("S/390: Fix PR89775. Stackpointer save/restore instructions removed")] and backported to gcc-8.4 and later. Due to this bug gcc versions prior to 8.4 generate broken code which leads to stack corruptions. Current minimal gcc version required to build the kernel is declared as 5.1. It is not possible to fix all old gcc versions, so work around this problem by avoiding using global register variable for current_stack_pointer.

osv:CVE-2022-49804

Kernel

Fixed versions: 6.0.10

Complete source record
{
  "id": "ba1c6c2e584a2fec9c79615d204a6352732fcb08cf3471ea690d785f849b2fd6",
  "url": "https://osv.dev/vulnerability/CVE-2022-49804",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "s390: avoid using global register for current_stack_pointer",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: s390: avoid using global register for current_stack_pointer Commit 30de14b1884b (\"s390: current_stack_pointer shouldn't be a function\") made current_stack_pointer a global register variable like on many other architectures. Unfortunately on s390 it uncovers old gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87 (\"S/390: Fix PR89775. Stackpointer save/restore instructions removed\")] and backported to gcc-8.4 and later. Due to this bug gcc versions prior to 8.4 generate broken code which leads to stack corruptions. Current minimal gcc version required to build the kernel is declared as 5.1. It is not possible to fix all old gcc versions, so work around this problem by avoiding using global register variable for current_stack_pointer.",
    "evidence": "osv:CVE-2022-49804",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.0.10",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2022-49804",
      "aliases": [
        "CVE-2022-49804"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "30de14b1884ba609fc1acfba5b40309e3a6ccefe"
                },
                {
                  "fixed": "a478952a8ac44e32316dc046a063a7dc34825aa6"
                },
                {
                  "fixed": "e3c11025bcd2142a61abe5806b2f86a0e78118df"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49804.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.18.0"
                },
                {
                  "fixed": "6.0.10"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49804.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.117574459Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/a478952a8ac44e32316dc046a063a7dc34825aa6",
        "https://git.kernel.org/stable/c/e3c11025bcd2142a61abe5806b2f86a0e78118df",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49804.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-49804",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49804.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-49804",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521547,
  "published_at": "2025-05-01T14:09:31.59+00:00"
}