This patch introduces functionality for 'recvmmsg_time64()' which
is a year 2038 safe variant of 'recvmmsg()'. This new time64 syscall
is introduced in series of three patches rather than in one patch
because a little modification was needed before the syscall could
be introduced properly.

The first patch in the series introduces a little modification
for already existing implementations for 'recvmmsg()' and
'sendmmsg()' to use the host syscall result instead of using
a loop over 'recvmsg()' and 'sendmsg()'.

The second patch in the series introduces a little fix in
the implementation of 'recvmmsg()' that introduces the timeout
argument which is of type 'struct timespec' for which the
separate time64 variant is added.

The third patch in the series introduces the implementation
of 'recvmmsg_time64()' itself.

Testing method:

    The implementation was tested using a modified LTP test suite
    where a timeout test case was added for 'recvmmsg()'. This
    modified test suite can be found at:
    https://github.com/bozutaf/ltp

    (A patch with this fix will be sent to LTP mailing list soon)

Filip Bozuta (3):
  linux-user: Modify 'sendmmsg()' and 'recvmmsg()' implementation
  linux-user: Fix 'recvmmsg()' implementation
  linux-user: Add support for 'recvmmsg_time64()'

 linux-user/syscall.c | 274 +++++++++++++++++++++++++++++--------------
 1 file changed, 184 insertions(+), 90 deletions(-)

-- 
2.25.1


Reply via email to