Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> writes: > The generic_{get,set,remove}xattr inode operations use the xattr name prefix to > decide which of the defined xattr handlers to call, then call the appropriate > handler's get or set operation. The name suffix is passed to the get or set > operations, the prefix is still "there" in the name before the suffix though. > There is no need to recompose the name in a temporary buffer. > > Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> > --- > fs/9p/xattr_security.c | 34 ++++------------------------------ > fs/9p/xattr_trusted.c | 34 ++++------------------------------ > fs/9p/xattr_user.c | 34 ++++------------------------------ > 3 files changed, 12 insertions(+), 90 deletions(-) > > diff --git a/fs/9p/xattr_security.c b/fs/9p/xattr_security.c > index cb247a1..2c9b394 100644 > --- a/fs/9p/xattr_security.c > +++ b/fs/9p/xattr_security.c > @@ -22,10 +22,7 @@ > static int v9fs_xattr_security_get(struct dentry *dentry, const char *name, > void *buffer, size_t size, int type) > { > - int retval; > - char *full_name; > - size_t name_len; > - size_t prefix_len = XATTR_SECURITY_PREFIX_LEN; > + const char *full_name = name - XATTR_SECURITY_PREFIX_LEN; > > if (name == NULL) > return -EINVAL; > @@ -33,26 +30,13 @@ static int v9fs_xattr_security_get(struct dentry *dentry, const char *name, > if (strcmp(name, "") == 0) > return -EINVAL; > > - name_len = strlen(name); > - full_name = kmalloc(prefix_len + name_len + 1 , GFP_KERNEL); > - if (!full_name) > - return -ENOMEM; > - memcpy(full_name, XATTR_SECURITY_PREFIX, prefix_len); > - memcpy(full_name+prefix_len, name, name_len); > - full_name[prefix_len + name_len] = '\0'; > - > - retval = v9fs_xattr_get(dentry, full_name, buffer, size); > - kfree(full_name); > - return retval; > + return v9fs_xattr_get(dentry, full_name, buffer, size); > } > I look strange, to expect that name argument passed to ->get() will have the full name details. In any case this need more documentation and a helper as Christoph suggested -aneesh -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html