From: Eric Biggers <ebiggers@kernel.org>
To: hongjiefang <hongjiefang@asrmicro.com>
Cc: tytso@mit.edu, jaegeuk@kernel.org, linux-fscrypt@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH V2] fscrypt: don't set policy for a dead directory
Date: Thu, 9 May 2019 12:31:36 -0700 [thread overview]
Message-ID: <20190509193135.GB42815@gmail.com> (raw)
In-Reply-To: <1557307654-673-1-git-send-email-hongjiefang@asrmicro.com>
On Wed, May 08, 2019 at 05:27:34PM +0800, hongjiefang wrote:
> the directory maybe has been removed when enter fscrypt_ioctl_set_policy().
> it this case, the empty_dir() check will return error for ext4 file system.
>
> ext4_rmdir() sets i_size = 0, then ext4_empty_dir() reports an error
> because 'inode->i_size < EXT4_DIR_REC_LEN(1) + EXT4_DIR_REC_LEN(2)'.
> if the fs is mounted with errors=panic, it will trigger a panic issue.
>
> add the check IS_DEADDIR() to fix this problem.
>
> Fixes: 9bd8212f981e ("ext4 crypto: add encryption policy and password salt support")
> Cc: <stable@vger.kernel.org> # v4.1+
> Signed-off-by: hongjiefang <hongjiefang@asrmicro.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
FYI, the part of the Author and Signed-off-by lines outside the email address
should be your name properly formatted, not the email address again. I see the
following in another kernel commit from you; is it correct?
Hongjie Fang <hongjiefang@asrmicro.com>
If so, please set user.name accordingly in your .gitconfig. Thanks!
- Eric
> ---
> fs/crypto/policy.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c
> index bd7eaf9..a4eca6e 100644
> --- a/fs/crypto/policy.c
> +++ b/fs/crypto/policy.c
> @@ -81,6 +81,8 @@ int fscrypt_ioctl_set_policy(struct file *filp, const void __user *arg)
> if (ret == -ENODATA) {
> if (!S_ISDIR(inode->i_mode))
> ret = -ENOTDIR;
> + else if (IS_DEADDIR(inode))
> + ret = -ENOENT;
> else if (!inode->i_sb->s_cop->empty_dir(inode))
> ret = -ENOTEMPTY;
> else
> --
> 1.9.1
>
next prev parent reply other threads:[~2019-05-09 19:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-08 9:27 [PATCH V2] fscrypt: don't set policy for a dead directory hongjiefang
2019-05-08 9:27 ` hongjiefang
2019-05-08 15:56 ` Sasha Levin
2019-05-09 11:04 ` Fang Hongjie(方洪杰)
2019-05-09 19:22 ` Eric Biggers
2019-05-09 19:31 ` Eric Biggers [this message]
2019-05-10 1:54 ` Fang Hongjie(方洪杰)
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=20190509193135.GB42815@gmail.com \
--to=ebiggers@kernel.org \
--cc=hongjiefang@asrmicro.com \
--cc=jaegeuk@kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tytso@mit.edu \
/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.