//SPDX-License-Identifier: GPL-2.0-or-later /* fuzz.h - AFL++ fuzzing support for passt * * Copyright Red Hat * Author: Anshu Kumari */ #ifndef FUZZ_H #define FUZZ_H #ifdef FUZZING #include #include #include #include "fuzz-testbuf.h" int fuzz_clock_gettime(clockid_t clk, struct timespec *tp); void fuzz_clock_reset(void); int fuzz_getsockopt(int fd, int level, int optname, void *optval, socklen_t *optlen); extern const unsigned char *fuzz_sockopt_data; extern int fuzz_sockopt_data_len; #define clock_gettime(clk, tp) fuzz_clock_gettime(clk, tp) #define getsockopt(fd, level, name, val, len) \ fuzz_getsockopt(fd, level, name, val, len) #define fuzz_assert(expr) do { if (!(expr)) _exit(0); } while (0) #else /* !FUZZING */ #include #define fuzz_assert(expr) assert(expr) #endif /* FUZZING */ #endif /* FUZZ_H */