<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Composefs on Le Site de François</title><link>https://lesitedefrancois.be/en/tags/composefs/</link><description>Recent content in Composefs on Le Site de François</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 François</copyright><atom:link href="https://lesitedefrancois.be/en/tags/composefs/index.xml" rel="self" type="application/rss+xml"/><item><title>fs-verity</title><link>https://lesitedefrancois.be/en/security/fs-verity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://lesitedefrancois.be/en/security/fs-verity/</guid><description>&lt;p&gt;&lt;strong&gt;fs-verity&lt;/strong&gt; is a Linux kernel filesystem feature, merged in kernel 5.4, that provides &lt;strong&gt;read-only, content-addressable integrity verification at the individual file level&lt;/strong&gt;. When fs-verity is enabled on a file (via the &lt;code&gt;FS_IOC_ENABLE_VERITY&lt;/code&gt; ioctl), the kernel builds a &lt;strong&gt;Merkle tree&lt;/strong&gt; of the file&amp;rsquo;s content blocks and stores it in a filesystem-specific location (in an ext4 or f2fs Merkle tree block range, or in a separate xattr-adjacent structure on btrfs). From that point, the file becomes immutable — writes are rejected — and every page read from the file is verified against the Merkle tree before being returned to userspace. The file&amp;rsquo;s &lt;strong&gt;fs-verity digest&lt;/strong&gt; is the SHA-256 (or SHA-512) root hash of the Merkle tree, computable without reading the file at all once the tree is built: &lt;code&gt;fsverity digest file&lt;/code&gt; returns this digest. A file&amp;rsquo;s fs-verity digest is a stable, content-derived identity: two files with the same content have the same digest, and any byte-level modification produces a different digest that verification will detect and reject with &lt;code&gt;EIO&lt;/code&gt;. The kernel caches verified Merkle tree nodes in the page cache alongside file data, so the amortised verification overhead is low for sequentially-read files.&lt;/p&gt;</description></item></channel></rss>