--- lib/replace/xattr.c.orig 2013-06-13 11:21:02.000000000 +0200 +++ lib/replace/xattr.c 2013-11-04 00:31:14.238191226 +0100 @@ -215,8 +215,15 @@ static ssize_t bsd_attr_list (int type, return -1; } /* Some error happend. Errno should be set by the previous call */ - if(list_size < 0) + if(list_size < 0) { + /* FreeBSD allows only root user to list system namespace. + Ignore permission denied in this case. If error + happens on user namespace too, the file might be + unreadable for the caller and we return the error */ + if (extattr[t].space == EXTATTR_NAMESPACE_SYSTEM && errno == EPERM) + continue; return -1; + } /* No attributes */ if(list_size == 0) continue;