summaryrefslogtreecommitdiff
path: root/arch/sandbox/include/asm/fuzzing_engine.h
diff options
context:
space:
mode:
authorAndrew Scull <ascull@google.com>2022-05-30 10:00:11 +0000
committerTom Rini <trini@konsulko.com>2022-06-23 12:58:18 -0400
commitd9962b12f200156238a4c825c0b540a203c72042 (patch)
treeea68ecbb377e9e69aa3a7974b01e2313318e3e5c /arch/sandbox/include/asm/fuzzing_engine.h
parent001c39a196c2f4414ddab8713fa113dd06a028eb (diff)
sandbox: Add libfuzzer integration
Add an implementation of LLVMFuzzerTestOneInput() that starts the sandbox on a secondary thread and exposes a function to synchronize the generation of fuzzing inputs with their consumption by the sandbox. Signed-off-by: Andrew Scull <ascull@google.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/sandbox/include/asm/fuzzing_engine.h')
-rw-r--r--arch/sandbox/include/asm/fuzzing_engine.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/sandbox/include/asm/fuzzing_engine.h b/arch/sandbox/include/asm/fuzzing_engine.h
new file mode 100644
index 00000000000..cf6396363bb
--- /dev/null
+++ b/arch/sandbox/include/asm/fuzzing_engine.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2022 Google, Inc.
+ * Written by Andrew Scull <ascull@google.com>
+ */
+
+#ifndef __ASM_FUZZING_ENGINE_H
+#define __ASM_FUZZING_ENGINE_H
+
+/** Function to get fuzzing engine input data. */
+/**
+ * sandbox_fuzzing_engine_get_input() - get an input from the sandbox fuzzing
+ * engine
+ *
+ * The function will return a pointer to the input data and the size of the
+ * data pointed to. The pointer will remain valid until the next invocation of
+ * this function.
+ *
+ * @data: output pointer to input data
+ * @size output size of input data
+ * Return: 0 if OK, -ve on error
+ */
+int sandbox_fuzzing_engine_get_input(const uint8_t **data, size_t *size);
+
+#endif /* __ASM_FUZZING_ENGINE_H */