From: Eric Biggers <ebiggers@kernel.org>
To: linux-ext4@vger.kernel.org
Cc: linux-fscrypt@vger.kernel.org
Subject: Re: [PATCH v3] e2fsck: check for consistent encryption policies
Date: Wed, 4 Sep 2019 08:55:25 -0700 [thread overview]
Message-ID: <20190904155524.GA41757@gmail.com> (raw)
In-Reply-To: <20190823162339.186643-1-ebiggers@kernel.org>
On Fri, Aug 23, 2019 at 09:23:39AM -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>
>
> By design, the kernel enforces that all files in an encrypted directory
> use the same encryption policy as the directory. It's not possible to
> violate this constraint using syscalls. Lookups of files that violate
> this constraint also fail, in case the disk was manipulated.
>
> But this constraint can also be violated by accidental filesystem
> corruption. E.g., a power cut when using ext4 without a journal might
> leave new files without the encryption bit and/or xattr. Thus, it's
> important that e2fsck correct this condition.
>
> Therefore, this patch makes the following changes to e2fsck:
>
> - During pass 1 (inode table scan), create a map from inode number to
> encryption policy for all encrypted inodes. But it's optimized so
> that the full xattrs aren't saved but rather only 32-bit "policy IDs",
> since usually many inodes share the same encryption policy. Also, if
> an encryption xattr is missing, offer to clear the encrypt flag. If
> an encryption xattr is clearly corrupt, offer to clear the inode.
>
> - During pass 2 (directory structure check), use the map to verify that
> all regular files, directories, and symlinks in encrypted directories
> use the directory's encryption policy. Offer to clear any directory
> entries for which this isn't the case.
>
> Add a new test "f_bad_encryption" to test the new behavior.
>
> Due to the new checks, it was also necessary to update the existing test
> "f_short_encrypted_dirent" to add an encryption xattr to the test file,
> since it was missing one before, which is now considered invalid.
>
Any comments on this patch?
- Eric
next prev parent reply other threads:[~2019-09-04 15:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-23 16:23 [PATCH v3] e2fsck: check for consistent encryption policies Eric Biggers
2019-09-04 15:55 ` Eric Biggers [this message]
2019-09-07 4:23 ` Andreas Dilger
2019-09-07 10:06 ` Theodore Y. Ts'o
2019-09-09 17:34 ` Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190904155524.GA41757@gmail.com \
--to=ebiggers@kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.