aboutsummaryrefslogtreecommitdiffstats
path: root/executor/executor.cc
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-01-16 00:23:47 +0100
committerDmitry Vyukov <dvyukov@google.com>2016-01-16 00:23:47 +0100
commit9c277c79744a9cb6dd9174fccbde52b65803530f (patch)
tree97f005ac11dd47a702565687cbaffd8fffd328c0 /executor/executor.cc
parentb1f7eb0c307c7f098b07b5cc4d6012b269fe8b3b (diff)
sys: describe more dri syscalls
Diffstat (limited to 'executor/executor.cc')
-rw-r--r--executor/executor.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/executor/executor.cc b/executor/executor.cc
index ed7648934..432b72557 100644
--- a/executor/executor.cc
+++ b/executor/executor.cc
@@ -364,6 +364,12 @@ thread_t* schedule_call(int n, int call_index, int call_num, uint64_t num_args,
case __NR_syz_fuse_mount:
case __NR_syz_fuseblk_mount:
root = true;
+ default:
+ // Lots of dri ioctls require root.
+ // There are some generic permission checks that hopefully don't contain bugs,
+ // so let's just execute all them under root.
+ if (strncmp(syscalls[call_num].name, "ioctl$DRM", sizeof("ioctl$DRM")) == 0)
+ root = true;
}
// Find a spare thread to execute the call.