GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2023-53231 (GCVE-0-2023-53231)

Vulnerability from cvelistv5 – Published: 2025-09-15 14:22 – Updated: 2026-05-11 19:40
VLAI
Title
erofs: Fix detection of atomic context
Summary
In the Linux kernel, the following vulnerability has been resolved: erofs: Fix detection of atomic context Current check for atomic context is not sufficient as z_erofs_decompressqueue_endio can be called under rcu lock from blk_mq_flush_plug_list(). See the stacktrace [1] In such case we should hand off the decompression work for async processing rather than trying to do sync decompression in current context. Patch fixes the detection by checking for rcu_read_lock_any_held() and while at it use more appropriate !in_task() check than in_atomic(). Background: Historically erofs would always schedule a kworker for decompression which would incur the scheduling cost regardless of the context. But z_erofs_decompressqueue_endio() may not always be in atomic context and we could actually benefit from doing the decompression in z_erofs_decompressqueue_endio() if we are in thread context, for example when running with dm-verity. This optimization was later added in patch [2] which has shown improvement in performance benchmarks. ============================================== [1] Problem stacktrace [name:core&]BUG: sleeping function called from invalid context at kernel/locking/mutex.c:291 [name:core&]in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1615, name: CpuMonitorServi [name:core&]preempt_count: 0, expected: 0 [name:core&]RCU nest depth: 1, expected: 0 CPU: 7 PID: 1615 Comm: CpuMonitorServi Tainted: G S W OE 6.1.25-android14-5-maybe-dirty-mainline #1 Hardware name: MT6897 (DT) Call trace: dump_backtrace+0x108/0x15c show_stack+0x20/0x30 dump_stack_lvl+0x6c/0x8c dump_stack+0x20/0x48 __might_resched+0x1fc/0x308 __might_sleep+0x50/0x88 mutex_lock+0x2c/0x110 z_erofs_decompress_queue+0x11c/0xc10 z_erofs_decompress_kickoff+0x110/0x1a4 z_erofs_decompressqueue_endio+0x154/0x180 bio_endio+0x1b0/0x1d8 __dm_io_complete+0x22c/0x280 clone_endio+0xe4/0x280 bio_endio+0x1b0/0x1d8 blk_update_request+0x138/0x3a4 blk_mq_plug_issue_direct+0xd4/0x19c blk_mq_flush_plug_list+0x2b0/0x354 __blk_flush_plug+0x110/0x160 blk_finish_plug+0x30/0x4c read_pages+0x2fc/0x370 page_cache_ra_unbounded+0xa4/0x23c page_cache_ra_order+0x290/0x320 do_sync_mmap_readahead+0x108/0x2c0 filemap_fault+0x19c/0x52c __do_fault+0xc4/0x114 handle_mm_fault+0x5b4/0x1168 do_page_fault+0x338/0x4b4 do_translation_fault+0x40/0x60 do_mem_abort+0x60/0xc8 el0_da+0x4c/0xe0 el0t_64_sync_handler+0xd4/0xfc el0t_64_sync+0x1a0/0x1a4 [2] Link: https://lore.kernel.org/all/20210317035448.13921-1-huangjianan@oppo.com/
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-01-14 17:55 UTC
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: aea1286dcbbb87cf33595c2ac8b153c29a4611cb , < 597fb60c75132719687e173b75cab8f6eb1ca657 (git)
Affected: aea1286dcbbb87cf33595c2ac8b153c29a4611cb , < 12d0a24afd9ea58e581ea64d64e066f2027b28d9 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.19
Unaffected: 0 , < 4.19 (semver)
Unaffected: 6.4.7 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "NONE",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2023-53231",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-01-14T17:55:25.324929Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "description": "CWE-noinfo Not enough information",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-01-14T18:02:49.372Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/erofs/zdata.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "597fb60c75132719687e173b75cab8f6eb1ca657",
              "status": "affected",
              "version": "aea1286dcbbb87cf33595c2ac8b153c29a4611cb",
              "versionType": "git"
            },
            {
              "lessThan": "12d0a24afd9ea58e581ea64d64e066f2027b28d9",
              "status": "affected",
              "version": "aea1286dcbbb87cf33595c2ac8b153c29a4611cb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/erofs/zdata.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "lessThan": "4.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.7",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nerofs: Fix detection of atomic context\n\nCurrent check for atomic context is not sufficient as\nz_erofs_decompressqueue_endio can be called under rcu lock\nfrom blk_mq_flush_plug_list(). See the stacktrace [1]\n\nIn such case we should hand off the decompression work for async\nprocessing rather than trying to do sync decompression in current\ncontext. Patch fixes the detection by checking for\nrcu_read_lock_any_held() and while at it use more appropriate\n!in_task() check than in_atomic().\n\nBackground: Historically erofs would always schedule a kworker for\ndecompression which would incur the scheduling cost regardless of\nthe context. But z_erofs_decompressqueue_endio() may not always\nbe in atomic context and we could actually benefit from doing the\ndecompression in z_erofs_decompressqueue_endio() if we are in\nthread context, for example when running with dm-verity.\nThis optimization was later added in patch [2] which has shown\nimprovement in performance benchmarks.\n\n==============================================\n[1] Problem stacktrace\n[name:core\u0026]BUG: sleeping function called from invalid context at kernel/locking/mutex.c:291\n[name:core\u0026]in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1615, name: CpuMonitorServi\n[name:core\u0026]preempt_count: 0, expected: 0\n[name:core\u0026]RCU nest depth: 1, expected: 0\nCPU: 7 PID: 1615 Comm: CpuMonitorServi Tainted: G S      W  OE      6.1.25-android14-5-maybe-dirty-mainline #1\nHardware name: MT6897 (DT)\nCall trace:\n dump_backtrace+0x108/0x15c\n show_stack+0x20/0x30\n dump_stack_lvl+0x6c/0x8c\n dump_stack+0x20/0x48\n __might_resched+0x1fc/0x308\n __might_sleep+0x50/0x88\n mutex_lock+0x2c/0x110\n z_erofs_decompress_queue+0x11c/0xc10\n z_erofs_decompress_kickoff+0x110/0x1a4\n z_erofs_decompressqueue_endio+0x154/0x180\n bio_endio+0x1b0/0x1d8\n __dm_io_complete+0x22c/0x280\n clone_endio+0xe4/0x280\n bio_endio+0x1b0/0x1d8\n blk_update_request+0x138/0x3a4\n blk_mq_plug_issue_direct+0xd4/0x19c\n blk_mq_flush_plug_list+0x2b0/0x354\n __blk_flush_plug+0x110/0x160\n blk_finish_plug+0x30/0x4c\n read_pages+0x2fc/0x370\n page_cache_ra_unbounded+0xa4/0x23c\n page_cache_ra_order+0x290/0x320\n do_sync_mmap_readahead+0x108/0x2c0\n filemap_fault+0x19c/0x52c\n __do_fault+0xc4/0x114\n handle_mm_fault+0x5b4/0x1168\n do_page_fault+0x338/0x4b4\n do_translation_fault+0x40/0x60\n do_mem_abort+0x60/0xc8\n el0_da+0x4c/0xe0\n el0t_64_sync_handler+0xd4/0xfc\n el0t_64_sync+0x1a0/0x1a4\n\n[2] Link: https://lore.kernel.org/all/20210317035448.13921-1-huangjianan@oppo.com/"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T19:40:46.848Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/597fb60c75132719687e173b75cab8f6eb1ca657"
        },
        {
          "url": "https://git.kernel.org/stable/c/12d0a24afd9ea58e581ea64d64e066f2027b28d9"
        }
      ],
      "title": "erofs: Fix detection of atomic context",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53231",
    "datePublished": "2025-09-15T14:22:03.599Z",
    "dateReserved": "2025-09-15T14:19:21.847Z",
    "dateUpdated": "2026-05-11T19:40:46.848Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53231",
      "date": "2026-09-16",
      "epss": "0.00137",
      "percentile": "0.03446"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53231\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-15T15:15:50.063\",\"lastModified\":\"2026-06-17T06:44:34.507\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nerofs: Fix detection of atomic context\\n\\nCurrent check for atomic context is not sufficient as\\nz_erofs_decompressqueue_endio can be called under rcu lock\\nfrom blk_mq_flush_plug_list(). See the stacktrace [1]\\n\\nIn such case we should hand off the decompression work for async\\nprocessing rather than trying to do sync decompression in current\\ncontext. Patch fixes the detection by checking for\\nrcu_read_lock_any_held() and while at it use more appropriate\\n!in_task() check than in_atomic().\\n\\nBackground: Historically erofs would always schedule a kworker for\\ndecompression which would incur the scheduling cost regardless of\\nthe context. But z_erofs_decompressqueue_endio() may not always\\nbe in atomic context and we could actually benefit from doing the\\ndecompression in z_erofs_decompressqueue_endio() if we are in\\nthread context, for example when running with dm-verity.\\nThis optimization was later added in patch [2] which has shown\\nimprovement in performance benchmarks.\\n\\n==============================================\\n[1] Problem stacktrace\\n[name:core\u0026]BUG: sleeping function called from invalid context at kernel/locking/mutex.c:291\\n[name:core\u0026]in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1615, name: CpuMonitorServi\\n[name:core\u0026]preempt_count: 0, expected: 0\\n[name:core\u0026]RCU nest depth: 1, expected: 0\\nCPU: 7 PID: 1615 Comm: CpuMonitorServi Tainted: G S      W  OE      6.1.25-android14-5-maybe-dirty-mainline #1\\nHardware name: MT6897 (DT)\\nCall trace:\\n dump_backtrace+0x108/0x15c\\n show_stack+0x20/0x30\\n dump_stack_lvl+0x6c/0x8c\\n dump_stack+0x20/0x48\\n __might_resched+0x1fc/0x308\\n __might_sleep+0x50/0x88\\n mutex_lock+0x2c/0x110\\n z_erofs_decompress_queue+0x11c/0xc10\\n z_erofs_decompress_kickoff+0x110/0x1a4\\n z_erofs_decompressqueue_endio+0x154/0x180\\n bio_endio+0x1b0/0x1d8\\n __dm_io_complete+0x22c/0x280\\n clone_endio+0xe4/0x280\\n bio_endio+0x1b0/0x1d8\\n blk_update_request+0x138/0x3a4\\n blk_mq_plug_issue_direct+0xd4/0x19c\\n blk_mq_flush_plug_list+0x2b0/0x354\\n __blk_flush_plug+0x110/0x160\\n blk_finish_plug+0x30/0x4c\\n read_pages+0x2fc/0x370\\n page_cache_ra_unbounded+0xa4/0x23c\\n page_cache_ra_order+0x290/0x320\\n do_sync_mmap_readahead+0x108/0x2c0\\n filemap_fault+0x19c/0x52c\\n __do_fault+0xc4/0x114\\n handle_mm_fault+0x5b4/0x1168\\n do_page_fault+0x338/0x4b4\\n do_translation_fault+0x40/0x60\\n do_mem_abort+0x60/0xc8\\n el0_da+0x4c/0xe0\\n el0t_64_sync_handler+0xd4/0xfc\\n el0t_64_sync+0x1a0/0x1a4\\n\\n[2] Link: https://lore.kernel.org/all/20210317035448.13921-1-huangjianan@oppo.com/\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/erofs/zdata.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"aea1286dcbbb87cf33595c2ac8b153c29a4611cb\",\"lessThan\":\"597fb60c75132719687e173b75cab8f6eb1ca657\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"aea1286dcbbb87cf33595c2ac8b153c29a4611cb\",\"lessThan\":\"12d0a24afd9ea58e581ea64d64e066f2027b28d9\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/erofs/zdata.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.19\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.7\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"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},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"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}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-01-14T17:55:25.324929Z\",\"id\":\"CVE-2023-53231\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.19\",\"versionEndExcluding\":\"6.4.7\",\"matchCriteriaId\":\"512FE1EE-BE65-45A5-B4D8-6442A202F5A6\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/12d0a24afd9ea58e581ea64d64e066f2027b28d9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/597fb60c75132719687e173b75cab8f6eb1ca657\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-06-30T10:13:11+00:00",
      "cve": "CVE-2023-53231",
      "id": "CVE-2023-53231",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: erofs: Fix detection of atomic context",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53231.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-29T02:08:50Z",
      "cve": "CVE-2023-53231",
      "id": "CVE-2023-53231",
      "initial_release_date": "2025-09-16T23:31:19Z",
      "product_status:known_affected": "524",
      "product_status:known_not_affected": "263",
      "product_status:recommended": "310",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-53231",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-53231.json",
      "version": "43"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 5.5, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\", \"integrityImpact\": \"NONE\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"NONE\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2023-53231\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-01-14T17:55:25.324929Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"description\": \"CWE-noinfo Not enough information\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-01-14T17:55:21.361Z\"}}], \"cna\": {\"title\": \"erofs: Fix detection of atomic context\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"aea1286dcbbb87cf33595c2ac8b153c29a4611cb\", \"lessThan\": \"597fb60c75132719687e173b75cab8f6eb1ca657\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"aea1286dcbbb87cf33595c2ac8b153c29a4611cb\", \"lessThan\": \"12d0a24afd9ea58e581ea64d64e066f2027b28d9\", \"versionType\": \"git\"}], \"programFiles\": [\"fs/erofs/zdata.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.19\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.19\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.4.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.4.*\"}, {\"status\": \"unaffected\", \"version\": \"6.5\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/erofs/zdata.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/597fb60c75132719687e173b75cab8f6eb1ca657\"}, {\"url\": \"https://git.kernel.org/stable/c/12d0a24afd9ea58e581ea64d64e066f2027b28d9\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nerofs: Fix detection of atomic context\\n\\nCurrent check for atomic context is not sufficient as\\nz_erofs_decompressqueue_endio can be called under rcu lock\\nfrom blk_mq_flush_plug_list(). See the stacktrace [1]\\n\\nIn such case we should hand off the decompression work for async\\nprocessing rather than trying to do sync decompression in current\\ncontext. Patch fixes the detection by checking for\\nrcu_read_lock_any_held() and while at it use more appropriate\\n!in_task() check than in_atomic().\\n\\nBackground: Historically erofs would always schedule a kworker for\\ndecompression which would incur the scheduling cost regardless of\\nthe context. But z_erofs_decompressqueue_endio() may not always\\nbe in atomic context and we could actually benefit from doing the\\ndecompression in z_erofs_decompressqueue_endio() if we are in\\nthread context, for example when running with dm-verity.\\nThis optimization was later added in patch [2] which has shown\\nimprovement in performance benchmarks.\\n\\n==============================================\\n[1] Problem stacktrace\\n[name:core\u0026]BUG: sleeping function called from invalid context at kernel/locking/mutex.c:291\\n[name:core\u0026]in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 1615, name: CpuMonitorServi\\n[name:core\u0026]preempt_count: 0, expected: 0\\n[name:core\u0026]RCU nest depth: 1, expected: 0\\nCPU: 7 PID: 1615 Comm: CpuMonitorServi Tainted: G S      W  OE      6.1.25-android14-5-maybe-dirty-mainline #1\\nHardware name: MT6897 (DT)\\nCall trace:\\n dump_backtrace+0x108/0x15c\\n show_stack+0x20/0x30\\n dump_stack_lvl+0x6c/0x8c\\n dump_stack+0x20/0x48\\n __might_resched+0x1fc/0x308\\n __might_sleep+0x50/0x88\\n mutex_lock+0x2c/0x110\\n z_erofs_decompress_queue+0x11c/0xc10\\n z_erofs_decompress_kickoff+0x110/0x1a4\\n z_erofs_decompressqueue_endio+0x154/0x180\\n bio_endio+0x1b0/0x1d8\\n __dm_io_complete+0x22c/0x280\\n clone_endio+0xe4/0x280\\n bio_endio+0x1b0/0x1d8\\n blk_update_request+0x138/0x3a4\\n blk_mq_plug_issue_direct+0xd4/0x19c\\n blk_mq_flush_plug_list+0x2b0/0x354\\n __blk_flush_plug+0x110/0x160\\n blk_finish_plug+0x30/0x4c\\n read_pages+0x2fc/0x370\\n page_cache_ra_unbounded+0xa4/0x23c\\n page_cache_ra_order+0x290/0x320\\n do_sync_mmap_readahead+0x108/0x2c0\\n filemap_fault+0x19c/0x52c\\n __do_fault+0xc4/0x114\\n handle_mm_fault+0x5b4/0x1168\\n do_page_fault+0x338/0x4b4\\n do_translation_fault+0x40/0x60\\n do_mem_abort+0x60/0xc8\\n el0_da+0x4c/0xe0\\n el0t_64_sync_handler+0xd4/0xfc\\n el0t_64_sync+0x1a0/0x1a4\\n\\n[2] Link: https://lore.kernel.org/all/20210317035448.13921-1-huangjianan@oppo.com/\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.4.7\", \"versionStartIncluding\": \"4.19\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.5\", \"versionStartIncluding\": \"4.19\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-09-16T08:02:24.954Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2023-53231\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-01-14T18:02:49.372Z\", \"dateReserved\": \"2025-09-15T14:19:21.847Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-09-15T14:22:03.599Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…