Re: Fixed strace [ was Re: ls -l is broken ]
On Mon, Aug 04, 2008 at 03:39:57PM -0400, John David Anglin wrote:
> > On Sun, Apr 06, 2008 at 07:09:59PM -0400, John David Anglin wrote:
> > > > If you strace it, what syscall returns -EOPNOTSUPP?
> > >
> > > strace is broken and quits before the relevant syscall. Think I
> > > mentioned this before is a different context.
> > >
> > Fixed & updated strace available at
> > http://people.debian.org/~kyle/strace/
> lgetxattr("strace_4.5.16-1_hppa.deb", "security.selinux"..., 0x2c768, 255) = -1 EOPNOTSUPP
> (Operation not supported)
> This is probably the correct return but the manpage for lgetxattr says
> it should return ENOTSUP. Possibly, the problem occurs on hppa because
> ENOTSUP and EOPNOTSUPP are different codes. In any case, the current
> version of ls only checks for ENOTSUP.
Ah, it's wrong.
ls.c should be checking for -EOPNOTSUP, which is the only thing any of
the kernel codepaths return for failing xattr calls. You're correct in
diagnosing that this is only problematic on parisc, because we're the
only folks who use a different value for EOPNOTSUP and ENOTSUP.