Bug 2123220

Summary: [virtiofsd] some tests failed with selinux-testsuit while security-label is enabled
Product: Red Hat Enterprise Linux 9 Reporter: xiagao
Component: virtiofsdAssignee: German Maglione <gmaglione>
Status: CLOSED WORKSFORME QA Contact: xiagao
Severity: medium Docs Contact:
Priority: low    
Version: 9.1CC: coli, gmaglione, jinzhao, juzhang, kkiwi, kwolf, qizhu, slopezpa, vgoyal, virt-maint, xiagao, yfu
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2109178 Environment:
Last Closed: 2022-11-01 10:29:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2109178, 2111356    
Bug Blocks: 2101526    
Deadline: 2022-08-29   

Comment 1 xiagao 2022-11-01 10:29:03 UTC
I try it again with the latest virtiofsd and qemu-kvm build, the results are good.

Test env:
5.14.0-182.el9.x86_64(guest kernel)
5.14.0-178.el9.x86_64(host kernel)
virtiofsd-1.4.0-1.el9.x86_64
qemu-kvm-7.1.0-3.el9.x86_64

Detailed steps.
1. enable selinux on host and guest.
# getenforce
Enforcing

2. Git clone selinux testsuits.
# git clone https://github.com/rhvgoyal/selinux-testsuite.git

3. Checkout to virtiofs-support branch
# cd selinux-testsuite ; git checkout virtiofs-support

4. install related pkg.
# dnf install perl-Test perl-Test-Harness perl-Test-Simple perl-lib selinux-policy-devel gcc libselinux-devel net-tools netlabel_tools iptables lksctp-tools-devel attr libbpf-devel keyutils-libs-devel quota xfsprogs-devel libuuid-devel e2fsprogs jfsutils dosfstools nftables kernel-devel-$(uname -r) kernel-modules-$(uname -r) -y
# dnf install http://download.eng.bos.redhat.com/brewroot/vol/rhel-9/packages/jfsutils/1.1.15/18.el9.1/x86_64/jfsutils-1.1.15-18.el9.1.x86_64.rpm -y

5. run "make test" in top level dir of selinux-testsuite and let it finish. 
# make test
......
extended_socket_class/test .. 1/16 # Test 5 got: "256" (extended_socket_class/test at line 42)
#   Expected: "0"
#  extended_socket_class/test line 42 is: ok( $result, 0 );
# Test 7 got: "256" (extended_socket_class/test at line 54)
#   Expected: "0"
#  extended_socket_class/test line 54 is: ok( $result, 0 );
# Test 9 got: "256" (extended_socket_class/test at line 66)
#   Expected: "0"
#  extended_socket_class/test line 66 is: ok( $result, 0 );
# Test 11 got: "256" (extended_socket_class/test at line 78)
#    Expected: "0"
#  extended_socket_class/test line 78 is: ok( $result, 0 );
extended_socket_class/test .. Failed 4/16 subtests 

Test Summary Report
-------------------
extended_socket_class/test (Wstat: 0 Tests: 16 Failed: 4)
  Failed tests:  5, 7, 9, 11
Files=71, Tests=1074, 80 wallclock secs ( 0.66 usr  0.16 sys + 10.78 cusr 19.00 csys = 30.60 CPU)
Result: FAIL
Failed 1/71 test programs. 4/1074 subtests failed.
make[1]: *** [Makefile:172: test] Error 255
make[1]: Leaving directory '/home/selinux-testsuite/tests'
make: *** [Makefile:8: test] Error 2

6. change dir to fs/filesystems and run virtiofs speocfic tests.
# cd tests/filesystem/ ; ./test -f virtiofs -t myfs -v |grep ok
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
ok 53
ok 54
ok 55
ok 56
ok 57
ok 58
ok 59
ok 60
ok 61
ok 62
ok 63

So there is no issue right now, I will close it.