bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new version of glibc xattr patch


From: Roland McGrath
Subject: Re: new version of glibc xattr patch
Date: Mon, 20 Feb 2006 14:15:48 -0800 (PST)

Thanks for looking at this.  I've committed the code on the glibc trunk
now.  If there are further problems please file a glibc bugzilla report
in the "hurd" componenet.

> When getxattr gets called with VALUE as NULL and *SIZE as 0 (to
> determine the length of the xattr value), SIZE will be smaller than
> BUFSZ and subsequently the callee gets 0 returned and believes no xattrs
> are present.
> 
> We propose this instead:
> 
>       if (value != NULL && bufsz > *size)
>         return ERANGE;
>       *size = bufsz;

That fix leaks in the ERANGE case.  I did a different fix.
Please verify it.

> As was pointed out before, those should return 0 on success, and not
> SIZE.

Fixed.  

> Our tests seemed to have shown that most (all?) passive translators do
> not have the S_IPTRANS stat bit set, thus not reporting the
> gnu.translator xattr through listxattr.  Are we missing something here?

I doubt this is true.  If it is, it's a server-side bug.  Note that
S_IPTRANS and the gnu.translator xattr are found on nodes opened with
O_NOTRANS.  They will more or less never be seen by the file name-based
calls, only by f*xattr on an fd opened using O_NOTRANS.  


Thanks,
Roland





reply via email to

[Prev in Thread] Current Thread [Next in Thread]