From a0c262644eab897b51faf1fa013008052c3754c2 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Mon, 30 Oct 2017 14:38:19 +0100 Subject: [PATCH] afalg: Use eventfd2 syscall instead of eventfd The eventfd syscall is deprecated and is not available on aarch64, causing build to fail: engines/e_afalg.c: In function 'eventfd': engines/e_afalg.c:108:20: error: '__NR_eventfd' undeclared (first use in this function) return syscall(__NR_eventfd, n); ^ Instead, switch to the newer eventfd2 syscall, which is supposed to be supported by all architectures. This kind of issues would be avoided by simply using the eventfd(2) wrapper from the libc, but there must be subtle reasons not to... Tested on a aarch64 system running OpenSUSE Leap 42.1 (gcc118 from https://cfarm.tetaneutral.net/machines/list/ ) and also cross-compiling for aarch64 with LEDE (kernel 4.9). This properly fixes #1685. CLA: trivial Fixes: 7f458a48 ("ALG: Add AFALG engine") Signed-off-by: Baptiste Jonglez Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/4618) --- engines/afalg/e_afalg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/afalg/e_afalg.c b/engines/afalg/e_afalg.c index 5ce9047105..4f335809d5 100644 --- a/engines/afalg/e_afalg.c +++ b/engines/afalg/e_afalg.c @@ -107,7 +107,7 @@ static ossl_inline int io_setup(unsigned n, aio_context_t *ctx) static ossl_inline int eventfd(int n) { - return syscall(__NR_eventfd, n); + return syscall(__NR_eventfd2, n, 0); } static ossl_inline int io_destroy(aio_context_t ctx) -- 2.25.1