adjust suspicious memset in nfsacl_encode()
Subsystems (2)
PATCH 1/1 adjust suspicious memset in nfsacl_encode()
commit f61f6da0d53842e849bab7f69e1431bd3de1136d "NFS: Prevent memory allocation failure in nfsacl_encode()" added a memset whose length was the size of the pointer. Change this to the size of the pointed struct that is later passed to posix_acl_init(). The 4 entries that are the remainder of the parent struct will be set and therefore should not need zeroing.
Alternatively we could remove the memset as posix_acl_init sets all fields with storage in struct posix_acl and we won't reference any implicit padding.
Signed-off-by Milton Miller <[email protected]>
---
While I was reviewing changes merged post rc2 I saw this suspicious memset.
fs/nfs_common/nfsacl.c +1 -1
@@ -117,7 +117,7 @@ int nfsacl_encode(struct xdr_buf *buf, unsigned int base, struct inode *inode,* invoked in contexts where a memory allocation failure is * fatal. Fortunately this fake ACL is small enough to * construct on the stack. */ -memset (acl2,0 ,sizeof (acl2)); +memset (acl2,0 ,sizeof (*acl2));posix_acl_init (acl2,4 );/* Insert entries in canonical order: other orders seem