misc/test-errno-linux: Handle EINVAL from quotactl
diff mbox series

Message ID 87tv6ehjwo.fsf@oldenburg2.str.redhat.com
State New
Headers show
Series
  • misc/test-errno-linux: Handle EINVAL from quotactl
Related show

Commit Message

Florian Weimer Dec. 5, 2019, 3:27 p.m. UTC
In commit 3dd4d40b420846dd35869ccc8f8627feef2cff32 ("xfs: Sanity check
flags of Q_XQUOTARM call"), Linux 5.4 added checking for the flags
argument, causing the test to fail due to too restrictive test
expectations.

-----
 sysdeps/unix/sysv/linux/test-errno-linux.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Adhemerval Zanella Dec. 5, 2019, 4:27 p.m. UTC | #1
On 05/12/2019 12:27, Florian Weimer wrote:
> In commit 3dd4d40b420846dd35869ccc8f8627feef2cff32 ("xfs: Sanity check
> flags of Q_XQUOTARM call"), Linux 5.4 added checking for the flags
> argument, causing the test to fail due to too restrictive test
> expectations.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> 
> -----
>  sysdeps/unix/sysv/linux/test-errno-linux.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/test-errno-linux.c b/sysdeps/unix/sysv/linux/test-errno-linux.c
> index 0dc2f18312..83e58491ba 100644
> --- a/sysdeps/unix/sysv/linux/test-errno-linux.c
> +++ b/sysdeps/unix/sysv/linux/test-errno-linux.c
> @@ -160,8 +160,9 @@ do_test (void)
>    fails |= test_wrp (EINVAL, poll, &pollfd, -1, 0);
>    /* quotactl returns ENOSYS for kernels not configured with
>       CONFIG_QUOTA, and may return EPERM if called within certain types
> -     of containers.  */
> -  fails |= test_wrp2 (LIST (ENODEV, ENOSYS, EPERM),
> +     of containers.  Linux 5.4 added additional argument validation
> +     and can return EINVAL.  */
> +  fails |= test_wrp2 (LIST (ENODEV, ENOSYS, EPERM, EINVAL),
>  		      quotactl, Q_GETINFO, NULL, -1, (caddr_t) &dqblk);
>    fails |= test_wrp (EINVAL, sched_getparam, -1, &sch_param);
>    fails |= test_wrp (EINVAL, sched_getscheduler, -1);
>

Patch
diff mbox series

diff --git a/sysdeps/unix/sysv/linux/test-errno-linux.c b/sysdeps/unix/sysv/linux/test-errno-linux.c
index 0dc2f18312..83e58491ba 100644
--- a/sysdeps/unix/sysv/linux/test-errno-linux.c
+++ b/sysdeps/unix/sysv/linux/test-errno-linux.c
@@ -160,8 +160,9 @@  do_test (void)
   fails |= test_wrp (EINVAL, poll, &pollfd, -1, 0);
   /* quotactl returns ENOSYS for kernels not configured with
      CONFIG_QUOTA, and may return EPERM if called within certain types
-     of containers.  */
-  fails |= test_wrp2 (LIST (ENODEV, ENOSYS, EPERM),
+     of containers.  Linux 5.4 added additional argument validation
+     and can return EINVAL.  */
+  fails |= test_wrp2 (LIST (ENODEV, ENOSYS, EPERM, EINVAL),
 		      quotactl, Q_GETINFO, NULL, -1, (caddr_t) &dqblk);
   fails |= test_wrp (EINVAL, sched_getparam, -1, &sch_param);
   fails |= test_wrp (EINVAL, sched_getscheduler, -1);