[PATCH 5/9] cifs: Check if server supports EAs before trying to set it for WSL
From: Pali Rohár
Date: Tue Aug 25 2026 - 19:09:21 EST
WSL special files store information into EAs. When EAs are not supported
on the server filesystem then fast fail in mknod_wsl() function.
Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
---
fs/smb/client/reparse.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/smb/client/reparse.c b/fs/smb/client/reparse.c
index 233a445ba811..0829f5373a38 100644
--- a/fs/smb/client/reparse.c
+++ b/fs/smb/client/reparse.c
@@ -683,6 +683,13 @@ static int mknod_wsl(unsigned int xid, struct inode *inode,
struct kvec reparse_iov, xattr_iov;
int rc;
+ /*
+ * WSL special files store information into EAs. When EAs are not
+ * supported on the server filesystem then fast fail.
+ */
+ if (!(le32_to_cpu(tcon->fsAttrInfo.Attributes) & FILE_SUPPORTS_EXTENDED_ATTRIBUTES))
+ return -EOPNOTSUPP;
+
rc = wsl_set_reparse_buf(&buf, mode, symname, cifs_sb, &reparse_iov);
if (rc)
return rc;
--
2.20.1