From a73258681279bceb4e9210d86204bae14d3ea795 Mon Sep 17 00:00:00 2001 From: Hyunchul Lee Date: Thu, 12 Mar 2026 08:36:24 +0900 Subject: [PATCH] ntfs: fix WSL ea restore condition Use NTFS_VOL_GID(not NTFS_VOL_UID) for restoring the gid, and call ntfs_ea_get_wsl_inode() only when $EA_INFORMATION exists. Signed-off-by: Hyunchul Lee Signed-off-by: Namjae Jeon --- fs/ntfs/ea.c | 2 +- fs/ntfs/inode.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/ntfs/ea.c b/fs/ntfs/ea.c index 5b108d0ccec7..386eb0c5f303 100644 --- a/fs/ntfs/ea.c +++ b/fs/ntfs/ea.c @@ -368,7 +368,7 @@ int ntfs_ea_get_wsl_inode(struct inode *inode, dev_t *rdevp, unsigned int flags) i_uid_write(inode, le32_to_cpu(v)); } - if (!(flags & NTFS_VOL_UID)) { + if (!(flags & NTFS_VOL_GID)) { /* Load gid to lxgid EA */ err = ntfs_get_ea(inode, "$LXGID", sizeof("$LXGID") - 1, &v, sizeof(v)); diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 43d7ecc14c15..7547174a99ae 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -865,10 +865,10 @@ static int ntfs_read_locked_inode(struct inode *vi) } skip_attr_list_load: err = ntfs_attr_lookup(AT_EA_INFORMATION, NULL, 0, 0, 0, NULL, 0, ctx); - if (!err) + if (!err) { NInoSetHasEA(ni); - - ntfs_ea_get_wsl_inode(vi, &dev, flags); + ntfs_ea_get_wsl_inode(vi, &dev, flags); + } if (m->flags & MFT_RECORD_IS_DIRECTORY) { vi->i_mode |= S_IFDIR;