浏览代码

ubifs: Fix xattr generic handler usage

UBIFS uses full names to work with xattrs, therefore we have to use
xattr_full_name() to obtain the xattr prefix as string.

Cc: <stable@vger.kernel.org>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Fixes: 2b88fc21ca ("ubifs: Switch to generic xattr handlers")
Signed-off-by: Richard Weinberger <richard@nod.at>
Reviewed-by: Andreas Gruenbacher <agruenba@redhat.com>
Tested-by: Dongsheng Yang <dongsheng081251@gmail.com>
Richard Weinberger 9 年之前
父节点
当前提交
17ce1eb0b6
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      fs/ubifs/xattr.c

+ 4 - 1
fs/ubifs/xattr.c

@@ -575,7 +575,8 @@ static int ubifs_xattr_get(const struct xattr_handler *handler,
 	dbg_gen("xattr '%s', ino %lu ('%pd'), buf size %zd", name,
 	dbg_gen("xattr '%s', ino %lu ('%pd'), buf size %zd", name,
 		inode->i_ino, dentry, size);
 		inode->i_ino, dentry, size);
 
 
-	return  __ubifs_getxattr(inode, name, buffer, size);
+	name = xattr_full_name(handler, name);
+	return __ubifs_getxattr(inode, name, buffer, size);
 }
 }
 
 
 static int ubifs_xattr_set(const struct xattr_handler *handler,
 static int ubifs_xattr_set(const struct xattr_handler *handler,
@@ -586,6 +587,8 @@ static int ubifs_xattr_set(const struct xattr_handler *handler,
 	dbg_gen("xattr '%s', host ino %lu ('%pd'), size %zd",
 	dbg_gen("xattr '%s', host ino %lu ('%pd'), size %zd",
 		name, inode->i_ino, dentry, size);
 		name, inode->i_ino, dentry, size);
 
 
+	name = xattr_full_name(handler, name);
+
 	if (value)
 	if (value)
 		return __ubifs_setxattr(inode, name, value, size, flags);
 		return __ubifs_setxattr(inode, name, value, size, flags);
 	else
 	else