[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191226161022.53490-1-ebiggers@kernel.org>
Date: Thu, 26 Dec 2019 10:10:22 -0600
From: Eric Biggers <ebiggers@...nel.org>
To: linux-ext4@...r.kernel.org
Cc: linux-fscrypt@...r.kernel.org
Subject: [PATCH] ext4: only use fscrypt_zeroout_range() on regular files
From: Eric Biggers <ebiggers@...gle.com>
fscrypt_zeroout_range() is only for encrypted regular files, not for
encrypted directories or symlinks.
Fortunately, currently it seems it's never called on non-regular files.
But to be safe ext4 should explicitly check S_ISREG() before calling it.
Signed-off-by: Eric Biggers <ebiggers@...gle.com>
---
fs/ext4/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index b8f8afd2e8b2..6586b29e9f2f 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -402,7 +402,7 @@ int ext4_issue_zeroout(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk,
{
int ret;
- if (IS_ENCRYPTED(inode))
+ if (IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode))
return fscrypt_zeroout_range(inode, lblk, pblk, len);
ret = sb_issue_zeroout(inode->i_sb, pblk, len, GFP_NOFS);
--
2.24.1
Powered by blists - more mailing lists