]> dgit.raspbian.org Git - libaio.git/commitdiff
[PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel...
authorGuillem Jover <guillem@hadrons.org>
Tue, 5 Mar 2024 01:01:57 +0000 (02:01 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 4 Jun 2026 18:31:38 +0000 (18:31 +0000)
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 <guillem@hadrons.org>
Gbp-Pq: Name 0024-Disable-io_pgetevents_time64-as-it-is-broken-on-64-b.patch

src/aio_pgetevents.c

index 89cec7bfbb67c229979db440fe77285732e8167f..7f55eada8bb2df20019f80bf7078672aee9d72a7 100644 (file)
 #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,