misc/test-errno-linux: Handle EINVAL from quotactl
Commit Message
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
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);
>
@@ -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);