Add test/util/save_util_linux.cc:MaybeSave to support arm64

There is no syscall_create_module on Arm64.

Signed-off-by: Bin Lu <bin.lu@arm.com>
This commit is contained in:
Bin Lu
2019-12-30 10:09:48 +08:00
parent 574e988f2b
commit 03e53745cc
+13 -1
View File
@@ -18,13 +18,25 @@
#include "test/util/save_util.h"
#if defined(__x86_64__) || defined(__i386__)
#define SYS_TRIGGER_SAVE SYS_create_module
#elif defined(__aarch64__)
#define SYS_TRIGGER_SAVE SYS_finit_module
#else
#error "Unknown architecture"
#endif
namespace gvisor {
namespace testing {
void MaybeSave() {
if (internal::ShouldSave()) {
int orig_errno = errno;
syscall(SYS_create_module, nullptr, 0);
// We use it to trigger saving the sentry state
// when this syscall is called.
// Notice: this needs to be a valid syscall
// that is not used in any of the syscall tests.
syscall(SYS_TRIGGER_SAVE, nullptr, 0);
errno = orig_errno;
}
}