linux(4): Return ENOTSUP from listxattr instead of EPERM
FreeBSD does not permits manipulating extended attributes in the system
namespace by unprivileged accounts, even if account has appropriate
privileges to access filesystem object.
In Linux the system namespace is used to preserve posix acls. Some Gnu
coreutils binaries uses posix acls, eg, install, ls, cp. And fails if
we unexpectedly return EPERM error from xattr system calls.
In the other hands, in Linux read and write access to the system
namespace depend on the policy implemented for each filesystem, so we'll
mimics we're a filesystem that prohibits this for unpriveleged accounts.
Approved by: re (gjb)
Reported by: zirias
Tested by: zirias
MFC after: 1 week
(cherry picked from commit 11e37048db35d7fcfc285b867965de1aeefec2c8)
(cherry picked from commit e975d1b72507def7a699adf1cb38c68b48d80f51)