aboutsummaryrefslogtreecommitdiffstats
path: root/executor
diff options
context:
space:
mode:
Diffstat (limited to 'executor')
-rw-r--r--executor/common.h3
-rw-r--r--executor/common_linux.h8
-rw-r--r--executor/executor_linux.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/executor/common.h b/executor/common.h
index 8591110be..04e51cd2a 100644
--- a/executor/common.h
+++ b/executor/common.h
@@ -708,6 +708,9 @@ int main(void)
#if SYZ_KCSAN
setup_kcsan();
#endif
+#if SYZ_USB
+ setup_usb();
+#endif
#if SYZ_HANDLE_SEGV
install_segv_handler();
diff --git a/executor/common_linux.h b/executor/common_linux.h
index 30b6309c9..772d98c03 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -3514,3 +3514,11 @@ static void setup_kcsan_filterlist(char** frames, int nframes, bool blacklist)
#define SYZ_HAVE_KCSAN 1
#endif
#endif
+
+#if SYZ_EXECUTOR || SYZ_USB
+static void setup_usb()
+{
+ if (chmod("/dev/raw-gadget", 0666))
+ fail("failed to chmod /dev/raw-gadget");
+}
+#endif
diff --git a/executor/executor_linux.h b/executor/executor_linux.h
index d4220c23f..33f4e377a 100644
--- a/executor/executor_linux.h
+++ b/executor/executor_linux.h
@@ -224,6 +224,7 @@ static feature_t features[] = {
{"fault", setup_fault},
{"binfmt_misc", setup_binfmt_misc},
{"kcsan", setup_kcsan},
+ {"usb", setup_usb},
};
static void setup_machine()