CVE-2026-74645 (GCVE-0-2026-74645)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-22 15:32
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: mm/damon/lru_sort: error out for >10000 active_mem_bp damos_quota_score() can trigger division by zero if the target value is zero. DAMON_LRU_SORT lets users set the target value for the hot memory scheme via active_mem_bp parameter. It avoids setting it as the target value if the parameter value is zero. However, it also sets the cold memory scheme with a target value that is calculated as '10000 - active_mem_bp + 2'. Hence, if a user sets active_mem_bp 10002, the cold memory scheme's quota goal target value can be zero. As a result, division by zero can be triggered. Fix by returning an error when the user tries to start DAMON with >10000 active_mem_bp parameter value. It makes no sense to set active_mem_bp with 10002. It also requires module parameters write permission to reproduce the issue. That said, the consequence is quite bad. One reliable way to reproduce the issue is like below: # cd /sys/module/damon_lru_sort/parameters # echo 1000 > wmarks_high # echo 995 > wmarks_mid # echo 0 > wmarks_low # echo 10002 > active_mem_bp # echo Y > enabled # dmesg -w [...] [ 597.421247] Oops: divide error: 0000 [#1] SMP NOPTI [ 597.428848] RIP: 0010:damos_quota_score+0x6f/0x480 This issue was discovered [1] by Sashiko.
Impacted products
Vendor Product Version
Linux Linux Version: 40d98d31cd7060228e03303c5c34ae7101020416
Version: 40d98d31cd7060228e03303c5c34ae7101020416
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "mm/damon/lru_sort.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e7e5e5e0dfe2ea171044c24c263efae4ee882b3f",
              "status": "affected",
              "version": "40d98d31cd7060228e03303c5c34ae7101020416",
              "versionType": "git"
            },
            {
              "lessThan": "06befa61c427e74319781e6f35a364cfc32dbae8",
              "status": "affected",
              "version": "40d98d31cd7060228e03303c5c34ae7101020416",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "mm/damon/lru_sort.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.0"
            },
            {
              "lessThan": "7.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.9",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "7.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm/damon/lru_sort: error out for \u003e10000 active_mem_bp\n\ndamos_quota_score() can trigger division by zero if the target value is\nzero.  DAMON_LRU_SORT lets users set the target value for the hot memory\nscheme via active_mem_bp parameter.  It avoids setting it as the target\nvalue if the parameter value is zero.  However, it also sets the cold\nmemory scheme with a target value that is calculated as \u002710000 -\nactive_mem_bp + 2\u0027.  Hence, if a user sets active_mem_bp 10002, the cold\nmemory scheme\u0027s quota goal target value can be zero.  As a result,\ndivision by zero can be triggered.  Fix by returning an error when the\nuser tries to start DAMON with \u003e10000 active_mem_bp parameter value.\n\nIt makes no sense to set active_mem_bp with 10002.  It also requires\nmodule parameters write permission to reproduce the issue.  That said, the\nconsequence is quite bad.\n\nOne reliable way to reproduce the issue is like below:\n\n    # cd /sys/module/damon_lru_sort/parameters\n    # echo 1000 \u003e wmarks_high\n    # echo 995 \u003e wmarks_mid\n    # echo 0 \u003e wmarks_low\n    # echo 10002 \u003e active_mem_bp\n    # echo Y \u003e enabled\n    # dmesg -w\n    [...]\n    [  597.421247] Oops: divide error: 0000 [#1] SMP NOPTI\n    [  597.428848] RIP: 0010:damos_quota_score+0x6f/0x480\n\nThis issue was discovered [1] by Sashiko."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-22T15:32:22.645Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e7e5e5e0dfe2ea171044c24c263efae4ee882b3f"
        },
        {
          "url": "https://git.kernel.org/stable/c/06befa61c427e74319781e6f35a364cfc32dbae8"
        }
      ],
      "title": "mm/damon/lru_sort: error out for \u003e10000 active_mem_bp",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74645",
    "datePublished": "2026-08-22T15:32:22.645Z",
    "dateReserved": "2026-08-15T05:44:03.923Z",
    "dateUpdated": "2026-08-22T15:32:22.645Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


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.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • 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.


Loading…

Loading…