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(a)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