From e201588fad54f7b4b5fc4a1b0f4a249223362a3f Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 3 Nov 2020 16:32:58 +0000 Subject: [PATCH] afs: Fix warning due to unadvanced marshalling pointer [ Upstream commit c80afa1d9c3603d5eddeb8d63368823b1982f3f0 ] 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 Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- fs/afs/yfsclient.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c index d21cf61d86b9..3b19b009452a 100644 --- a/fs/afs/yfsclient.c +++ b/fs/afs/yfsclient.c @@ -2162,6 +2162,7 @@ int yfs_fs_store_opaque_acl2(struct afs_fs_cursor *fc, const struct afs_acl *acl 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, &vnode->fid);