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@kernel.org>
---
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 faf208bef926..ee4af153e7af 100644
--- a/fs/smb/client/reparse.c
+++ b/fs/smb/client/reparse.c
@@ -665,6 +665,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