[PATCH 1/2] afs: Fix warning due to unadvanced marshalling pointer

David Howells dhowells at redhat.com
Tue Nov 3 11:32:58 EST 2020


When using the afs.yfs.acl xattr to change an AuriStor ACL, a warning can
be generated when the request is marshalled because the buffer pointer
isn't increased after adding the last element, thereby triggering the check
at the end if the ACL wasn't empty.  This just causes something like the
following warning, but doesn't stop the call from happening successfully:

    kAFS: YFS.StoreOpaqueACL2: Request buffer underflow (36<108)

Fix this simply by increasing the count prior to the check.

Fixes: f5e4546347bc ("afs: Implement YFS ACL setting")
Signed-off-by: David Howells <dhowells at redhat.com>
---

 fs/afs/yfsclient.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c
index 3b1239b7e90d..bd787e71a657 100644
--- a/fs/afs/yfsclient.c
+++ b/fs/afs/yfsclient.c
@@ -1990,6 +1990,7 @@ void yfs_fs_store_opaque_acl2(struct afs_operation *op)
 	memcpy(bp, acl->data, acl->size);
 	if (acl->size != size)
 		memset((void *)bp + acl->size, 0, size - acl->size);
+	bp += size / sizeof(__be32);
 	yfs_check_req(call, bp);
 
 	trace_afs_make_fs_call(call, &vp->fid);





More information about the linux-afs mailing list