{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "6ae330cad6ef22ab8347ea9e0707dc56a7c7363f"
            },
            {
              "fixed": "8f14906ce9103ab8f2f1ebda45935a0d61b9d763"
            },
            {
              "fixed": "03cfeeb135428fa83f0791d3f8f94d9298cae695"
            },
            {
              "fixed": "92588d187ba4697a322e7aefe5d9e538a87d1cd2"
            },
            {
              "fixed": "ea9fea370b8de4ffd72e0ef89550415c15637787"
            },
            {
              "fixed": "1758730d9eaa3c06cf415c3446d9f6eed9ed3eed"
            },
            {
              "fixed": "dd278d954c0e96a9cbd3cc491e07b8267d25f8d5"
            },
            {
              "fixed": "e8457ebfd77a46e8d1210e8888ea914ad064558e"
            },
            {
              "fixed": "9afeca0d569c9fc89d758fe7a9339d1e8afb1546"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "5.10.0"
            },
            {
              "fixed": "5.15.220"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.1.187"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.6.156"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.12.108"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.49"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.1.13"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "7.2.0"
            },
            {
              "fixed": "7.2.3"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80856.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nfuse: fix invalidate lock leak on setattr writeback failure\n\nfuse_do_setattr() takes filemap_invalidate_lock() for a DAX truncate\n(fault_blocked = true) and releases it at the out:/error: labels.  But\nwhen a writeback flush is also needed, a write_inode_now() failure\nreturns directly and leaks the lock, so any later fault or truncate on\nthe file stalls on the stale rwsem.\n\nFor example, truncate(2) on a setuid file reaches fuse_do_setattr()\nwith both ATTR_SIZE and ATTR_MODE set:\n\n  truncate(2)\n  └─ do_truncate()\n     ├─ dentry_needs_remove_privs()         # S_ISUID\n     └─ notify_change()                     # KILL_SUID -\u003e ATTR_MODE\n        └─ fuse_setattr()                   # no killpriv:\n           │                                #   ia_valid |= ATTR_MODE\n           └─ fuse_do_setattr()\n              ├─ filemap_invalidate_lock()  # IS_DAX \u0026\u0026 is_truncate\n              └─ write_inode_now()          # is_wb \u0026\u0026 ATTR_MODE\n                 └─ if (err)                # e.g. daemon -\u003e -EIO\n                    return err              # \u003c- lock leaked\n\nFix this by adding an unlock label that releases the lock before\nreturning the error, and use it for the fuse_dax_break_layouts()\nfailure path as well.",
  "id": "CVE-2026-80856",
  "modified": "2026-09-06T03:30:17.954213839Z",
  "published": "2026-09-04T15:55:09.250Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/03cfeeb135428fa83f0791d3f8f94d9298cae695"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/1758730d9eaa3c06cf415c3446d9f6eed9ed3eed"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/8f14906ce9103ab8f2f1ebda45935a0d61b9d763"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/92588d187ba4697a322e7aefe5d9e538a87d1cd2"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9afeca0d569c9fc89d758fe7a9339d1e8afb1546"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/dd278d954c0e96a9cbd3cc491e07b8267d25f8d5"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e8457ebfd77a46e8d1210e8888ea914ad064558e"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ea9fea370b8de4ffd72e0ef89550415c15637787"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80856.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-80856"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "fuse: fix invalidate lock leak on setattr writeback failure"
}