Re: [PATCH V4 0/1] selinux-testsuite: Add filesystem tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2020-01-14 at 08:30 -0500, Stephen Smalley wrote:
> On 1/14/20 7:28 AM, Richard Haines wrote:
> > These tests should cover all the areas in selinux/hooks.c that
> > touch
> > the 'filesystem' class. Each hooks.c function is listed in the
> > 'test'
> > script as there are some permissions that are checked in multiple
> > places.
> > 
> > Tested on Fedora 31 and Rawhide (5.5 for the new watch perm).
> > 
> > V4 Changes:
> > 1) Test non-name based type transition rule.
> > 2) Test two different name-based type transition rules that only
> > differ
> >     in name.
> 
> Sorry, I guess my wording was confusing.  What I meant was that the 
> inputs to the two name-based type transition rules were identical
> except 
> for the name, but you would want them to have different
> output/result 
> types so that you can tell whether it actually distinguished them.

So would this be ok as policy rules:

type_transition test_filesystem_t test_filesystem_t:file
test_filesystem_filenametranscon1_t "name_trans_test_file1";
type_transition test_filesystem_t test_filesystem_t:file
test_filesystem_filenametranscon2_t "name_trans_test_file2";


> 
> > 3) Creating ext4 filesystems with inodes > 128 bytes using -I 256.
> > 4) Use kernel_setsched() macro.
> > 
> > V3 Changes:
> > 1) Lots of minor updates.
> > 2) Add 'udevadm settle' as suggested by Ondrej to resolve udisks(8)
> > issue.
> > 3) Add stopping udisks(8) daemon as a '-d' option.
> > 4) Add file quotaon test.
> > 5) Add test for name type_transition rule.
> > 6) Fix setfscreatecon(3) test to create a directory and check
> > context.
> > 7) Use kernel_dontaudit_setsched() as explained in [1].
> > 
> > [1] 
> > https://lore.kernel.org/selinux/f863a91987c1926a4351f3edf968c9003197fead.camel@xxxxxxxxxxxxxx/
> > 
> > V2 Changes:
> > 1) If udisks(8) daemon is running, stop then restart after tests.
> > The tests
> >     run faster and stops the annoying habit of adding mounts to the
> > 'files'
> >     app on the desktop. Supports /usr/bin/systemctl or
> > /usr/sbin/service
> >     More importantly it stops interferance with the '*context='
> > tests as it
> >     can cause intermittent failures. Tested by running 'test' in a
> > continuous
> >     loop with udisks enabled, and then again disabled.
> >     Loop 200 times, with udisks failed between 1 to 70 iterations,
> > without
> >     udisks, no failures.
> > 2) Add "#define QFMT_VFS_V0 2" to quotas_test.c to fix a
> > RHEL/CentOS 7 and
> >     below build issue.
> > 3) Build new file context based on the original in
> >     create_file_change_context.c
> > 4) Use "runcon `id -Z` quotacheck ..." to resolve RHEL-6 test run
> > issue.
> > 5) Fix free() contexts in create_file_change_context.c and
> >     check_mount_context.c
> > 
> > To test fanotify fs watch perm on 5.5+:
> > 1) Build the testsuite policy first:
> > make -C policy load
> > 
> > 2) Add the following CIL statements to watch.cil and install:
> > semodule -i watch.cil
> > 
> > (common filesystem (watch))
> > (classcommon filesystem filesystem)
> > (allow test_filesystem_t self(filesystem (watch)))
> > ; Until 'fs_watch_all_fs(test_filesystem_t)' in Policy use:
> > (allow test_filesystem_t fs_t (filesystem (watch)))
> > ; Required if notify policy enabled
> > ;(allow test_filesystem_t self (dir (watch_sb)))
> > 
> > 3) Edit /usr/share/selinux/devel/include/support/all_perms.spt
> >     and insert the 'watch' permission at:
> > 
> > define(`all_filesystem_perms',`{ mount remount ..... watch }')
> > 
> > Richard Haines (1):
> >    selinux-testsuite: Add filesystem tests
> > 
> >   defconfig                                     |   6 +
> >   policy/Makefile                               |   4 +
> >   policy/test_filesystem.te                     | 356 +++++++
> >   tests/Makefile                                |   7 +
> >   tests/filesystem/.gitignore                   |  11 +
> >   tests/filesystem/Makefile                     |  16 +
> >   tests/filesystem/check_file_context.c         |  75 ++
> >   tests/filesystem/check_mount_context.c        | 127 +++
> >   tests/filesystem/create_file.c                | 117 +++
> >   tests/filesystem/create_file_change_context.c | 146 +++
> >   tests/filesystem/fanotify_fs.c                |  79 ++
> >   tests/filesystem/fs_relabel.c                 | 138 +++
> >   tests/filesystem/grim_reaper.c                |  89 ++
> >   tests/filesystem/mount.c                      | 130 +++
> >   tests/filesystem/quotas_test.c                | 143 +++
> >   tests/filesystem/statfs_test.c                |  65 ++
> >   tests/filesystem/test                         | 941
> > ++++++++++++++++++
> >   tests/filesystem/umount.c                     |  84 ++
> >   18 files changed, 2534 insertions(+)
> >   create mode 100644 policy/test_filesystem.te
> >   create mode 100644 tests/filesystem/.gitignore
> >   create mode 100644 tests/filesystem/Makefile
> >   create mode 100644 tests/filesystem/check_file_context.c
> >   create mode 100644 tests/filesystem/check_mount_context.c
> >   create mode 100644 tests/filesystem/create_file.c
> >   create mode 100644 tests/filesystem/create_file_change_context.c
> >   create mode 100644 tests/filesystem/fanotify_fs.c
> >   create mode 100644 tests/filesystem/fs_relabel.c
> >   create mode 100644 tests/filesystem/grim_reaper.c
> >   create mode 100644 tests/filesystem/mount.c
> >   create mode 100644 tests/filesystem/quotas_test.c
> >   create mode 100644 tests/filesystem/statfs_test.c
> >   create mode 100755 tests/filesystem/test
> >   create mode 100644 tests/filesystem/umount.c
> > 




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux