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