aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2022-01-12 13:58:53 +0000
committerAleksandr Nogikh <wp32pw@gmail.com>2022-01-13 17:03:14 +0100
commit5060bda66fc0ed04a6db9db7bc382bdccb1615de (patch)
tree32d99329071129a19ab57b585427991910121775
parentf635b41d90ee4c01636d9b7f67091aa2ce2c2f20 (diff)
executor: remove sys_memfd_create defines
Add memfd_create as a dependency to syz_mount_image and syz_read_part_table.
-rw-r--r--executor/common_linux.h20
-rw-r--r--pkg/csource/generated.go20
-rw-r--r--sys/targets/targets.go6
3 files changed, 7 insertions, 39 deletions
diff --git a/executor/common_linux.h b/executor/common_linux.h
index cbf311b22..6353d71f7 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -2725,24 +2725,6 @@ struct fs_image_segment {
#define IMAGE_MAX_SEGMENTS 4096
#define IMAGE_MAX_SIZE (129 << 20)
-#if GOARCH_386
-#define sys_memfd_create 356
-#elif GOARCH_amd64
-#define sys_memfd_create 319
-#elif GOARCH_arm
-#define sys_memfd_create 385
-#elif GOARCH_arm64
-#define sys_memfd_create 279
-#elif GOARCH_ppc64le
-#define sys_memfd_create 360
-#elif GOARCH_mips64le
-#define sys_memfd_create 314
-#elif GOARCH_s390x
-#define sys_memfd_create 350
-#elif GOARCH_riscv64
-#define sys_memfd_create 279
-#endif
-
static unsigned long fs_image_segment_check(unsigned long size, unsigned long nsegs, struct fs_image_segment* segs)
{
if (nsegs > IMAGE_MAX_SEGMENTS)
@@ -2770,7 +2752,7 @@ static int setup_loop_device(long unsigned size, long unsigned nsegs, struct fs_
int err = 0, loopfd = -1;
size = fs_image_segment_check(size, nsegs, segs);
- int memfd = syscall(sys_memfd_create, "syzkaller", 0);
+ int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
if (memfd == -1) {
err = errno;
goto error;
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 97d7aa3d3..522317e0f 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -6118,24 +6118,6 @@ struct fs_image_segment {
#define IMAGE_MAX_SEGMENTS 4096
#define IMAGE_MAX_SIZE (129 << 20)
-#if GOARCH_386
-#define sys_memfd_create 356
-#elif GOARCH_amd64
-#define sys_memfd_create 319
-#elif GOARCH_arm
-#define sys_memfd_create 385
-#elif GOARCH_arm64
-#define sys_memfd_create 279
-#elif GOARCH_ppc64le
-#define sys_memfd_create 360
-#elif GOARCH_mips64le
-#define sys_memfd_create 314
-#elif GOARCH_s390x
-#define sys_memfd_create 350
-#elif GOARCH_riscv64
-#define sys_memfd_create 279
-#endif
-
static unsigned long fs_image_segment_check(unsigned long size, unsigned long nsegs, struct fs_image_segment* segs)
{
if (nsegs > IMAGE_MAX_SEGMENTS)
@@ -6158,7 +6140,7 @@ static int setup_loop_device(long unsigned size, long unsigned nsegs, struct fs_
int err = 0, loopfd = -1;
size = fs_image_segment_check(size, nsegs, segs);
- int memfd = syscall(sys_memfd_create, "syzkaller", 0);
+ int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
if (memfd == -1) {
err = errno;
goto error;
diff --git a/sys/targets/targets.go b/sys/targets/targets.go
index a5946cf16..a803cc31b 100644
--- a/sys/targets/targets.go
+++ b/sys/targets/targets.go
@@ -457,7 +457,11 @@ var oses = map[string]osCommon{
ExecutorUsesShmem: true,
ExecutorUsesForkServer: true,
KernelObject: "vmlinux",
- cflags: []string{"-static-pie"},
+ PseudoSyscallDeps: map[string][]string{
+ "syz_read_part_table": []string{"memfd_create"},
+ "syz_mount_image": []string{"memfd_create"},
+ },
+ cflags: []string{"-static-pie"},
},
FreeBSD: {
SyscallNumbers: true,