From: Guillem Jover Date: Tue, 5 Mar 2024 01:01:57 +0000 (+0100) Subject: [PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel... X-Git-Tag: archive/raspbian/0.3.113-10+rpi1~1^2^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ae6283c00f1a008dc04e04f0a462bc1cf97614e1;p=libaio.git [PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel 32-bit userland On 64-bit kernels running 32-bit userland, this syscall misbehaves when passing a sigmask by always returning -EINVAL. This works on 32-bit kernels. The syscall entry point is possible wrong and needs to be fixed in the kernel. For now disable as the code is handling clean 64-bit time_t and the timeout is relative anyway. Once this is fixed in the kernel, and after enough time has passed we can decide whether to enable this. Origin: vendor Forwarded: not-needed Signed-off-by: Guillem Jover Gbp-Pq: Name 0024-Disable-io_pgetevents_time64-as-it-is-broken-on-64-b.patch --- diff --git a/src/aio_pgetevents.c b/src/aio_pgetevents.c index 89cec7b..7f55ead 100644 --- a/src/aio_pgetevents.c +++ b/src/aio_pgetevents.c @@ -26,6 +26,15 @@ #include "aio_time.h" #include "aio_ring.h" +/* + * FIXME: On 64-bit kernels running 32-bit userland, this syscall misbehaves + * when passing a sigmask by always returning -EINVAL. This works on 32-bit + * kernels. The syscall entry point is possible wrong and needs to be fixed + * in the kernel. For now disable as the code is handling clean 64-bit time_t + * and the timeout is relative anyway. + */ +#undef __NR_io_pgetevents_time64 + #ifdef __NR_io_pgetevents io_syscall6(int, __io_pgetevents, io_pgetevents, io_context_t, ctx, long, min_nr, long, nr, struct io_event *, events,