Bug #14229
closedsecflags_dts relies on compiler defaults
100%
Description
I recently started seeing failures of the secflags_dts tests in os-tests. This happened to not be because we have broken the system, but rather the test. It grabs a lot of libraries in /usr/lib and then tries to use them to create needed entries as part of the secflags. It tries to grab libraries by default from /urs/lib/
by default; however, it doesn't specify -m32
to ensure that a 32-bit binary is generated. This results in potentially finding 32-bit libraries that don't have a corresponding 64-bit variant when the compiler default is -m64
.
The simple solution is to make sure we always specify -m32
and -m64
. While here, I've caused the test to build both a 32-bit and 64-bit version to make sure we get both covered.
Updated by Robert Mustacchi almost 2 years ago
To test this, I ran this test on its own and then as part of the broader os-tests:
rm@beowulf:~$ /opt/os-tests/tests/secflags/secflags_dts rm@beowulf:~$ echo $? 0 rm@beowulf:~$ pfexec /opt/os-tests/bin/ostest Test: /opt/os-tests/tests/clock_gettime.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/clock_gettime.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/eventfd.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/eventfd.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/imc_test (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/odirectory.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/odirectory.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/writev.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/writev.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/cores/core_prereqs (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/cores/coretests (run as root) [00:03] [PASS] Test: /opt/os-tests/tests/ddi_ufm/ufm-test-setup (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ddi_ufm/ufm-test (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ddi_ufm/ufm-test-cleanup (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/file-locking/runtests.32 (run as root) [00:21] [PASS] Test: /opt/os-tests/tests/file-locking/runtests.64 (run as root) [00:21] [PASS] Test: /opt/os-tests/tests/i386/ldt (run as root) [00:06] [PASS] Test: /opt/os-tests/tests/i386/badseg (run as root) [00:05] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_init (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_basic.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_basic.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_err.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_err.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/ksensor/ksensor_fini (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/libtopo/digraph-test (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/pf_key/acquire-compare (run as root) [00:43] [PASS] Test: /opt/os-tests/tests/pf_key/kmc-update (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sdevfs/sdevfs_eisdir (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_aslr (run as root) [00:02] [PASS] Test: /opt/os-tests/tests/secflags/secflags_core (run as root) [00:01] [PASS] Test: /opt/os-tests/tests/secflags/secflags_dts (run as root) [00:11] [PASS] Test: /opt/os-tests/tests/secflags/secflags_elfdump (run as root) [00:01] [PASS] Test: /opt/os-tests/tests/secflags/secflags_forbidnullmap (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_limits (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_noexecstack (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_proc (run as root) [00:01] [PASS] Test: /opt/os-tests/tests/secflags/secflags_psecflags (run as root) [00:11] [PASS] Test: /opt/os-tests/tests/secflags/secflags_syscall (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_truss (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/secflags/secflags_zonecfg (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sigqueue/sigqueue_queue_size (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sockfs/conn (run as root) [00:05] [PASS] Test: /opt/os-tests/tests/sockfs/dgram (run as root) [00:05] [PASS] Test: /opt/os-tests/tests/sockfs/drop_priv (run as root) [00:07] [PASS] Test: /opt/os-tests/tests/sockfs/nosignal (run as root) [00:02] [PASS] Test: /opt/os-tests/tests/sockfs/rights.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sockfs/rights.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sockfs/sockpair (run as root) [00:10] [PASS] Test: /opt/os-tests/tests/sockfs/recvmsg.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/sockfs/recvmsg.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/stackalign/stackalign.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/stackalign/stackalign.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/stress/dladm-kstat (run as root) [00:20] [PASS] Test: /opt/os-tests/tests/syscall/open.32 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/syscall/open.64 (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/timer/timer_limit (run as root) [00:00] [PASS] Test: /opt/os-tests/tests/uccid/atrparse (run as root) [00:00] [PASS] Results Summary PASS 57 Running Time: 00:02:59 Percent passed: 100.0% Log directory: /var/tmp/test_results/20211123T021225
Updated by Electric Monk almost 2 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 0554d5ecd11d9644cbb915be31b5a0b7abb40122
commit 0554d5ecd11d9644cbb915be31b5a0b7abb40122 Author: Robert Mustacchi <rm@fingolfin.org> Date: 2021-11-23T04:55:53.000Z 14229 secflags_dts relies on compiler defaults Reviewed by: Rich Lowe <richlowe@richlowe.net> Reviewed by: Andy Fiddaman <andy@omnios.org> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Dan McDonald <danmcd@joyent.com>