unicode updates

Other than the update to MAINTAINERS, this PR has only a fix to stop
 ecryptfs from inadvertently mounting case-insensitive filesystems that
 it cannot handle, which would otherwise caused post-mount failures.  It
 has been on linux-next for the past month and a half.
 
 As a side note, the optimization to the case-insensitive comparison code
 that you suggested, and the negative dentry support are still on the
 list, and were postponed to the next release.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRIEdicmeMNCZKVCdo6u2Upsdk6RAUCZZxQsQAKCRA6u2Upsdk6
 RDNtAP9QkDintyPet5GhZKvgUDuNkduMbjDymDv9aELCdhz3FAEAprzJOanEXjOY
 JInwn3pvZIcpQzwFEJtDt1HZEZLF0Q0=
 =sHKn
 -----END PGP SIGNATURE-----

Merge tag 'unicode-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode

Pull unicode updates from Gabriel Krisman Bertazi:
 "Other than the update to MAINTAINERS, this PR has only a fix to stop
  ecryptfs from inadvertently mounting case-insensitive filesystems that
  it cannot handle, which would otherwise caused post-mount failures"

* tag 'unicode-next-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode:
  MAINTAINERS: update unicode maintainer e-mail address
  ecryptfs: Reject casefold directory inodes
This commit is contained in:
Linus Torvalds 2024-01-10 16:06:58 -08:00
commit 6bd593bc74
2 changed files with 9 additions and 1 deletions

View file

@ -22283,7 +22283,7 @@ F: drivers/usb/common/ulpi.c
F: include/linux/ulpi/
UNICODE SUBSYSTEM
M: Gabriel Krisman Bertazi <krisman@collabora.com>
M: Gabriel Krisman Bertazi <krisman@kernel.org>
L: linux-fsdevel@vger.kernel.org
S: Supported
F: fs/unicode/

View file

@ -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,