diff options
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/executor.cc | 6 | ||||
| -rw-r--r-- | executor/syscalls.h | 144 |
2 files changed, 148 insertions, 2 deletions
diff --git a/executor/executor.cc b/executor/executor.cc index e48c26008..56115f909 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -586,15 +586,17 @@ void execute_call(thread_t* th) debug("open(\"%s\", 0x%lx)\n", buf, flags); th->res = open(buf, flags, 0); } else { + // syz_open_dev(dev strconst, id intptr, flags flags[open_flags]) fd uint64_t id = th->args[1]; uint64_t flags = th->args[2]; char buf[128]; strncpy(buf, dev, sizeof(buf)); buf[sizeof(buf) - 1] = 0; - char* hash = strchr(buf, '#'); - if (hash != NULL) + while (char* hash = strchr(buf, '#')) { *hash = '0' + (char)(id % 10); // 10 devices should be enough for everyone. + id /= 10; + } debug("syz_open_dev(\"%s\", 0x%lx, 0)\n", buf, flags); th->res = open(buf, flags, 0); } diff --git a/executor/syscalls.h b/executor/syscalls.h index dd9479c93..b40263d25 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -328,6 +328,54 @@ call_t syscalls[] = { {"sched_yield", 24}, {"getrandom", 318}, {"membarrier", 324}, + {"syz_open_dev$floppy", 1000001}, + {"syz_open_dev$pktcdvd", 1000001}, + {"syz_open_dev$lightnvm", 1000001}, + {"syz_open_dev$vcs", 1000001}, + {"syz_open_dev$vcsn", 1000001}, + {"syz_open_dev$vcsa", 1000001}, + {"syz_open_dev$vga_arbiter", 1000001}, + {"syz_open_dev$vhci", 1000001}, + {"syz_open_dev$userio", 1000001}, + {"syz_open_dev$rtc", 1000001}, + {"syz_open_dev$rfkill", 1000001}, + {"syz_open_dev$qat_adf_ctl", 1000001}, + {"syz_open_dev$ppp", 1000001}, + {"syz_open_dev$mixer", 1000001}, + {"syz_open_dev$irnet", 1000001}, + {"syz_open_dev$hwrng", 1000001}, + {"syz_open_dev$hpet", 1000001}, + {"syz_open_dev$hidraw0", 1000001}, + {"syz_open_dev$fb0", 1000001}, + {"syz_open_dev$cuse", 1000001}, + {"syz_open_dev$console", 1000001}, + {"syz_open_dev$capi20", 1000001}, + {"syz_open_dev$autofs", 1000001}, + {"syz_open_dev$binder", 1000001}, + {"syz_open_dev$ion", 1000001}, + {"syz_open_dev$keychord", 1000001}, + {"syz_open_dev$zygote", 1000001}, + {"syz_open_dev$sw_sync", 1000001}, + {"syz_open_dev$sr", 1000001}, + {"syz_open_dev$sequencer", 1000001}, + {"syz_open_dev$sequencer2", 1000001}, + {"syz_open_dev$dsp", 1000001}, + {"syz_open_dev$audio", 1000001}, + {"syz_open_dev$usbmon", 1000001}, + {"syz_open_dev$sg", 1000001}, + {"syz_open_dev$midi", 1000001}, + {"syz_open_dev$loop", 1000001}, + {"syz_open_dev$ircomm", 1000001}, + {"syz_open_dev$dspn", 1000001}, + {"syz_open_dev$dmmidi", 1000001}, + {"syz_open_dev$admmidi", 1000001}, + {"syz_open_dev$adsp", 1000001}, + {"syz_open_dev$amidi", 1000001}, + {"syz_open_dev$audion", 1000001}, + {"syz_open_dev$usb", 1000001}, + {"syz_open_dev$sndhw", 1000001}, + {"syz_open_dev$sndmidi", 1000001}, + {"syz_open_dev$sndpcm", 1000001}, {"socket", 41}, {"socketpair", 53}, {"accept", 43}, @@ -1294,6 +1342,54 @@ call_t syscalls[] = { {"sched_yield", 124}, {"getrandom", 278}, {"membarrier", 283}, + {"syz_open_dev$floppy", 1000001}, + {"syz_open_dev$pktcdvd", 1000001}, + {"syz_open_dev$lightnvm", 1000001}, + {"syz_open_dev$vcs", 1000001}, + {"syz_open_dev$vcsn", 1000001}, + {"syz_open_dev$vcsa", 1000001}, + {"syz_open_dev$vga_arbiter", 1000001}, + {"syz_open_dev$vhci", 1000001}, + {"syz_open_dev$userio", 1000001}, + {"syz_open_dev$rtc", 1000001}, + {"syz_open_dev$rfkill", 1000001}, + {"syz_open_dev$qat_adf_ctl", 1000001}, + {"syz_open_dev$ppp", 1000001}, + {"syz_open_dev$mixer", 1000001}, + {"syz_open_dev$irnet", 1000001}, + {"syz_open_dev$hwrng", 1000001}, + {"syz_open_dev$hpet", 1000001}, + {"syz_open_dev$hidraw0", 1000001}, + {"syz_open_dev$fb0", 1000001}, + {"syz_open_dev$cuse", 1000001}, + {"syz_open_dev$console", 1000001}, + {"syz_open_dev$capi20", 1000001}, + {"syz_open_dev$autofs", 1000001}, + {"syz_open_dev$binder", 1000001}, + {"syz_open_dev$ion", 1000001}, + {"syz_open_dev$keychord", 1000001}, + {"syz_open_dev$zygote", 1000001}, + {"syz_open_dev$sw_sync", 1000001}, + {"syz_open_dev$sr", 1000001}, + {"syz_open_dev$sequencer", 1000001}, + {"syz_open_dev$sequencer2", 1000001}, + {"syz_open_dev$dsp", 1000001}, + {"syz_open_dev$audio", 1000001}, + {"syz_open_dev$usbmon", 1000001}, + {"syz_open_dev$sg", 1000001}, + {"syz_open_dev$midi", 1000001}, + {"syz_open_dev$loop", 1000001}, + {"syz_open_dev$ircomm", 1000001}, + {"syz_open_dev$dspn", 1000001}, + {"syz_open_dev$dmmidi", 1000001}, + {"syz_open_dev$admmidi", 1000001}, + {"syz_open_dev$adsp", 1000001}, + {"syz_open_dev$amidi", 1000001}, + {"syz_open_dev$audion", 1000001}, + {"syz_open_dev$usb", 1000001}, + {"syz_open_dev$sndhw", 1000001}, + {"syz_open_dev$sndmidi", 1000001}, + {"syz_open_dev$sndpcm", 1000001}, {"socket", 198}, {"socketpair", 199}, {"accept", 202}, @@ -2260,6 +2356,54 @@ call_t syscalls[] = { {"sched_yield", 158}, {"getrandom", 359}, {"membarrier", 365}, + {"syz_open_dev$floppy", 1000001}, + {"syz_open_dev$pktcdvd", 1000001}, + {"syz_open_dev$lightnvm", 1000001}, + {"syz_open_dev$vcs", 1000001}, + {"syz_open_dev$vcsn", 1000001}, + {"syz_open_dev$vcsa", 1000001}, + {"syz_open_dev$vga_arbiter", 1000001}, + {"syz_open_dev$vhci", 1000001}, + {"syz_open_dev$userio", 1000001}, + {"syz_open_dev$rtc", 1000001}, + {"syz_open_dev$rfkill", 1000001}, + {"syz_open_dev$qat_adf_ctl", 1000001}, + {"syz_open_dev$ppp", 1000001}, + {"syz_open_dev$mixer", 1000001}, + {"syz_open_dev$irnet", 1000001}, + {"syz_open_dev$hwrng", 1000001}, + {"syz_open_dev$hpet", 1000001}, + {"syz_open_dev$hidraw0", 1000001}, + {"syz_open_dev$fb0", 1000001}, + {"syz_open_dev$cuse", 1000001}, + {"syz_open_dev$console", 1000001}, + {"syz_open_dev$capi20", 1000001}, + {"syz_open_dev$autofs", 1000001}, + {"syz_open_dev$binder", 1000001}, + {"syz_open_dev$ion", 1000001}, + {"syz_open_dev$keychord", 1000001}, + {"syz_open_dev$zygote", 1000001}, + {"syz_open_dev$sw_sync", 1000001}, + {"syz_open_dev$sr", 1000001}, + {"syz_open_dev$sequencer", 1000001}, + {"syz_open_dev$sequencer2", 1000001}, + {"syz_open_dev$dsp", 1000001}, + {"syz_open_dev$audio", 1000001}, + {"syz_open_dev$usbmon", 1000001}, + {"syz_open_dev$sg", 1000001}, + {"syz_open_dev$midi", 1000001}, + {"syz_open_dev$loop", 1000001}, + {"syz_open_dev$ircomm", 1000001}, + {"syz_open_dev$dspn", 1000001}, + {"syz_open_dev$dmmidi", 1000001}, + {"syz_open_dev$admmidi", 1000001}, + {"syz_open_dev$adsp", 1000001}, + {"syz_open_dev$amidi", 1000001}, + {"syz_open_dev$audion", 1000001}, + {"syz_open_dev$usb", 1000001}, + {"syz_open_dev$sndhw", 1000001}, + {"syz_open_dev$sndmidi", 1000001}, + {"syz_open_dev$sndpcm", 1000001}, {"socket", 326}, {"socketpair", 333}, {"accept", 330}, |
