aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2024-01-08 14:26:29 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2024-01-08 14:26:29 +1100
commiteff3de4cb65caf92803e2ddb2fe02f607f191078 (patch)
treea5c0639f3cd284bbd34bdf0c5cdc9bea88f575dc
parent6883e005f52d0977c2fe2394e9e12770bfbc2aea (diff)
parent807f06d1074d5f39124dcc7ec3fa251983d3d4fd (diff)
downloadlinux-next-eff3de4cb65caf92803e2ddb2fe02f607f191078.tar.gz
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode.git
-rw-r--r--fs/ecryptfs/inode.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
index d2f7b799b2200b..5ed1e4cf6c0b4e 100644
--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -78,6 +78,14 @@ static struct inode *__ecryptfs_get_inode(struct inode *lower_inode,
if (lower_inode->i_sb != ecryptfs_superblock_to_lower(sb))
return ERR_PTR(-EXDEV);
+
+ /* Reject dealing with casefold directories. */
+ if (IS_CASEFOLDED(lower_inode)) {
+ pr_err_ratelimited("%s: Can't handle casefolded directory.\n",
+ __func__);
+ return ERR_PTR(-EREMOTE);
+ }
+
if (!igrab(lower_inode))
return ERR_PTR(-ESTALE);
inode = iget5_locked(sb, (unsigned long)lower_inode,