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:
@@ -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>]])
|
||||
|
@@ -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 */
|
||||
|
@@ -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 */
|
||||
|
Reference in New Issue
Block a user