• Linus Torvalds's avatar
    Merge branch 'next-integrity' of... · 3c29548f
    Linus Torvalds authored
    Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
    
    Pull integrity updates from James Morris:
     "This contains a mixture of bug fixes, code cleanup, and new
      functionality. Of note is the integrity cache locking fix, file change
      detection, and support for a new EVM portable and immutable signature
      type.
    
      The re-introduction of the integrity cache lock (iint) fixes the
      problem of attempting to take the i_rwsem shared a second time, when
      it was previously taken exclusively. Defining atomic flags resolves
      the original iint/i_rwsem circular locking - accessing the file data
      vs. modifying the file metadata. Although it fixes the O_DIRECT
      problem as well, a subsequent patch is needed to remove the explicit
      O_DIRECT prevention.
    
      For performance reasons, detecting when a file has changed and needs
      to be re-measured, re-appraised, and/or re-audited, was limited to
      after the last writer has closed, and only if the file data has
      changed. Detecting file change is based on i_version. For filesystems
      that do not support i_version, remote filesystems, or userspace
      filesystems, the file was measured, appraised and/or audited once and
      never re-evaluated. Now local filesystems, which do not support
      i_version or are not mounted with the i_version option, assume the
      file has changed and are required to re-evaluate the file. This change
      does not address detecting file change on remote or userspace
      filesystems.
    
      Unlike file data signatures, which can be included and distributed in
      software packages (eg. rpm, deb), the existing EVM signature, which
      protects the file metadata, could not be included in software
      packages, as it includes file system specific information (eg. i_ino,
      possibly the UUID). This pull request defines a new EVM portable and
      immutable file metadata signature format, which can be included in
      software packages"
    
    * 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      ima/policy: fix parsing of fsuuid
      ima: Use i_version only when filesystem supports it
      integrity: remove unneeded initializations in integrity_iint_cache entries
      ima: log message to module appraisal error
      ima: pass filename to ima_rdwr_violation_check()
      ima: Fix line continuation format
      ima: support new "hash" and "dont_hash" policy actions
      ima: re-introduce own integrity cache lock
      EVM: Add support for portable signature format
      EVM: Allow userland to permit modification of EVM-protected metadata
      ima: relax requiring a file signature for new files with zero length
    3c29548f
ima_api.c 10.2 KB