# SPDX-License-Identifier: GPL-2.0 
 | 
  
 | 
config FS_VERITY 
 | 
    bool "FS Verity (read-only file-based authenticity protection)" 
 | 
    select CRYPTO 
 | 
    # SHA-256 is implied as it's intended to be the default hash algorithm. 
 | 
    # To avoid bloat, other wanted algorithms must be selected explicitly. 
 | 
    # Note that CRYPTO_SHA256 denotes the generic C implementation, but 
 | 
    # some architectures provided optimized implementations of the same 
 | 
    # algorithm that may be used instead. In this case, CRYPTO_SHA256 may 
 | 
    # be omitted even if SHA-256 is being used. 
 | 
    imply CRYPTO_SHA256 
 | 
    help 
 | 
      This option enables fs-verity.  fs-verity is the dm-verity 
 | 
      mechanism implemented at the file level.  On supported 
 | 
      filesystems (currently EXT4 and F2FS), userspace can use an 
 | 
      ioctl to enable verity for a file, which causes the filesystem 
 | 
      to build a Merkle tree for the file.  The filesystem will then 
 | 
      transparently verify any data read from the file against the 
 | 
      Merkle tree.  The file is also made read-only. 
 | 
  
 | 
      This serves as an integrity check, but the availability of the 
 | 
      Merkle tree root hash also allows efficiently supporting 
 | 
      various use cases where normally the whole file would need to 
 | 
      be hashed at once, such as: (a) auditing (logging the file's 
 | 
      hash), or (b) authenticity verification (comparing the hash 
 | 
      against a known good value, e.g. from a digital signature). 
 | 
  
 | 
      fs-verity is especially useful on large files where not all 
 | 
      the contents may actually be needed.  Also, fs-verity verifies 
 | 
      data each time it is paged back in, which provides better 
 | 
      protection against malicious disks vs. an ahead-of-time hash. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config FS_VERITY_DEBUG 
 | 
    bool "FS Verity debugging" 
 | 
    depends on FS_VERITY 
 | 
    help 
 | 
      Enable debugging messages related to fs-verity by default. 
 | 
  
 | 
      Say N unless you are an fs-verity developer. 
 | 
  
 | 
config FS_VERITY_BUILTIN_SIGNATURES 
 | 
    bool "FS Verity builtin signature support" 
 | 
    depends on FS_VERITY 
 | 
    select SYSTEM_DATA_VERIFICATION 
 | 
    help 
 | 
      Support verifying signatures of verity files against the X.509 
 | 
      certificates that have been loaded into the ".fs-verity" 
 | 
      kernel keyring. 
 | 
  
 | 
      This is meant as a relatively simple mechanism that can be 
 | 
      used to provide an authenticity guarantee for verity files, as 
 | 
      an alternative to IMA appraisal.  Userspace programs still 
 | 
      need to check that the verity bit is set in order to get an 
 | 
      authenticity guarantee. 
 | 
  
 | 
      If unsure, say N. 
 |