Re: [PATCH] Update selinux ioctl test

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

 



On Tue, 2009-05-05 at 10:29 -0400, Stephen Smalley wrote: 
> Update the selinux ioctl test in ltp to reflect the revised
> selinux_file_ioctl() logic in the kernel.  Also requires the
> corresponding ltp selinux test policy update.
> 
> Signed-off-by:  Stephen Smalley <sds@xxxxxxxxxxxxx>

Thanks.

Regards--
Subrata

> 
> ---
> 
>  testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_ioctl.c   |   13 +++
>  testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_noioctl.c |   33 ++++++----
>  2 files changed, 33 insertions(+), 13 deletions(-)
> 
> 
> Index: testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_ioctl.c
> ===================================================================
> RCS file: /cvsroot/ltp/ltp/testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_ioctl.c,v
> retrieving revision 1.2
> diff -u -r1.2 selinux_ioctl.c
> --- testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_ioctl.c	26 Feb 2009 12:02:31 -0000	1.2
> +++ testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_ioctl.c	1 May 2009 13:29:14 -0000
> @@ -35,7 +35,7 @@
>      exit(1);
>    }
> 
> -  /* This one should hit the FILE__GETATTR test */
> +  /* This one should hit the FILE__IOCTL test */
>    rc = ioctl(fd, FIGETBSZ, &val);
>    if( rc != 0 ) {
>      perror("test_ioctl:FIGETBSZ");
> @@ -49,15 +49,22 @@
>      exit(1);
>    }
> 
> -  /* This one should hit the normal file descriptor use test */
> +  /* This one should hit the FILE__IOCTL test */
>    rc = ioctl(fd, FIONBIO, &val);
>    if( rc != 0 ) {
>      perror("test_ioctl:FIONBIO");
>      exit(1);
>    }
> 
> +  /* This one should hit the FILE__READ test */
> +  rc = ioctl(fd, EXT2_IOC_GETVERSION, &val);
> +  if( rc != 0 ) {
> +    perror("test_ioctl:EXT2_IOC_GETVERSION");
> +    exit(1);
> +  }
> +
> +  /* This one should hit the FILE__WRITE test */
>    val = 0;
> -  /* This one should hit the FILE__SETATTR test */
>    rc = ioctl(fd, EXT2_IOC_SETVERSION, &val);
>    if( rc != 0 ) {
>      perror("test_ioctl:EXT2_IOC_SETVERSION");
> Index: testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_noioctl.c
> ===================================================================
> RCS file: /cvsroot/ltp/ltp/testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_noioctl.c,v
> retrieving revision 1.2
> diff -u -r1.2 selinux_noioctl.c
> --- testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_noioctl.c	26 Feb 2009 12:02:31 -0000	1.2
> +++ testcases/kernel/security/selinux-testsuite/tests/ioctl/selinux_noioctl.c	1 May 2009 13:29:14 -0000
> @@ -37,29 +37,42 @@
>      exit(1);
>    }
> 
> -  /* This one should hit the normal file descriptor use test; expect success */
> -  rc = ioctl(fd, FIONBIO, &val);
> -  if( rc != 0 ) {
> -    perror("test_noioctl:FIONBIO");
> -    exit(1);
> +  /* This one should hit the FILE__IOCTL test and fail. */
> +  rc = ioctl(fd, FIGETBSZ, &val);
> +  if( rc == 0 ) {
> +      printf("test_noioctl:FIGETBSZ");
> +      exit(1);
>    }
> 
> -  /* This one should hit the FILE__GETATTR test; expect failure */
> -  rc = ioctl(fd, FIGETBSZ, &val);
> +  /* This one should hit the FILE__IOCTL test and fail. */
> +  rc = ioctl(fd, FIOCLEX);
>    if( rc == 0 ) {
> +    printf("test_noioctl:FIOCLEX");
>      exit(1);
>    }
> 
> -  /* This one should hit the FILE__IOCTL test */
> -  rc = ioctl(fd, FIOCLEX);
> +  /* This one should hit the FILE__IOCTL test and fail. */
> +  rc = ioctl(fd, FIONBIO, &val);
>    if( rc == 0 ) {
> +    printf("test_noioctl:FIONBIO");
> +    exit(1);
> +  }
> +
> +  /*
> +   * This one should hit the FILE__READ test and succeed since
> +   * read permission had to be granted in order to open the file.
> +   */
> +  rc = ioctl(fd, EXT2_IOC_GETVERSION, &val);
> +  if( rc != 0 ) {
> +    perror("test_noioctl:EXT2_IOC_GETVERSION");
>      exit(1);
>    }
> 
> +  /* This one should hit the FILE__WRITE test and fail. */
>    val = 0;
> -  /* This one should hit the FILE__SETATTR test; expect failure */
>    rc = ioctl(fd, EXT2_IOC_SETVERSION, &val);
>    if( rc == 0 ) {
> +    perror("test_noioctl:EXT2_IOC_SETVERSION");
>      exit(1);
>    }
> 
> 


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

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

  Powered by Linux