| From | Arnd Bergmann <> | Date | Tue, 9 Jan 2018 23:16:16 +0100 | Subject | Re: [PATCH 31/31] aio: implement io_pgetevents |
| |
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
|