summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/fusefrontend/xattr.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/internal/fusefrontend/xattr.go b/internal/fusefrontend/xattr.go
index 03e127f..1d628b7 100644
--- a/internal/fusefrontend/xattr.go
+++ b/internal/fusefrontend/xattr.go
@@ -31,6 +31,11 @@ func (fs *FS) GetXAttr(path string, attr string, context *fuse.Context) ([]byte,
if fs.isFiltered(path) {
return nil, fuse.EPERM
}
+ if !strings.HasPrefix(attr, xattrUserPrefix) {
+ // "ls -l" queries security.selinux, system.posix_acl_access, system.posix_acl_default
+ // and throws error messages if it gets something else than ENODATA.
+ return nil, fuse.ENODATA
+ }
cAttr, err := fs.encryptXattrName(attr)
if err != nil {
return nil, fuse.ToStatus(err)