Re: [PATCH V2 0/2] selinux-testsuite: Add fs*(2) API filesystem tests

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

 



On Mon, 2020-01-27 at 12:46 -0500, Stephen Smalley wrote:
> On 1/27/20 4:32 AM, Richard Haines wrote:
> > These patches update the current tests/filesystem to share code
> > (patch 1)
> > with the fs*(2) API filesystem tests (patch 2).
> > 
> > V2 Changes:
> > 1) If kernel patch [1] installed move_mount test for denying
> > FILE__MOUNTON
> >     should pass. If not installed, display 'Failed as kernel 5.x
> > without
> >     "selinux: fix regression introduced by move_mount(2) syscall"
> > patch'
> >     (as there is a regression that should be fixed).
> >     Note: Kernels 5.2 - 5.5 will fail unless [1] backported. 5.6 is
> > expected
> >     to have [1].
> > 2) Move policy changes to patch 2.
> 
> These look ok to me; we'll see if anyone else objects to the error
> message.
> 
> One other item that occurred to me is that most of the current 
> filesystem and fs_filesystem tests are only exercising ext4
> regardless 
> of the native filesystem in which you run the testsuite (e.g. if I
> run 
> it on a labeled NFS mount most of the tests end up running in the
> ext4 
> filesystem that is created and mounted rather than on labeled NFS 
> itself, and likewise if I run it on xfs or btrfs or ...).  For tests 
> where it does not matter (e.g. the type_transition tests) it might
> be 
> better to run those on the host/native filesystem directly so we can 
> more readily reuse those tests.  Obviously the mount tests
> themselves 
> require some other filesystem besides the one in which the testsuite 
> itself resides.  Don't know if people may want to make it easier to 
> substitute or add additional filesystem types for testing; you
> already 
> provide a fs_type variable in the test script but that requires
> patching 
> the script and still only supports testing one filesystem type at a
> time.

I'll do some work on making the tests use the native filesystem and add
an option to select a different one.
I quess I could add a list of fs to run against from relevant
proc/filesystems entries? (or something else)

I had a go with xfs and found Fedora is configured by default to use
the xfs quota system, however that does not call security hooks
security_quota_on or security_quotactl so not worth testing, otherwise
apart from increasing the block size seems okay.

I also have another patch ready as I noticed that I missed these:
hooks.c selinux_path_notify() FILE__WATCH_SB
hooks.c selinux_path_notify() FILE__WATCH_MOUNT

> 
> > [1] 
> > https://lore.kernel.org/selinux/20200117202407.12344-1-sds@xxxxxxxxxxxxx
> > 
> > Richard Haines (2):
> >    selinux-testsuite: Prepare for adding fs*(2) API tests
> >    selinux-testsuite: Add fs*(2) API filesystem tests
> > 
> >   policy/test_filesystem.te        |  18 +-
> >   tests/Makefile                   |   6 +
> >   tests/filesystem/Filesystem.pm   | 166 ++++++
> >   tests/filesystem/test            | 219 ++------
> >   tests/fs_filesystem/.gitignore   |   3 +
> >   tests/fs_filesystem/Makefile     |  16 +
> >   tests/fs_filesystem/fs_common.c  | 110 ++++
> >   tests/fs_filesystem/fs_common.h  |  30 ++
> >   tests/fs_filesystem/fsmount.c    |  89 ++++
> >   tests/fs_filesystem/fspick.c     |  68 +++
> >   tests/fs_filesystem/move_mount.c |  76 +++
> >   tests/fs_filesystem/test         | 835
> > +++++++++++++++++++++++++++++++
> >   tools/check-syntax               |   2 +-
> >   13 files changed, 1455 insertions(+), 183 deletions(-)
> >   create mode 100644 tests/filesystem/Filesystem.pm
> >   create mode 100644 tests/fs_filesystem/.gitignore
> >   create mode 100644 tests/fs_filesystem/Makefile
> >   create mode 100644 tests/fs_filesystem/fs_common.c
> >   create mode 100644 tests/fs_filesystem/fs_common.h
> >   create mode 100644 tests/fs_filesystem/fsmount.c
> >   create mode 100644 tests/fs_filesystem/fspick.c
> >   create mode 100644 tests/fs_filesystem/move_mount.c
> >   create mode 100755 tests/fs_filesystem/test
> > 




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

  Powered by Linux