mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Use correct statx syscall number for amd64.
The previous number was for the arm architecture. Also change the statx tests to force them to run on gVisor, which would have caught this issue. PiperOrigin-RevId: 254846831
This commit is contained in:
committed by
gVisor bot
parent
b21b1db700
commit
87df9aab24
@@ -379,7 +379,7 @@ var AMD64 = &kernel.SyscallTable{
|
||||
326: syscalls.ErrorWithEvent("copy_file_range", syscall.ENOSYS, "", nil),
|
||||
327: syscalls.Undocumented("preadv2", Preadv2),
|
||||
328: syscalls.Undocumented("pwritev2", Pwritev2),
|
||||
397: syscalls.Undocumented("statx", Statx),
|
||||
332: syscalls.Supported("statx", Statx),
|
||||
},
|
||||
|
||||
Emulate: map[usermem.Addr]uintptr{
|
||||
|
||||
@@ -558,7 +558,7 @@ TEST(SimpleStatTest, AnonDeviceAllocatesUniqueInodesAcrossSaveRestore) {
|
||||
|
||||
#ifndef SYS_statx
|
||||
#if defined(__x86_64__)
|
||||
#define SYS_statx 397
|
||||
#define SYS_statx 332
|
||||
#else
|
||||
#error "Unknown architecture"
|
||||
#endif
|
||||
@@ -607,7 +607,8 @@ int statx(int dirfd, const char *pathname, int flags, unsigned int mask,
|
||||
}
|
||||
|
||||
TEST_F(StatTest, StatxAbsPath) {
|
||||
SKIP_IF(statx(-1, nullptr, 0, 0, 0) < 0 && errno == ENOSYS);
|
||||
SKIP_IF(!IsRunningOnGvisor() && statx(-1, nullptr, 0, 0, 0) < 0 &&
|
||||
errno == ENOSYS);
|
||||
|
||||
struct kernel_statx stx;
|
||||
EXPECT_THAT(statx(-1, test_file_name_.c_str(), 0, STATX_ALL, &stx),
|
||||
@@ -616,7 +617,8 @@ TEST_F(StatTest, StatxAbsPath) {
|
||||
}
|
||||
|
||||
TEST_F(StatTest, StatxRelPathDirFD) {
|
||||
SKIP_IF(statx(-1, nullptr, 0, 0, 0) < 0 && errno == ENOSYS);
|
||||
SKIP_IF(!IsRunningOnGvisor() && statx(-1, nullptr, 0, 0, 0) < 0 &&
|
||||
errno == ENOSYS);
|
||||
|
||||
struct kernel_statx stx;
|
||||
auto const dirfd =
|
||||
@@ -629,7 +631,8 @@ TEST_F(StatTest, StatxRelPathDirFD) {
|
||||
}
|
||||
|
||||
TEST_F(StatTest, StatxRelPathCwd) {
|
||||
SKIP_IF(statx(-1, nullptr, 0, 0, 0) < 0 && errno == ENOSYS);
|
||||
SKIP_IF(!IsRunningOnGvisor() && statx(-1, nullptr, 0, 0, 0) < 0 &&
|
||||
errno == ENOSYS);
|
||||
|
||||
ASSERT_THAT(chdir(GetAbsoluteTestTmpdir().c_str()), SyscallSucceeds());
|
||||
auto filename = std::string(Basename(test_file_name_));
|
||||
@@ -640,7 +643,8 @@ TEST_F(StatTest, StatxRelPathCwd) {
|
||||
}
|
||||
|
||||
TEST_F(StatTest, StatxEmptyPath) {
|
||||
SKIP_IF(statx(-1, nullptr, 0, 0, 0) < 0 && errno == ENOSYS);
|
||||
SKIP_IF(!IsRunningOnGvisor() && statx(-1, nullptr, 0, 0, 0) < 0 &&
|
||||
errno == ENOSYS);
|
||||
|
||||
const auto fd = ASSERT_NO_ERRNO_AND_VALUE(Open(test_file_name_, O_RDONLY));
|
||||
struct kernel_statx stx;
|
||||
|
||||
Reference in New Issue
Block a user