Re: [PATCH] Additional tests for long-time supported netlink classes

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

 



I'm sorry I did have a newer kernel (4.*) on my RHEL-7.3 testing machine.

The netlink tests from the selinux-testsuite fail on a freshly installed RHEL-7.3
 machine (kernel = 3.10.0-514.el7.x86_64). 

Milos Malik

----- Original Message -----
> On Fri, 2017-07-14 at 03:44 -0400, Milos Malik wrote:
> > All of the netlink classes currently tested by the selinux-testsuite
> > + classes
> > tested by the attached patch are supported (at the same time by the
> > kernel
> > and by the policy) on RHEL-7.3.
> 
> Are you sure?  What kernel did you use?  When I tried, they all failed
> on 7.3, which is why I disabled them in tests/Makefile for RHEL7.
> 
> I don't know if we care about distinguishing at the granularity of
> point releases of RHEL7 (e.g. RHEL7.2 vs RHEL7.3); we just want to
> ensure that the testsuite will pass on the latest release of RHEL7.
> 
> > 
> > Unfortunately, selinux-policy for RHEL-6.9 and RHEL-7.2 does not
> > recognize
> > following classes:
> > netlink_connector_socket, netlink_crypto_socket,
> > netlink_fib_lookup_socket,
> > netlink_generic_socket, netlink_iscsi_socket,
> > netlink_netfilter_socket,
> > netlink_rdma_socket, netlink_scsitransport_socket.
> > 
> > Based on my RHEL-7.3 and RHEL-7.4 test results, the netlink tests can
> > be safely executed on RHEL-7.3 and higher.
> > 
> > You're right about splitting the netlink tests into at least 2
> > subsets:
> > RHEL<7.3 (which also covers RHEL-6) and RHEL>=7.3. I will take a look
> > at the commits you provided and let you know.
> > 
> > Milos Malik
> > 
> > ----- Original Message -----
> > > On Thu, 2017-07-13 at 13:08 +0200, Milos Malik wrote:
> > > > This patch contains tests for classes which are already supported
> > > > for
> > > > a
> > > > long time but are not tested by the selinux-testsuite yet. These
> > > > tests
> > > > involve classes like: netlink_route_socket, netlink_xfrm_socket,
> > > > netlink_selinux_socket, netlink_audit_socket,
> > > > netlink_kobject_uevent_socket, netlink_connector_socket,
> > > > netlink_scsitransport_socket, netlink_fib_lookup_socket.
> > > 
> > > These look fine (aside from a whitespace issue which git am
> > > complained
> > > about) and ran successfully for me on Fedora, but I did have one
> > > question:
> > > 
> > > policy/Makefile and tests/Makefile only enable the netlink_socket
> > > tests
> > > if the new netlink socket classes are defined by the base policy,
> > > and
> > > tests/Makefile further excludes them from running on RHEL7 because
> > > RHEL7.3 back-ported the policy change defining the new classes but
> > > not
> > > the kernel support.  In contrast, the tests you are adding could be
> > > run
> > > on RHEL7 (and earlier).  If we want them to be run on RHEL7 or
> > > earlier,
> > > then you need to split them into their own test policy and test
> > > case
> > > that can be separately enabled, or otherwise wrap the current ones
> > > to
> > > allow use on RHEL7.  You can see examples in other test policies
> > > and
> > > scripts of such conditional inclusion of subsets of the
> > > tests/policies
> > > (e.g. commit 32015aad4972321ba23611795b4f0479bf213943 or commit
> > > b6e5e01a282582322185d67eb628569ac1a9f2dc). Do we want these to be
> > > tested on RHEL7 or earlier?
> > > 
> > > > 
> > > > Signed-off-by: Milos Malik <mmalik@xxxxxxxxxx>
> > > > ---
> > > >  policy/test_netlink_socket.te |  8 ++++
> > > >  tests/netlink_socket/test     | 99
> > > > ++++++++++++++++++++++++++++++++++++++++++-
> > > >  2 files changed, 106 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/policy/test_netlink_socket.te
> > > > b/policy/test_netlink_socket.te
> > > > index c852c04..aaa6e4d 100644
> > > > --- a/policy/test_netlink_socket.te
> > > > +++ b/policy/test_netlink_socket.te
> > > > @@ -40,6 +40,14 @@ netlink_socket_test(netlink_iscsi_socket)
> > > >  netlink_socket_test(netlink_netfilter_socket)
> > > >  netlink_socket_test(netlink_generic_socket)
> > > >  netlink_socket_test(netlink_crypto_socket)
> > > > +netlink_socket_test(netlink_route_socket)
> > > > +netlink_socket_test(netlink_xfrm_socket)
> > > > +netlink_socket_test(netlink_selinux_socket)
> > > > +netlink_socket_test(netlink_audit_socket)
> > > > +netlink_socket_test(netlink_kobject_uevent_socket)
> > > > +netlink_socket_test(netlink_connector_socket)
> > > > +netlink_socket_test(netlink_scsitransport_socket)
> > > > +netlink_socket_test(netlink_fib_lookup_socket)
> > > >  
> > > >  #
> > > >  # Common rules for all netlink socket class test domains.
> > > > diff --git a/tests/netlink_socket/test
> > > > b/tests/netlink_socket/test
> > > > index 487edbc..cc8c2d4 100755
> > > > --- a/tests/netlink_socket/test
> > > > +++ b/tests/netlink_socket/test
> > > > @@ -1,7 +1,7 @@
> > > >  #!/usr/bin/perl
> > > >  
> > > >  use Test;
> > > > -BEGIN { plan tests => 8 }
> > > > +BEGIN { plan tests => 24 }
> > > >  
> > > >  $basedir = $0;
> > > >  $basedir =~ s|(.*)/[^/]*|$1|;
> > > > @@ -53,3 +53,100 @@ $result = system(
> > > >  "runcon -t test_no_netlink_crypto_socket_t --
> > > > $basedir/netlinkcreate
> > > > crypto 2>&1"
> > > >  );
> > > >  ok($result);
> > > > +
> > > > +# Verify that test_netlink_route_socket_t can create a
> > > > NETLINK_ROUTE
> > > > socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_route_socket_t -- $basedir/netlinkcreate
> > > > route 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_route_socket_t cannot create a
> > > > NETLINK_ROUTE socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_route_socket_t --
> > > > $basedir/netlinkcreate
> > > > route 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_xfrm_socket_t can create a
> > > > NETLINK_XFRM
> > > > socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_xfrm_socket_t -- $basedir/netlinkcreate
> > > > xfrm
> > > > 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_xfrm_socket_t cannot create a
> > > > NETLINK_XFRM socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_xfrm_socket_t --
> > > > $basedir/netlinkcreate
> > > > xfrm 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_selinux_socket_t can create a
> > > > NETLINK_SELINUX socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_selinux_socket_t --
> > > > $basedir/netlinkcreate
> > > > selinux 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_selinux_socket_t cannot create a
> > > > NETLINK_SELINUX socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_selinux_socket_t --
> > > > $basedir/netlinkcreate selinux 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_audit_socket_t can create a
> > > > NETLINK_AUDIT
> > > > socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_audit_socket_t -- $basedir/netlinkcreate
> > > > audit 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_audit_socket_t cannot create a
> > > > NETLINK_AUDIT socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_audit_socket_t --
> > > > $basedir/netlinkcreate
> > > > audit 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_kobject_uevent_socket_t can create a
> > > > NETLINK_KOBJECT_UEVENT socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_kobject_uevent_socket_t --
> > > > $basedir/netlinkcreate kobject_uevent 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_kobject_uevent_socket_t cannot
> > > > create
> > > > a NETLINK_KOBJECT_UEVENT socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_kobject_uevent_socket_t --
> > > > $basedir/netlinkcreate kobject_uevent 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_connector_socket_t can create a
> > > > NETLINK_CONNECTOR socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_connector_socket_t --
> > > > $basedir/netlinkcreate
> > > > connector 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_connector_socket_t cannot create a
> > > > NETLINK_CONNECTOR socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_connector_socket_t --
> > > > $basedir/netlinkcreate connector 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_scsitransport_socket_t can create a
> > > > NETLINK_SCSITRANSPORT socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_scsitransport_socket_t --
> > > > $basedir/netlinkcreate scsitransport 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_scsitransport_socket_t cannot
> > > > create a
> > > > NETLINK_SCSITRANSPORT socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_scsitransport_socket_t --
> > > > $basedir/netlinkcreate scsitransport 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > > > +# Verify that test_netlink_fib_lookup_socket_t can create a
> > > > NETLINK_FIB_LOOKUP socket.
> > > > +$result = system(
> > > > +"runcon -t test_netlink_fib_lookup_socket_t --
> > > > $basedir/netlinkcreate fib_lookup 2>&1"
> > > > +);
> > > > +ok( $result, 0 );
> > > > +
> > > > +# Verify that test_no_netlink_fib_lookup_socket_t cannot create
> > > > a
> > > > NETLINK_FIB_LOOKUP socket.
> > > > +$result = system(
> > > > +"runcon -t test_no_netlink_fib_lookup_socket_t --
> > > > $basedir/netlinkcreate fib_lookup 2>&1"
> > > > +);
> > > > +ok($result);
> > > > +
> > 
> > 
> 




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

  Powered by Linux