Reviewed-by: Sage Weil <sage@xxxxxxxxxxxx> On Tue, 28 Feb 2012, Alex Elder wrote: > For some reason, ceph_setxattr() allocates an extra byte in which a > '\0' is stored past the end of an extended attribute value. This is > not needed, and is potentially misleading, so get rid of it. > > Signed-off-by: Alex Elder <elder@xxxxxxxxxxxxx> > --- > fs/ceph/xattr.c | 4 +--- > 1 files changed, 1 insertions(+), 3 deletions(-) > > diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c > index 9e6734e..b98b91d 100644 > --- a/fs/ceph/xattr.c > +++ b/fs/ceph/xattr.c > @@ -730,11 +730,9 @@ int ceph_setxattr(struct dentry *dentry, const char > *name, > goto out; > > if (val_len) { > - newval = kmalloc(val_len + 1, GFP_NOFS); > + newval = kmemdup(value, val_len, GFP_NOFS); > if (!newval) > goto out; > - memcpy(newval, value, val_len); > - newval[val_len] = '\0'; > } > > xattr = kmalloc(sizeof(struct ceph_inode_xattr), GFP_NOFS); > -- > 1.7.5.4 > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html