[LTP] [PATCH 3/3] syscalls/preadv202: Add new testcase

Jan Stancek jstancek@redhat.com
Wed Feb 27 10:07:56 CET 2019



----- Original Message -----
> Hi Jan,
> 
> preadv202 has used tst_get_bad_addr() instead of the hardcoded -1 to
> test  EFAULT, so is it
> necessary to test EFAULT on s390 by truncating file as commit 856383c
> does?

If s390 doesn't immediately check iovec for validity, I don't see
difference between -1 and other invalid address.

I missing some context for this email, what made you look into this again?
Anyway, I tried dropping truncate and ran test on 5.0.0-rc8 s390x:

# ./preadv202
tst_test.c:1085: INFO: Timeout per run is 0h 05m 00s
preadv202.c:82: PASS: preadv2() failed as expected: EINVAL
preadv202.c:82: PASS: preadv2() failed as expected: EINVAL
preadv202.c:82: PASS: preadv2() failed as expected: EOPNOTSUPP
preadv202.c:77: FAIL: preadv2() succeeded unexpectedly
preadv202.c:82: PASS: preadv2() failed as expected: EBADF
preadv202.c:82: PASS: preadv2() failed as expected: EBADF
preadv202.c:82: PASS: preadv2() failed as expected: EISDIR
preadv202.c:82: PASS: preadv2() failed as expected: ESPIPE

Regards,
Jan

>  Perhaps, we
> can remove the truncation if it is unnecessary.   Sorry, i don't have
> s390 to confirm it.
> 
> Best Regards,
> Xiao Yang
> On 2018/10/04 20:19, Cyril Hrubis wrote:
> > Hi!
> >> Note:
> >>  From preadv2(2) manpage, preadv2() with invalid flag should return
> >> EINVAL, but it actually returned EOPNOTSUPP in current upstream
> >> kernel, as below:
> >> ---------------------------------------------------------------
> >> include/uapi/linux/fs.h:
> >> define RWF_SUPPORTED   (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT |\
> >>                           RWF_APPEND)
> >> ...
> >>
> >> include/linux/fs.h:
> >> static inline int kiocb_set_rw_flags(struct kiocb *ki, rwf_t flags)
> >> {
> >>          if (unlikely(flags&  ~RWF_SUPPORTED)) {
> >>                  return -EOPNOTSUPP;
> >>          }
> >> ...
> >> ---------------------------------------------------------------
> >>
> >> We use EOPNOTSUPP as expected errno for the time being.
> > This is probably worth a patch for the man-pages project, will you take
> > care of that?
> >
> > Pushed with a minor change, I've changed the EFAULT test to get address
> > from tst_get_bad_addr() instead of the hardcoded -1.
> >
> > Thanks!
> >
> 
> 
> 
> 


More information about the ltp mailing list