From 5060bda66fc0ed04a6db9db7bc382bdccb1615de Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 12 Jan 2022 13:58:53 +0000 Subject: executor: remove sys_memfd_create defines Add memfd_create as a dependency to syz_mount_image and syz_read_part_table. --- executor/common_linux.h | 20 +------------------- pkg/csource/generated.go | 20 +------------------- sys/targets/targets.go | 6 +++++- 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, -- cgit mrf-deployment