On Thu, Jan 4, 2018 at 9:00 AM, Christoph Hellwig hch@lst.de wrote:
+}
+SYSCALL_DEFINE6(io_pgetevents,
aio_context_t, ctx_id,
long, min_nr,
long, nr,
struct io_event __user *, events,
struct timespec __user *, timeout,
const sigset_t __user *, sigmask)
+{
+COMPAT_SYSCALL_DEFINE6(io_pgetevents,
compat_aio_context_t, ctx_id,
compat_long_t, min_nr,
compat_long_t, nr,
struct io_event __user *, events,
struct compat_timespec __user *, timeout,
const compat_sigset_t __user *, sigmask)
+{
Hmm, these two new syscall entry points turn into four when we add in support for 64-bit time_t, as we'd have to support all combinations of 32/64 bit aio_context_t and time_t.
Would it be better to start this interface out by defining it using a 64-bit timeout structure? The downside would be that the user space syscall wrappers have to start out with a conversion, if we don't do it, then the opposite conversion would have to get added later.
Arnd