From 6a886ddf192885d6896f4f67cc94df8b68fbc560 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 12:49:46 +0200 Subject: [PATCH 1/6] syscall_wrappers: move memfd_create() Signed-off-by: Christian Brauner --- src/lxc/ringbuf.c | 1 + src/lxc/syscall_wrappers.h | 48 ++++++++++++++++++++++++++++++++++++++ src/lxc/utils.h | 48 -------------------------------------- 3 files changed, 49 insertions(+), 48 deletions(-) diff --git a/src/lxc/ringbuf.c b/src/lxc/ringbuf.c index 1d5cfe916..97f68539f 100644 --- a/src/lxc/ringbuf.c +++ b/src/lxc/ringbuf.c @@ -32,6 +32,7 @@ #include "config.h" #include "ringbuf.h" +#include "syscall_wrappers.h" #include "utils.h" int lxc_ringbuf_create(struct lxc_ringbuf *buf, size_t size) diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h index a6c7694d9..da376d589 100644 --- a/src/lxc/syscall_wrappers.h +++ b/src/lxc/syscall_wrappers.h @@ -32,6 +32,10 @@ #include "config.h" +#ifdef HAVE_LINUX_MEMFD_H +#include +#endif + typedef int32_t key_serial_t; #if !HAVE_KEYCTL @@ -48,6 +52,50 @@ static inline long __keyctl(int cmd, unsigned long arg2, unsigned long arg3, #define keyctl __keyctl #endif +#ifndef HAVE_MEMFD_CREATE +static inline int memfd_create(const char *name, unsigned int flags) { + #ifndef __NR_memfd_create + #if defined __i386__ + #define __NR_memfd_create 356 + #elif defined __x86_64__ + #define __NR_memfd_create 319 + #elif defined __arm__ + #define __NR_memfd_create 385 + #elif defined __aarch64__ + #define __NR_memfd_create 279 + #elif defined __s390__ + #define __NR_memfd_create 350 + #elif defined __powerpc__ + #define __NR_memfd_create 360 + #elif defined __sparc__ + #define __NR_memfd_create 348 + #elif defined __blackfin__ + #define __NR_memfd_create 390 + #elif defined __ia64__ + #define __NR_memfd_create 1340 + #elif defined _MIPS_SIM + #if _MIPS_SIM == _MIPS_SIM_ABI32 + #define __NR_memfd_create 4354 + #endif + #if _MIPS_SIM == _MIPS_SIM_NABI32 + #define __NR_memfd_create 6318 + #endif + #if _MIPS_SIM == _MIPS_SIM_ABI64 + #define __NR_memfd_create 5314 + #endif + #endif + #endif + #ifdef __NR_memfd_create + return syscall(__NR_memfd_create, name, flags); + #else + errno = ENOSYS; + return -1; + #endif +} +#else +extern int memfd_create(const char *name, unsigned int flags); +#endif + #if !HAVE_PIVOT_ROOT static int pivot_root(const char *new_root, const char *put_old) { diff --git a/src/lxc/utils.h b/src/lxc/utils.h index 7bb361cfb..8c5914de7 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -43,10 +43,6 @@ #include "raw_syscalls.h" #include "string_utils.h" -#ifdef HAVE_LINUX_MEMFD_H -#include -#endif - /* returns 1 on success, 0 if there were any failures */ extern int lxc_rmdir_onedev(const char *path, const char *exclude); extern int get_u16(unsigned short *val, const char *arg, int base); @@ -199,50 +195,6 @@ static inline int signalfd(int fd, const sigset_t *mask, int flags) } #endif -#ifndef HAVE_MEMFD_CREATE -static inline int memfd_create(const char *name, unsigned int flags) { - #ifndef __NR_memfd_create - #if defined __i386__ - #define __NR_memfd_create 356 - #elif defined __x86_64__ - #define __NR_memfd_create 319 - #elif defined __arm__ - #define __NR_memfd_create 385 - #elif defined __aarch64__ - #define __NR_memfd_create 279 - #elif defined __s390__ - #define __NR_memfd_create 350 - #elif defined __powerpc__ - #define __NR_memfd_create 360 - #elif defined __sparc__ - #define __NR_memfd_create 348 - #elif defined __blackfin__ - #define __NR_memfd_create 390 - #elif defined __ia64__ - #define __NR_memfd_create 1340 - #elif defined _MIPS_SIM - #if _MIPS_SIM == _MIPS_SIM_ABI32 - #define __NR_memfd_create 4354 - #endif - #if _MIPS_SIM == _MIPS_SIM_NABI32 - #define __NR_memfd_create 6318 - #endif - #if _MIPS_SIM == _MIPS_SIM_ABI64 - #define __NR_memfd_create 5314 - #endif - #endif - #endif - #ifdef __NR_memfd_create - return syscall(__NR_memfd_create, name, flags); - #else - errno = ENOSYS; - return -1; - #endif -} -#else -extern int memfd_create(const char *name, unsigned int flags); -#endif - static inline int lxc_set_cloexec(int fd) { return fcntl(fd, F_SETFD, FD_CLOEXEC); From 59524108dd4342f2c99d8faac8145ab0c3c0208e Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 12:57:32 +0200 Subject: [PATCH 2/6] syscall_wrappers: move setns() Signed-off-by: Christian Brauner --- src/lxc/Makefile.am | 3 ++- src/lxc/attach.c | 1 + src/lxc/cmd/lxc_user_nic.c | 1 + src/lxc/network.c | 1 + src/lxc/start.c | 1 + src/lxc/syscall_wrappers.h | 32 ++++++++++++++++++++++++++++++++ src/lxc/utils.h | 31 ------------------------------- 7 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am index 2011a6c02..208a485e1 100644 --- a/src/lxc/Makefile.am +++ b/src/lxc/Makefile.am @@ -360,7 +360,8 @@ lxc_user_nic_SOURCES = cmd/lxc_user_nic.c \ log.c log.h \ network.c network.h \ parse.c parse.h \ - raw_syscalls.c raw_syscalls.h + raw_syscalls.c raw_syscalls.h \ + syscall_wrappers.h lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c \ conf.c conf.h \ list.h \ diff --git a/src/lxc/attach.c b/src/lxc/attach.c index 437001079..689cef709 100644 --- a/src/lxc/attach.c +++ b/src/lxc/attach.c @@ -60,6 +60,7 @@ #include "mainloop.h" #include "namespace.h" #include "raw_syscalls.h" +#include "syscall_wrappers.h" #include "terminal.h" #include "utils.h" diff --git a/src/lxc/cmd/lxc_user_nic.c b/src/lxc/cmd/lxc_user_nic.c index 6d7011136..02915b882 100644 --- a/src/lxc/cmd/lxc_user_nic.c +++ b/src/lxc/cmd/lxc_user_nic.c @@ -52,6 +52,7 @@ #include "network.h" #include "parse.h" #include "raw_syscalls.h" +#include "syscall_wrappers.h" #include "utils.h" #ifndef HAVE_STRLCPY diff --git a/src/lxc/network.c b/src/lxc/network.c index 3ed35afd4..df1989272 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -57,6 +57,7 @@ #include "network.h" #include "nl.h" #include "raw_syscalls.h" +#include "syscall_wrappers.h" #include "utils.h" #ifndef HAVE_STRLCPY diff --git a/src/lxc/start.c b/src/lxc/start.c index 5899ea07b..178067042 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -75,6 +75,7 @@ #include "storage/storage.h" #include "storage/storage_utils.h" #include "sync.h" +#include "syscall_wrappers.h" #include "terminal.h" #include "utils.h" diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h index da376d589..b83ff6829 100644 --- a/src/lxc/syscall_wrappers.h +++ b/src/lxc/syscall_wrappers.h @@ -25,6 +25,7 @@ #endif #include #include +#include #include #include #include @@ -110,4 +111,35 @@ static int pivot_root(const char *new_root, const char *put_old) extern int pivot_root(const char *new_root, const char *put_old); #endif +#if !defined(__NR_setns) && !defined(__NR_set_ns) + #if defined(__x86_64__) + #define __NR_setns 308 + #elif defined(__i386__) + #define __NR_setns 346 + #elif defined(__arm__) + #define __NR_setns 375 + #elif defined(__aarch64__) + #define __NR_setns 375 + #elif defined(__powerpc__) + #define __NR_setns 350 + #elif defined(__s390__) + #define __NR_setns 339 + #endif +#endif + +/* Define setns() if missing from the C library */ +#ifndef HAVE_SETNS +static inline int setns(int fd, int nstype) +{ +#ifdef __NR_setns + return syscall(__NR_setns, fd, nstype); +#elif defined(__NR_set_ns) + return syscall(__NR_set_ns, fd, nstype); +#else + errno = ENOSYS; + return -1; +#endif +} +#endif + #endif /* __LXC_SYSCALL_WRAPPER_H */ diff --git a/src/lxc/utils.h b/src/lxc/utils.h index 8c5914de7..5e70dec1a 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -56,37 +56,6 @@ extern char *get_rundir(void); #endif #endif -#if !defined(__NR_setns) && !defined(__NR_set_ns) - #if defined(__x86_64__) - #define __NR_setns 308 - #elif defined(__i386__) - #define __NR_setns 346 - #elif defined(__arm__) - #define __NR_setns 375 - #elif defined(__aarch64__) - #define __NR_setns 375 - #elif defined(__powerpc__) - #define __NR_setns 350 - #elif defined(__s390__) - #define __NR_setns 339 - #endif -#endif - -/* Define setns() if missing from the C library */ -#ifndef HAVE_SETNS -static inline int setns(int fd, int nstype) -{ -#ifdef __NR_setns - return syscall(__NR_setns, fd, nstype); -#elif defined(__NR_set_ns) - return syscall(__NR_set_ns, fd, nstype); -#else - errno = ENOSYS; - return -1; -#endif -} -#endif - /* Define sethostname() if missing from the C library */ #ifndef HAVE_SETHOSTNAME static inline int sethostname(const char *name, size_t len) From 364932cfae36feda321d20574ce25c12519b0f54 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 12:59:32 +0200 Subject: [PATCH 3/6] syscall_wrappers: move sethostname() Signed-off-by: Christian Brauner --- src/lxc/syscall_wrappers.h | 13 +++++++++++++ src/lxc/utils.h | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h index b83ff6829..c2cebe6a8 100644 --- a/src/lxc/syscall_wrappers.h +++ b/src/lxc/syscall_wrappers.h @@ -127,6 +127,19 @@ extern int pivot_root(const char *new_root, const char *put_old); #endif #endif +/* Define sethostname() if missing from the C library */ +#ifndef HAVE_SETHOSTNAME +static inline int sethostname(const char *name, size_t len) +{ +#ifdef __NR_sethostname + return syscall(__NR_sethostname, name, len); +#else + errno = ENOSYS; + return -1; +#endif +} +#endif + /* Define setns() if missing from the C library */ #ifndef HAVE_SETNS static inline int setns(int fd, int nstype) diff --git a/src/lxc/utils.h b/src/lxc/utils.h index 5e70dec1a..ee3875e58 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -56,19 +56,6 @@ extern char *get_rundir(void); #endif #endif -/* Define sethostname() if missing from the C library */ -#ifndef HAVE_SETHOSTNAME -static inline int sethostname(const char *name, size_t len) -{ -#ifdef __NR_sethostname -return syscall(__NR_sethostname, name, len); -#else -errno = ENOSYS; -return -1; -#endif -} -#endif - /* Define unshare() if missing from the C library */ #ifndef HAVE_UNSHARE static inline int unshare(int flags) From e8f764b6bc74eefa31fe7e029cc7ce09f1f09471 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 13:03:30 +0200 Subject: [PATCH 4/6] syscall_wrappers: move unshare() Signed-off-by: Christian Brauner --- src/lxc/Makefile.am | 1 + src/lxc/cmd/lxc_usernsexec.c | 1 + src/lxc/criu.c | 1 + src/lxc/lxccontainer.c | 1 + src/lxc/storage/rsync.c | 1 + src/lxc/storage/storage_utils.c | 1 + src/lxc/syscall_wrappers.h | 15 +++++++++++++++ src/lxc/utils.h | 15 --------------- 8 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am index 208a485e1..5a0ae9dd4 100644 --- a/src/lxc/Makefile.am +++ b/src/lxc/Makefile.am @@ -369,6 +369,7 @@ lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c \ macro.h \ file_utils.c file_utils.h \ string_utils.c string_utils.h \ + syscall_wrappers.h \ utils.c utils.h endif diff --git a/src/lxc/cmd/lxc_usernsexec.c b/src/lxc/cmd/lxc_usernsexec.c index 7475e7506..10557dd51 100644 --- a/src/lxc/cmd/lxc_usernsexec.c +++ b/src/lxc/cmd/lxc_usernsexec.c @@ -49,6 +49,7 @@ #include "macro.h" #include "file_utils.h" #include "string_utils.h" +#include "syscall_wrappers.h" #include "utils.h" extern int lxc_log_fd; diff --git a/src/lxc/criu.c b/src/lxc/criu.c index 66470a016..dcf6d5cf6 100644 --- a/src/lxc/criu.c +++ b/src/lxc/criu.c @@ -45,6 +45,7 @@ #include "lxclock.h" #include "network.h" #include "storage.h" +#include "syscall_wrappers.h" #include "utils.h" #if IS_BIONIC diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index b4cb4c0ad..bfd3c85a1 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -73,6 +73,7 @@ #include "storage/overlay.h" #include "storage_utils.h" #include "sync.h" +#include "syscall_wrappers.h" #include "terminal.h" #include "utils.h" #include "version.h" diff --git a/src/lxc/storage/rsync.c b/src/lxc/storage/rsync.c index e3ade30a0..fa4e59cc3 100644 --- a/src/lxc/storage/rsync.c +++ b/src/lxc/storage/rsync.c @@ -38,6 +38,7 @@ #include "log.h" #include "rsync.h" #include "storage.h" +#include "syscall_wrappers.h" #include "utils.h" lxc_log_define(rsync, lxc); diff --git a/src/lxc/storage/storage_utils.c b/src/lxc/storage/storage_utils.c index 36a62a11e..9efc939b1 100644 --- a/src/lxc/storage/storage_utils.c +++ b/src/lxc/storage/storage_utils.c @@ -48,6 +48,7 @@ #include "parse.h" #include "storage.h" #include "storage_utils.h" +#include "syscall_wrappers.h" #include "utils.h" #ifndef HAVE_STRLCPY diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h index c2cebe6a8..8661ceb4f 100644 --- a/src/lxc/syscall_wrappers.h +++ b/src/lxc/syscall_wrappers.h @@ -155,4 +155,19 @@ static inline int setns(int fd, int nstype) } #endif +/* Define unshare() if missing from the C library */ +#ifndef HAVE_UNSHARE +static inline int unshare(int flags) +{ +#ifdef __NR_unshare + return syscall(__NR_unshare, flags); +#else + errno = ENOSYS; + return -1; +#endif +} +#else +extern int unshare(int); +#endif + #endif /* __LXC_SYSCALL_WRAPPER_H */ diff --git a/src/lxc/utils.h b/src/lxc/utils.h index ee3875e58..5f16eaedb 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -56,21 +56,6 @@ extern char *get_rundir(void); #endif #endif -/* Define unshare() if missing from the C library */ -#ifndef HAVE_UNSHARE -static inline int unshare(int flags) -{ -#ifdef __NR_unshare - return syscall(__NR_unshare, flags); -#else - errno = ENOSYS; - return -1; -#endif -} -#else -extern int unshare(int); -#endif - /* Define signalfd() if missing from the C library */ #ifdef HAVE_SYS_SIGNALFD_H # include From 303037d2f6793be350111180382d369a820f3bb6 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 13:08:51 +0200 Subject: [PATCH 5/6] syscall_wrappers: move signalfd() Signed-off-by: Christian Brauner --- src/lxc/storage/nbd.c | 1 + src/lxc/syscall_wrappers.h | 80 ++++++++++++++++++++++++++++++++++++++ src/lxc/terminal.c | 1 + src/lxc/utils.h | 80 -------------------------------------- 4 files changed, 82 insertions(+), 80 deletions(-) diff --git a/src/lxc/storage/nbd.c b/src/lxc/storage/nbd.c index cc2289426..2fae1fdb2 100644 --- a/src/lxc/storage/nbd.c +++ b/src/lxc/storage/nbd.c @@ -38,6 +38,7 @@ #include "nbd.h" #include "storage.h" #include "storage_utils.h" +#include "syscall_wrappers.h" #include "utils.h" #ifndef HAVE_STRLCPY diff --git a/src/lxc/syscall_wrappers.h b/src/lxc/syscall_wrappers.h index 8661ceb4f..42d94db28 100644 --- a/src/lxc/syscall_wrappers.h +++ b/src/lxc/syscall_wrappers.h @@ -24,6 +24,7 @@ #define _GNU_SOURCE 1 #endif #include +#include #include #include #include @@ -37,6 +38,10 @@ #include #endif +#ifdef HAVE_SYS_SIGNALFD_H +#include +#endif + typedef int32_t key_serial_t; #if !HAVE_KEYCTL @@ -155,6 +160,81 @@ static inline int setns(int fd, int nstype) } #endif +#ifndef HAVE_SYS_SIGNALFD_H +struct signalfd_siginfo { + uint32_t ssi_signo; + int32_t ssi_errno; + int32_t ssi_code; + uint32_t ssi_pid; + uint32_t ssi_uid; + int32_t ssi_fd; + uint32_t ssi_tid; + uint32_t ssi_band; + uint32_t ssi_overrun; + uint32_t ssi_trapno; + int32_t ssi_status; + int32_t ssi_int; + uint64_t ssi_ptr; + uint64_t ssi_utime; + uint64_t ssi_stime; + uint64_t ssi_addr; + uint8_t __pad[48]; +}; + +#ifndef __NR_signalfd4 +/* assume kernel headers are too old */ +#if __i386__ +#define __NR_signalfd4 327 +#elif __x86_64__ +#define __NR_signalfd4 289 +#elif __powerpc__ +#define __NR_signalfd4 313 +#elif __s390x__ +#define __NR_signalfd4 322 +#elif __arm__ +#define __NR_signalfd4 355 +#elif __mips__ && _MIPS_SIM == _ABIO32 +#define __NR_signalfd4 4324 +#elif __mips__ && _MIPS_SIM == _ABI64 +#define __NR_signalfd4 5283 +#elif __mips__ && _MIPS_SIM == _ABIN32 +#define __NR_signalfd4 6287 +#endif +#endif + +#ifndef __NR_signalfd +/* assume kernel headers are too old */ +#if __i386__ +#define __NR_signalfd 321 +#elif __x86_64__ +#define __NR_signalfd 282 +#elif __powerpc__ +#define __NR_signalfd 305 +#elif __s390x__ +#define __NR_signalfd 316 +#elif __arm__ +#define __NR_signalfd 349 +#elif __mips__ && _MIPS_SIM == _ABIO32 +#define __NR_signalfd 4317 +#elif __mips__ && _MIPS_SIM == _ABI64 +#define __NR_signalfd 5276 +#elif __mips__ && _MIPS_SIM == _ABIN32 +#define __NR_signalfd 6280 +#endif +#endif + +static inline int signalfd(int fd, const sigset_t *mask, int flags) +{ + int retval; + + retval = syscall(__NR_signalfd4, fd, mask, _NSIG / 8, flags); + if (errno == ENOSYS && flags == 0) + retval = syscall(__NR_signalfd, fd, mask, _NSIG / 8); + + return retval; +} +#endif + /* Define unshare() if missing from the C library */ #ifndef HAVE_UNSHARE static inline int unshare(int flags) diff --git a/src/lxc/terminal.c b/src/lxc/terminal.c index 03bd8983b..4060e7f9b 100644 --- a/src/lxc/terminal.c +++ b/src/lxc/terminal.c @@ -45,6 +45,7 @@ #include "lxclock.h" #include "mainloop.h" #include "start.h" +#include "syscall_wrappers.h" #include "terminal.h" #include "utils.h" diff --git a/src/lxc/utils.h b/src/lxc/utils.h index 5f16eaedb..f7247a2d8 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -56,86 +56,6 @@ extern char *get_rundir(void); #endif #endif -/* Define signalfd() if missing from the C library */ -#ifdef HAVE_SYS_SIGNALFD_H -# include -#else -/* assume kernel headers are too old */ -#include -struct signalfd_siginfo -{ - uint32_t ssi_signo; - int32_t ssi_errno; - int32_t ssi_code; - uint32_t ssi_pid; - uint32_t ssi_uid; - int32_t ssi_fd; - uint32_t ssi_tid; - uint32_t ssi_band; - uint32_t ssi_overrun; - uint32_t ssi_trapno; - int32_t ssi_status; - int32_t ssi_int; - uint64_t ssi_ptr; - uint64_t ssi_utime; - uint64_t ssi_stime; - uint64_t ssi_addr; - uint8_t __pad[48]; -}; - -# ifndef __NR_signalfd4 -/* assume kernel headers are too old */ -# if __i386__ -# define __NR_signalfd4 327 -# elif __x86_64__ -# define __NR_signalfd4 289 -# elif __powerpc__ -# define __NR_signalfd4 313 -# elif __s390x__ -# define __NR_signalfd4 322 -# elif __arm__ -# define __NR_signalfd4 355 -# elif __mips__ && _MIPS_SIM == _ABIO32 -# define __NR_signalfd4 4324 -# elif __mips__ && _MIPS_SIM == _ABI64 -# define __NR_signalfd4 5283 -# elif __mips__ && _MIPS_SIM == _ABIN32 -# define __NR_signalfd4 6287 -# endif -#endif - -# ifndef __NR_signalfd -/* assume kernel headers are too old */ -# if __i386__ -# define __NR_signalfd 321 -# elif __x86_64__ -# define __NR_signalfd 282 -# elif __powerpc__ -# define __NR_signalfd 305 -# elif __s390x__ -# define __NR_signalfd 316 -# elif __arm__ -# define __NR_signalfd 349 -# elif __mips__ && _MIPS_SIM == _ABIO32 -# define __NR_signalfd 4317 -# elif __mips__ && _MIPS_SIM == _ABI64 -# define __NR_signalfd 5276 -# elif __mips__ && _MIPS_SIM == _ABIN32 -# define __NR_signalfd 6280 -# endif -#endif - -static inline int signalfd(int fd, const sigset_t *mask, int flags) -{ - int retval; - - retval = syscall (__NR_signalfd4, fd, mask, _NSIG / 8, flags); - if (errno == ENOSYS && flags == 0) - retval = syscall (__NR_signalfd, fd, mask, _NSIG / 8); - return retval; -} -#endif - static inline int lxc_set_cloexec(int fd) { return fcntl(fd, F_SETFD, FD_CLOEXEC); From 07a50156ed3e8ffdd0c7736a581f8e82903d2c09 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Wed, 3 Oct 2018 13:10:55 +0200 Subject: [PATCH 6/6] raw_syscalls: move lxc_raw_gettid() Signed-off-by: Christian Brauner --- src/lxc/raw_syscalls.h | 9 +++++++++ src/lxc/utils.h | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lxc/raw_syscalls.h b/src/lxc/raw_syscalls.h index 513089649..224cf92fc 100644 --- a/src/lxc/raw_syscalls.h +++ b/src/lxc/raw_syscalls.h @@ -83,4 +83,13 @@ static inline pid_t lxc_raw_getpid(void) return (pid_t)syscall(SYS_getpid); } +static inline pid_t lxc_raw_gettid(void) +{ +#ifdef __NR_gettid + return syscall(__NR_gettid); +#else + return lxc_raw_getpid(); +#endif +} + #endif /* __LXC_RAW_SYSCALL_H */ diff --git a/src/lxc/utils.h b/src/lxc/utils.h index f7247a2d8..bc298acc8 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -237,15 +237,6 @@ static inline uint64_t lxc_getpagesize(void) */ extern uint64_t lxc_find_next_power2(uint64_t n); -static inline pid_t lxc_raw_gettid(void) -{ -#ifdef SYS_gettid - return syscall(SYS_gettid); -#else - return lxc_raw_getpid(); -#endif -} - /* Set a signal the child process will receive after the parent has died. */ extern int lxc_set_death_signal(int signal, pid_t parent); extern int fd_cloexec(int fd, bool cloexec);