{
  "slug": "dm-integrity",
  "term": "dm-integrity",
  "aliases": [],
  "definition": "dm-integrity is a Linux device-mapper target that stores per-block integrity tags and can generate and verify them when configured with an internal hash.",
  "note": "An upper layer supplying the tags is responsible for checking them; an internal CRC or HMAC has a different threat model. [dm-integrity-source]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Journaled mode couples data and tag updates; direct mode can leave mismatches after a crash. This is not application-level transaction atomicity.",
      "citationIds": [
        "dm-integrity-source"
      ]
    }
  ],
  "related": [
    "checksum",
    "dm-verity",
    "fs-verity",
    "crash-consistency"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "dm-integrity-source",
      "title": "Linux v6.12 documentation: dm-integrity, integrity-tag ownership and journal/direct modes",
      "url": "https://docs.kernel.org/6.12/admin-guide/device-mapper/dm-integrity.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela-integrity",
      "title": "Hesela: Why a valid checksum can still return the wrong data",
      "url": "https://hesela.com/analyses/checksums-identity-and-lost-writes/#linux-verity",
      "accessed": "2026-10-15"
    }
  ],
  "updated": "2026-10-15"
}
