| Index: sandbox/linux/services/syscall_wrappers.h
|
| diff --git a/sandbox/linux/services/syscall_wrappers.h b/sandbox/linux/services/syscall_wrappers.h
|
| index 28cc3a7de3f1e320f370e716a4ccb1f3f1fb4d82..581425a367ab249a26cc74c3497fa7a5984a3b05 100644
|
| --- a/sandbox/linux/services/syscall_wrappers.h
|
| +++ b/sandbox/linux/services/syscall_wrappers.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
|
| #define SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
|
|
|
| +#include <signal.h>
|
| #include <stdint.h>
|
| #include <sys/types.h>
|
|
|
| @@ -56,6 +57,27 @@ SANDBOX_EXPORT int sys_capget(struct cap_hdr* hdrp, struct cap_data* datap);
|
| SANDBOX_EXPORT int sys_capset(struct cap_hdr* hdrp,
|
| const struct cap_data* datap);
|
|
|
| +// Some libcs do not expose getresuid/getresgid wrappers.
|
| +SANDBOX_EXPORT int sys_getresuid(uid_t* ruid, uid_t* euid, uid_t* suid);
|
| +SANDBOX_EXPORT int sys_getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid);
|
| +
|
| +// Some libcs do not expose a chroot wrapper.
|
| +SANDBOX_EXPORT int sys_chroot(const char* path);
|
| +
|
| +// Some libcs do not expose a unshare wrapper.
|
| +SANDBOX_EXPORT int sys_unshare(int flags);
|
| +
|
| +// Some libcs do not expose a sigprocmask. Note that oldset must be a nullptr,
|
| +// because of some ABI gap between toolchain's and Linux's.
|
| +SANDBOX_EXPORT int sys_sigprocmask(int how,
|
| + const sigset_t* set,
|
| + decltype(nullptr) oldset);
|
| +
|
| +// Some libcs do not expose a sigaction().
|
| +SANDBOX_EXPORT int sys_sigaction(int signum,
|
| + const struct sigaction* act,
|
| + struct sigaction* oldact);
|
| +
|
| } // namespace sandbox
|
|
|
| #endif // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
|
|
|