aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/csource/generated.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-03-21 13:17:23 +0100
committerDmitry Vyukov <dvyukov@google.com>2019-03-21 13:27:41 +0100
commit44270612b458144e4c3e881bac376d32bb395ee8 (patch)
tree9dee8506297bc249f11073feebfad12b2e0f2fea /pkg/csource/generated.go
parent2dadc32780468044e81e77814e1f1969373f9c69 (diff)
executor: prevent non-null expected warnings
The added test triggers warnings like these: <stdin>: In function ‘syz_mount_image.constprop’: <stdin>:298:3: error: argument 1 null where non-null expected [-Werror=nonnull] In file included from <stdin>:26:0: /usr/include/x86_64-linux-gnu/sys/stat.h:320:12: note: in a call to function ‘mkdir’ declared here extern int mkdir (const char *__path, __mode_t __mode) ^~~~~ cc1: all warnings being treated as errors <stdin>: In function ‘syz_open_procfs.constprop’: <stdin>:530:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=] <stdin>:85:110: note: in definition of macro ‘NONFAILING’ <stdin>:532:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=] <stdin>:85:110: note: in definition of macro ‘NONFAILING’ <stdin>:534:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=] <stdin>:85:110: note: in definition of macro ‘NONFAILING’ Use volatile for all arguments of syz_ functions to prevent compiler from treating the arguments as constants in reproducers. Popped up during bisection that used a repro that previously worked. Update #501
Diffstat (limited to 'pkg/csource/generated.go')
-rw-r--r--pkg/csource/generated.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index e58ce06c6..a41a64a62 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -362,7 +362,7 @@ static uint16 csum_inet_digest(struct csum_inet* csum)
#endif
#if SYZ_EXECUTOR || __NR_syz_execute_func
-static long syz_execute_func(long text)
+static long syz_execute_func(volatile long text)
{
((void (*)(void))(text))();
return 0;
@@ -548,7 +548,7 @@ static void initialize_tun(int tun_id)
#include <stdbool.h>
#include <sys/uio.h>
-static long syz_emit_ethernet(long a0, long a1)
+static long syz_emit_ethernet(volatile long a0, volatile long a1)
{
if (tunfd < 0)
return (uintptr_t)-1;
@@ -599,7 +599,7 @@ struct tcp_resources {
#include <netinet/tcp.h>
#include <netinet/if_ether.h>
-static long syz_extract_tcp_res(long a0, long a1, long a2)
+static long syz_extract_tcp_res(volatile long a0, volatile long a1, volatile long a2)
{
if (tunfd < 0)
@@ -957,7 +957,7 @@ static long syz_job_default(void)
#endif
#if SYZ_EXECUTOR || __NR_syz_future_time
-static long syz_future_time(long when)
+static long syz_future_time(volatile long when)
{
zx_time_t delta_ms;
switch (when) {
@@ -1579,7 +1579,7 @@ struct vnet_fragmentation {
uint32 frags[MAX_FRAGS];
};
-static long syz_emit_ethernet(long a0, long a1, long a2)
+static long syz_emit_ethernet(volatile long a0, volatile long a1, volatile long a2)
{
if (tunfd < 0)
return (uintptr_t)-1;
@@ -1657,7 +1657,7 @@ struct tcp_resources {
uint32 ack;
};
-static long syz_extract_tcp_res(long a0, long a1, long a2)
+static long syz_extract_tcp_res(volatile long a0, volatile long a1, volatile long a2)
{
if (tunfd < 0)
@@ -1713,7 +1713,7 @@ static long syz_extract_tcp_res(long a0, long a1, long a2)
#include <sys/stat.h>
#include <sys/types.h>
-static long syz_open_dev(long a0, long a1, long a2)
+static long syz_open_dev(volatile long a0, volatile long a1, volatile long a2)
{
if (a0 == 0xc || a0 == 0xb) {
char buf[128];
@@ -1739,7 +1739,7 @@ static long syz_open_dev(long a0, long a1, long a2)
#include <sys/stat.h>
#include <sys/types.h>
-static long syz_open_procfs(long a0, long a1)
+static long syz_open_procfs(volatile long a0, volatile long a1)
{
char buf[128];
@@ -1764,7 +1764,7 @@ static long syz_open_procfs(long a0, long a1)
#include <sys/stat.h>
#include <sys/types.h>
-static long syz_open_pts(long a0, long a1)
+static long syz_open_pts(volatile long a0, volatile long a1)
{
int ptyno = 0;
if (ioctl(a0, TIOCGPTN, &ptyno))
@@ -1784,7 +1784,7 @@ static long syz_open_pts(long a0, long a1)
#include <unistd.h>
const int kInitNetNsFd = 239;
-static long syz_init_net_socket(long domain, long type, long proto)
+static long syz_init_net_socket(volatile long domain, volatile long type, volatile long proto)
{
int netns = open("/proc/self/ns/net", O_RDONLY);
if (netns == -1)
@@ -1800,7 +1800,7 @@ static long syz_init_net_socket(long domain, long type, long proto)
return sock;
}
#else
-static long syz_init_net_socket(long domain, long type, long proto)
+static long syz_init_net_socket(volatile long domain, volatile long type, volatile long proto)
{
return syscall(__NR_socket, domain, type, proto);
}
@@ -1814,7 +1814,7 @@ static long syz_init_net_socket(long domain, long type, long proto)
#include <sys/socket.h>
#include <sys/types.h>
-static long syz_genetlink_get_family_id(long name)
+static long syz_genetlink_get_family_id(volatile long name)
{
char buf[512] = {0};
struct nlmsghdr* hdr = (struct nlmsghdr*)buf;
@@ -1892,7 +1892,7 @@ struct fs_image_segment {
#endif
#if SYZ_EXECUTOR || __NR_syz_read_part_table
-static long syz_read_part_table(unsigned long size, unsigned long nsegs, long segments)
+static long syz_read_part_table(volatile unsigned long size, volatile unsigned long nsegs, volatile long segments)
{
char loopname[64], linkname[64];
int loopfd, err = 0, res = -1;
@@ -1983,7 +1983,7 @@ error:
#if SYZ_EXECUTOR || __NR_syz_mount_image
#include <string.h>
#include <sys/mount.h>
-static long syz_mount_image(long fsarg, long dir, unsigned long size, unsigned long nsegs, long segments, long flags, long optsarg)
+static long syz_mount_image(volatile long fsarg, volatile long dir, volatile unsigned long size, volatile unsigned long nsegs, volatile long segments, volatile long flags, volatile long optsarg)
{
char loopname[64], fs[32], opts[256];
int loopfd, err = 0, res = -1;
@@ -2411,7 +2411,7 @@ struct kvm_opt {
#define KVM_SETUP_VIRT86 (1 << 4)
#define KVM_SETUP_SMM (1 << 5)
#define KVM_SETUP_VM (1 << 6)
-static uintptr_t syz_kvm_setup_cpu(uintptr_t a0, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7)
+static long syz_kvm_setup_cpu(volatile long a0, volatile long a1, volatile long a2, volatile long a3, volatile long a4, volatile long a5, volatile long a6, volatile long a7)
{
const int vmfd = a0;
const int cpufd = a1;
@@ -2961,7 +2961,7 @@ struct kvm_opt {
uint64 typ;
uint64 val;
};
-static uintptr_t syz_kvm_setup_cpu(uintptr_t a0, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7)
+static long syz_kvm_setup_cpu(volatile long a0, volatile long a1, volatile long a2, volatile long a3, volatile long a4, volatile long a5, volatile long a6, volatile long a7)
{
const int vmfd = a0;
const int cpufd = a1;
@@ -3028,7 +3028,7 @@ static uintptr_t syz_kvm_setup_cpu(uintptr_t a0, uintptr_t a1, uintptr_t a2, uin
}
#else
-static long syz_kvm_setup_cpu(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7)
+static long syz_kvm_setup_cpu(volatile long a0, volatile long a1, volatile long a2, volatile long a3, volatile long a4, volatile long a5, volatile long a6, volatile long a7)
{
return 0;
}
@@ -4341,7 +4341,7 @@ static void reset_test()
#if SYZ_EXECUTOR || __NR_syz_mmap
#include <sys/mman.h>
-static long syz_mmap(long a0, long a1)
+static long syz_mmap(volatile long a0, volatile long a1)
{
return (long)mmap((void*)a0, a1, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_FIXED, -1, 0);
}
@@ -4349,7 +4349,7 @@ static long syz_mmap(long a0, long a1)
#if SYZ_EXECUTOR || __NR_syz_errno
#include <errno.h>
-static long syz_errno(long v)
+static long syz_errno(volatile long v)
{
errno = v;
return v == 0 ? 0 : -1;
@@ -4357,7 +4357,7 @@ static long syz_errno(long v)
#endif
#if SYZ_EXECUTOR || __NR_syz_exit
-static long syz_exit(long status)
+static long syz_exit(volatile long status)
{
_exit(status);
return 0;
@@ -4367,7 +4367,7 @@ static long syz_exit(long status)
#if SYZ_EXECUTOR || __NR_syz_compare
#include <errno.h>
#include <string.h>
-static long syz_compare(long want, long want_len, long got, long got_len)
+static long syz_compare(volatile long want, volatile long want_len, volatile long got, volatile long got_len)
{
if (want_len != got_len) {
debug("syz_compare: want_len=%lu got_len=%lu\n", want_len, got_len);
@@ -4389,7 +4389,7 @@ static long syz_compare(long want, long want_len, long got, long got_len)
#if SYZ_EXECUTOR || __NR_syz_compare_int
#include <errno.h>
#include <stdarg.h>
-static long syz_compare_int(long n, ...)
+static long syz_compare_int(volatile long n, ...)
{
va_list args;
va_start(args, n);