2
0
mirror of git://github.com/lxc/lxc synced 2025-08-31 16:29:29 +00:00

syscalls: add fsmount()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner
2020-07-22 11:02:33 +02:00
parent 2b12bdbf30
commit 747ea18991
3 changed files with 31 additions and 1 deletions

View File

@@ -622,7 +622,7 @@ AC_CHECK_HEADER([ifaddrs.h],
AC_HEADER_MAJOR
# Check for some syscalls functions
AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid memfd_create move_mount open_tree execveat clone3 fsopen fspick fsconfig])
AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid memfd_create move_mount open_tree execveat clone3 fsopen fspick fsconfig fsmount])
AC_CHECK_TYPES([struct clone_args], [], [], [[#include <linux/sched.h>]])
AC_CHECK_MEMBERS([struct clone_args.set_tid],[],[],[[#include <linux/sched.h>]])
AC_CHECK_MEMBERS([struct clone_args.cgroup],[],[],[[#include <linux/sched.h>]])

View File

@@ -623,4 +623,24 @@
#endif
#endif
#ifndef __NR_fsmount
#if defined __alpha__
#define __NR_fsmount 542
#elif defined _MIPS_SIM
#if _MIPS_SIM == _MIPS_SIM_ABI32 /* o32 */
#define __NR_fsmount 4432
#endif
#if _MIPS_SIM == _MIPS_SIM_NABI32 /* n32 */
#define __NR_fsmount 6432
#endif
#if _MIPS_SIM == _MIPS_SIM_ABI64 /* n64 */
#define __NR_fsmount 5432
#endif
#elif defined __ia64__
#define __NR_fsmount (432 + 1024)
#else
#define __NR_fsmount 432
#endif
#endif
#endif /* __LXC_SYSCALL_NUMBERS_H */

View File

@@ -191,4 +191,14 @@ static inline int fsconfig_lxc(int fd, unsigned int cmd, const char *key, const
extern int fsconfig(int fd, unsigned int cmd, const char *key, const void *value, int aux);
#endif
#ifndef HAVE_FSMOUNT
static inline int fsmount_lxc(int fs_fd, unsigned int flags, unsigned int attr_flags)
{
return syscall(__NR_fsmount, fs_fd, flags, attr_flags);
}
#define fsmount fsmount_lxc
#else
extern int fsmount(int fs_fd, unsigned int flags, unsigned int attr_flags);
#endif
#endif /* __LXC_SYSCALL_WRAPPER_H */