[lkml]   [2011]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] 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 <>
While I was reviewing changes merged post rc2 I saw this suspicious memset.

diff --git a/fs/nfs_common/nfsacl.c b/fs/nfs_common/nfsacl.c
index 84c27d6..bc6d81b 100644
--- a/fs/nfs_common/nfsacl.c
+++ b/fs/nfs_common/nfsacl.c
@@ -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

 \ /
  Last update: 2011-02-02 07:17    [W:0.021 / U:36.860 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site