
On 06/09/2014 05:36 AM, Jincheng Miao wrote:
libvirt unit test used setxattr with "user.libvirt.selinux" name to emulate setfilecon of selinux. But for some old kernel filesystem (like 2.6.32-431.el6.x86_64), if the filesystem is not mounted with user_xattr flag, the setxattr with "user.libvirt.selinux" will fail.
So adding testUserXattrEnabled() in securityselinuxlabeltest.c, if user_xattr is not enabled, skip this case.
The user_xattr is departed in newer kernel, therefore this commit is only for the compatablity for old kernel.
Signed-off-by: Jincheng Miao <jmiao@redhat.com> --- tests/securityselinuxlabeltest.c | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-)
Tested here: https://www.redhat.com/archives/libvir-list/2014-June/msg01387.html ACK and pushed, with a tweak:
+static int +testUserXattrEnabled(void)
This is a tri-state return (< 0 for error, 0 for unsupported, 1 for enabled)...
@@ -322,6 +352,9 @@ mymain(void) { int ret = 0;
+ if (!testUserXattrEnabled()) + return EXIT_AM_SKIP;
...but this was a binary check. Really, it should fail the test on -1, rather than blindly proceeding on. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org