mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
missing_syscall: require a bunch of syscalls below baseline
pidfd-related ones are left out and will be dealt with later.
This commit is contained in:
@@ -137,12 +137,7 @@ static inline int missing_name_to_handle_at(int fd, const char *name, struct fil
|
||||
|
||||
#if !HAVE_SETNS
|
||||
static inline int missing_setns(int fd, int nstype) {
|
||||
# ifdef __NR_setns
|
||||
return syscall(__NR_setns, fd, nstype);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
}
|
||||
|
||||
# define setns missing_setns
|
||||
@@ -162,12 +157,7 @@ static inline pid_t raw_getpid(void) {
|
||||
|
||||
#if !HAVE_RENAMEAT2
|
||||
static inline int missing_renameat2(int oldfd, const char *oldname, int newfd, const char *newname, unsigned flags) {
|
||||
# ifdef __NR_renameat2
|
||||
return syscall(__NR_renameat2, oldfd, oldname, newfd, newname, flags);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
}
|
||||
|
||||
# define renameat2 missing_renameat2
|
||||
@@ -177,12 +167,7 @@ static inline int missing_renameat2(int oldfd, const char *oldname, int newfd, c
|
||||
|
||||
#if !HAVE_KCMP
|
||||
static inline int missing_kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2) {
|
||||
# if defined __NR_kcmp && __NR_kcmp >= 0
|
||||
return syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
}
|
||||
|
||||
# define kcmp missing_kcmp
|
||||
@@ -192,34 +177,19 @@ static inline int missing_kcmp(pid_t pid1, pid_t pid2, int type, unsigned long i
|
||||
|
||||
#if !HAVE_KEYCTL
|
||||
static inline long missing_keyctl(int cmd, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) {
|
||||
# if defined __NR_keyctl && __NR_keyctl >= 0
|
||||
return syscall(__NR_keyctl, cmd, arg2, arg3, arg4, arg5);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
|
||||
# define keyctl missing_keyctl
|
||||
}
|
||||
|
||||
static inline key_serial_t missing_add_key(const char *type, const char *description, const void *payload, size_t plen, key_serial_t ringid) {
|
||||
# if defined __NR_add_key && __NR_add_key >= 0
|
||||
return syscall(__NR_add_key, type, description, payload, plen, ringid);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
|
||||
# define add_key missing_add_key
|
||||
}
|
||||
|
||||
static inline key_serial_t missing_request_key(const char *type, const char *description, const char * callout_info, key_serial_t destringid) {
|
||||
# if defined __NR_request_key && __NR_request_key >= 0
|
||||
return syscall(__NR_request_key, type, description, callout_info, destringid);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
|
||||
# define request_key missing_request_key
|
||||
}
|
||||
@@ -661,12 +631,7 @@ static inline ssize_t missing_getdents64(int fd, void *buffer, size_t length) {
|
||||
#if !HAVE_SCHED_SETATTR
|
||||
|
||||
static inline ssize_t missing_sched_setattr(pid_t pid, struct sched_attr *attr, unsigned int flags) {
|
||||
# if defined __NR_sched_setattr
|
||||
return syscall(__NR_sched_setattr, pid, attr, flags);
|
||||
# else
|
||||
errno = ENOSYS;
|
||||
return -1;
|
||||
# endif
|
||||
}
|
||||
|
||||
# define sched_setattr missing_sched_setattr
|
||||
|
||||
Reference in New Issue
Block a user