[systemd-devel] [PATCH] missing: define correct syscall numbers for memfd_create() and getrandom() on aarch64

Michael Olbrich m.olbrich at pengutronix.de
Mon Jan 26 07:51:17 PST 2015


---

Hi,

I've tested getrandom(): With 384 the kernel dumps a warning, because the
syscall does not exist. With 278 the syscall tracer tells me that it's
called when I run e.g. journalctl, so that looks good.
I've not tested memfd_create() but it's defined right below getrandom() in
asm-generic/unistd.h, so I think that's correct too.

Regards,
Michael

 src/shared/missing.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/shared/missing.h b/src/shared/missing.h
index 5b95b0006f5e..f8721e6b99ee 100644
--- a/src/shared/missing.h
+++ b/src/shared/missing.h
@@ -136,6 +136,8 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
 #    define __NR_memfd_create 319
 #  elif defined __arm__
 #    define __NR_memfd_create 385
+#  elif defined __aarch64__
+#    define __NR_memfd_create 279
 #  elif defined _MIPS_SIM
 #    if _MIPS_SIM == _MIPS_SIM_ABI32
 #      define __NR_memfd_create 4354
@@ -165,8 +167,10 @@ static inline int memfd_create(const char *name, unsigned int flags) {
 #    define __NR_getrandom 318
 #  elif defined(__i386__)
 #    define __NR_getrandom 355
-#  elif defined(__arm__) || defined(__aarch64__)
+#  elif defined(__arm__)
 #    define __NR_getrandom 384
+# elif defined(__aarch64__)
+#    define __NR_getrandom 278
 #  elif defined(__ia64__)
 #    define __NR_getrandom 1339
 #  elif defined(__m68k__)
-- 
2.1.4



More information about the systemd-devel mailing list