From eb9dd12d0ed77aae427f7c348fd3cd1ab153ed9c Mon Sep 17 00:00:00 2001 From: Misono Tomohiro Date: Mon, 2 Apr 2018 10:59:31 +0900 Subject: btrfs-progs: mkfs rootdir: use lgetxattr() not to follow a symbolic link mkfs-test 016 "rootdir-bad-symbolic-link" fails when selinux is enabled. This is because add_xattr_item() uses getxattr() and tries to follow a bad symbolic link for selinux item, which causes ENOENT error. The line above already uses llistxattr() for getting list of xattr in order not to follow a symbolic link, so just use lgetxattr() too. Signed-off-by: Tomohiro Misono Reviewed-by: Qu Wenruo Signed-off-by: David Sterba --- mkfs/rootdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkfs/rootdir.c b/mkfs/rootdir.c index 33c3ff1e..ff00bb0f 100644 --- a/mkfs/rootdir.c +++ b/mkfs/rootdir.c @@ -249,7 +249,7 @@ static int add_xattr_item(struct btrfs_trans_handle *trans, cur_name_len = strlen(cur_name); next_location += cur_name_len + 1; - ret = getxattr(file_name, cur_name, cur_value, XATTR_SIZE_MAX); + ret = lgetxattr(file_name, cur_name, cur_value, XATTR_SIZE_MAX); if (ret < 0) { if (errno == ENOTSUP) return 0; -- cgit v1.2.3