diff mbox

Phantom ACL-related xattrs on 3.14.4 NFS client

Message ID 20140611162238.GA28340@infradead.org (mailing list archive)
State New, archived
Headers show

Commit Message

Christoph Hellwig June 11, 2014, 4:22 p.m. UTC
On Wed, Jun 11, 2014 at 09:15:18AM -0700, Philippe Troin wrote:
> So, the only regression remaining between 3.13.11 and 3.14.6 + your
> patch is the one where listxattr(2) and friends do not NUL-terminate the
> xattr names they return.  This is detailed in
> <1402435203.24047.9.camel@ceramic.home.fifi.org> I sent yesterday.

Oh, that's a bug in my patch.  The following incremental patch should
fix it:

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Philippe Troin June 17, 2014, 11:48 p.m. UTC | #1
Hi Christopher,

On Wed, 2014-06-11 at 09:22 -0700, Christoph Hellwig wrote:
> On Wed, Jun 11, 2014 at 09:15:18AM -0700, Philippe Troin wrote:
> > So, the only regression remaining between 3.13.11 and 3.14.6 + your
> > patch is the one where listxattr(2) and friends do not NUL-terminate the
> > xattr names they return.  This is detailed in
> > <1402435203.24047.9.camel@ceramic.home.fifi.org> I sent yesterday.
> 
> Oh, that's a bug in my patch.  The following incremental patch should
> fix it:
> 
> diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
> index e083827..8f854dd 100644
> --- a/fs/nfs/nfs3acl.c
> +++ b/fs/nfs/nfs3acl.c
> @@ -262,6 +262,7 @@ nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
>  	posix_acl_release(acl);
>  
>  	*result += strlen(name);
> +	*result += 1;
>  	if (!size)
>  		return 0;
>  	if (*result > size)


I'm belatedly confirming that both patches applied together in
<20140607140414.GA26534@infradead.org> and
<20140611162238.GA28340@infradead.org> fix the problem I was seeing with
NFSv3 client mounts on 3.6.14.x.

I've tried vanilla 3.6.14.6 + both patches and the regression is gone.
Remains the issue where on a NFSv3 client.

Phil.

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index e083827..8f854dd 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -262,6 +262,7 @@  nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
 	posix_acl_release(acl);
 
 	*result += strlen(name);
+	*result += 1;
 	if (!size)
 		return 0;
 	if (*result > size)