cve-2022-48800
Vulnerability from cvelistv5
Published
2024-07-16 11:43
Modified
2024-11-04 12:16
Severity ?
Summary
mm: vmscan: remove deadlock due to throttling failing to make progress
Impacted products
Vendor Product Version
Linux Linux Version: 5.16
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-03T15:25:01.613Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3980cff6349687f73d5109f156f23cb261c24164"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/b485c6f1f9f54b81443efda5f3d8a5036ba2cd91"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48800",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:59:06.751767Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:14.490Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "mm/vmscan.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "3980cff63496",
              "status": "affected",
              "version": "d818fca1cac3",
              "versionType": "git"
            },
            {
              "lessThan": "b485c6f1f9f5",
              "status": "affected",
              "version": "d818fca1cac3",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "mm/vmscan.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.16"
            },
            {
              "lessThan": "5.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.16.*",
              "status": "unaffected",
              "version": "5.16.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.17",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: vmscan: remove deadlock due to throttling failing to make progress\n\nA soft lockup bug in kcompactd was reported in a private bugzilla with\nthe following visible in dmesg;\n\n  watchdog: BUG: soft lockup - CPU#33 stuck for 26s! [kcompactd0:479]\n  watchdog: BUG: soft lockup - CPU#33 stuck for 52s! [kcompactd0:479]\n  watchdog: BUG: soft lockup - CPU#33 stuck for 78s! [kcompactd0:479]\n  watchdog: BUG: soft lockup - CPU#33 stuck for 104s! [kcompactd0:479]\n\nThe machine had 256G of RAM with no swap and an earlier failed\nallocation indicated that node 0 where kcompactd was run was potentially\nunreclaimable;\n\n  Node 0 active_anon:29355112kB inactive_anon:2913528kB active_file:0kB\n    inactive_file:0kB unevictable:64kB isolated(anon):0kB isolated(file):0kB\n    mapped:8kB dirty:0kB writeback:0kB shmem:26780kB shmem_thp:\n    0kB shmem_pmdmapped: 0kB anon_thp: 23480320kB writeback_tmp:0kB\n    kernel_stack:2272kB pagetables:24500kB all_unreclaimable? yes\n\nVlastimil Babka investigated a crash dump and found that a task\nmigrating pages was trying to drain PCP lists;\n\n  PID: 52922  TASK: ffff969f820e5000  CPU: 19  COMMAND: \"kworker/u128:3\"\n  Call Trace:\n     __schedule\n     schedule\n     schedule_timeout\n     wait_for_completion\n     __flush_work\n     __drain_all_pages\n     __alloc_pages_slowpath.constprop.114\n     __alloc_pages\n     alloc_migration_target\n     migrate_pages\n     migrate_to_node\n     do_migrate_pages\n     cpuset_migrate_mm_workfn\n     process_one_work\n     worker_thread\n     kthread\n     ret_from_fork\n\nThis failure is specific to CONFIG_PREEMPT=n builds.  The root of the\nproblem is that kcompact0 is not rescheduling on a CPU while a task that\nhas isolated a large number of the pages from the LRU is waiting on\nkcompact0 to reschedule so the pages can be released.  While\nshrink_inactive_list() only loops once around too_many_isolated, reclaim\ncan continue without rescheduling if sc-\u003eskipped_deactivate == 1 which\ncould happen if there was no file LRU and the inactive anon list was not\nlow."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-11-04T12:16:49.032Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/3980cff6349687f73d5109f156f23cb261c24164"
        },
        {
          "url": "https://git.kernel.org/stable/c/b485c6f1f9f54b81443efda5f3d8a5036ba2cd91"
        }
      ],
      "title": "mm: vmscan: remove deadlock due to throttling failing to make progress",
      "x_generator": {
        "engine": "bippy-9e1c9544281a"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48800",
    "datePublished": "2024-07-16T11:43:53.577Z",
    "dateReserved": "2024-07-16T11:38:08.895Z",
    "dateUpdated": "2024-11-04T12:16:49.032Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-48800\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-16T12:15:04.563\",\"lastModified\":\"2024-11-21T07:34:06.800\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmm: vmscan: remove deadlock due to throttling failing to make progress\\n\\nA soft lockup bug in kcompactd was reported in a private bugzilla with\\nthe following visible in dmesg;\\n\\n  watchdog: BUG: soft lockup - CPU#33 stuck for 26s! [kcompactd0:479]\\n  watchdog: BUG: soft lockup - CPU#33 stuck for 52s! [kcompactd0:479]\\n  watchdog: BUG: soft lockup - CPU#33 stuck for 78s! [kcompactd0:479]\\n  watchdog: BUG: soft lockup - CPU#33 stuck for 104s! [kcompactd0:479]\\n\\nThe machine had 256G of RAM with no swap and an earlier failed\\nallocation indicated that node 0 where kcompactd was run was potentially\\nunreclaimable;\\n\\n  Node 0 active_anon:29355112kB inactive_anon:2913528kB active_file:0kB\\n    inactive_file:0kB unevictable:64kB isolated(anon):0kB isolated(file):0kB\\n    mapped:8kB dirty:0kB writeback:0kB shmem:26780kB shmem_thp:\\n    0kB shmem_pmdmapped: 0kB anon_thp: 23480320kB writeback_tmp:0kB\\n    kernel_stack:2272kB pagetables:24500kB all_unreclaimable? yes\\n\\nVlastimil Babka investigated a crash dump and found that a task\\nmigrating pages was trying to drain PCP lists;\\n\\n  PID: 52922  TASK: ffff969f820e5000  CPU: 19  COMMAND: \\\"kworker/u128:3\\\"\\n  Call Trace:\\n     __schedule\\n     schedule\\n     schedule_timeout\\n     wait_for_completion\\n     __flush_work\\n     __drain_all_pages\\n     __alloc_pages_slowpath.constprop.114\\n     __alloc_pages\\n     alloc_migration_target\\n     migrate_pages\\n     migrate_to_node\\n     do_migrate_pages\\n     cpuset_migrate_mm_workfn\\n     process_one_work\\n     worker_thread\\n     kthread\\n     ret_from_fork\\n\\nThis failure is specific to CONFIG_PREEMPT=n builds.  The root of the\\nproblem is that kcompact0 is not rescheduling on a CPU while a task that\\nhas isolated a large number of the pages from the LRU is waiting on\\nkcompact0 to reschedule so the pages can be released.  While\\nshrink_inactive_list() only loops once around too_many_isolated, reclaim\\ncan continue without rescheduling if sc-\u003eskipped_deactivate == 1 which\\ncould happen if there was no file LRU and the inactive anon list was not\\nlow.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm: vmscan: elimina el punto muerto debido a que la aceleraci\u00f3n no logra avanzar. Se inform\u00f3 un error de bloqueo suave en kcompactd en un bugzilla privado con lo siguiente visible en dmesg; perro guardi\u00e1n: ERROR: bloqueo suave - \u00a1CPU n.\u00b0 33 bloqueada durante 26 segundos! [kcompactd0:479] perro guardi\u00e1n: ERROR: bloqueo suave - \u00a1CPU#33 bloqueada durante 52 segundos! [kcompactd0:479] perro guardi\u00e1n: ERROR: bloqueo suave - \u00a1CPU#33 bloqueada durante 78 segundos! [kcompactd0:479] perro guardi\u00e1n: ERROR: bloqueo suave - \u00a1CPU#33 bloqueada durante 104! [kcompactd0:479] La m\u00e1quina ten\u00eda 256 GB de RAM sin intercambio y una asignaci\u00f3n fallida anterior indic\u00f3 que el nodo 0 donde se ejecutaba kcompactd era potencialmente no recuperable; Nodo 0 active_anon:29355112kB inactive_anon:2913528kB active_file:0kB inactive_file:0kB inevitable:64kB aislado(anon):0kB aislado(archivo):0kB mapeado:8kB sucio:0kB escritura regresiva:0kB shmem:26780kB shmem_thp: 0kB shmem_pmdmapped : 0kB anon_thp: 23480320kB writeback_tmp:0kB kernel_stack:2272kB tablas de p\u00e1ginas:24500kB \u00bftodo_unreclamable? s\u00ed, Vlastimil Babka investig\u00f3 un volcado de memoria y descubri\u00f3 que una tarea que migraba p\u00e1ginas intentaba drenar las listas de PCP; PID: 52922 TAREA: ffff969f820e5000 CPU: 19 COMANDO: \\\"kworker/u128:3\\\" Seguimiento de llamadas: __schedule Schedule Schedule_timeout wait_for_completion __flush_work __drain_all_pages __alloc_pages_slowpath.constprop.114 __alloc_pages alloc_migration_target migrar_pages to_node do_migrate_pages cpuset_migrate_mm_workfn process_one_work trabajador_thread kthread ret_from_fork Este error es espec\u00edfico de CONFIG_PREEMPT=n construye. La ra\u00edz del problema es que kcompact0 no se reprograma en una CPU mientras una tarea que ha aislado una gran cantidad de p\u00e1ginas de la LRU est\u00e1 esperando que kcompact0 se reprograme para que las p\u00e1ginas puedan liberarse. Mientras que Shrink_inactive_list() solo realiza un bucle alrededor de too_many_isolated, la recuperaci\u00f3n puede continuar sin reprogramar si sc-\u0026gt;skipped_deactivate == 1, lo que podr\u00eda suceder si no hubiera ning\u00fan archivo LRU y la lista de an\u00f3nimos inactivos no fuera baja.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-667\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.16.10\",\"matchCriteriaId\":\"679523BA-1392-404B-AB85-F5A5408B1ECC\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3980cff6349687f73d5109f156f23cb261c24164\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b485c6f1f9f54b81443efda5f3d8a5036ba2cd91\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3980cff6349687f73d5109f156f23cb261c24164\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b485c6f1f9f54b81443efda5f3d8a5036ba2cd91\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Mailing List\",\"Patch\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.