aboutsummaryrefslogtreecommitdiffstats
path: root/executor
diff options
context:
space:
mode:
authorStefano Duo <stefanoduo@google.com>2020-08-25 09:00:58 +0000
committerDmitry Vyukov <dvyukov@google.com>2020-08-27 07:47:59 +0200
commit816e0689d7d9d8321f8bf360740f0e516aee15ca (patch)
treede02300b09a62a197b2d111e0b23a39e92b93b3c /executor
parent318430cbb3b2ceefe51518ecccabbdabb32ffe3b (diff)
executor/common_linux.h: add missing FUSE opcodes
Add the following missing FUSE opcodes to the syz_fuse_handle_req pseudo-syscall: FUSE_COPY_FILE_RANGE, FUSE_UNLINK, FUSE_DESTROY and FUSE_BATCH_FORGET.
Diffstat (limited to 'executor')
-rw-r--r--executor/common_linux.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/executor/common_linux.h b/executor/common_linux.h
index 43da7be11..a9ca4ac27 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -4500,6 +4500,8 @@ static volatile long syz_fuse_handle_req(volatile long a0, // /dev/fuse fd.
case FUSE_FLUSH:
case FUSE_RELEASE:
case FUSE_RELEASEDIR:
+ case FUSE_UNLINK:
+ case FUSE_DESTROY:
// These opcodes do not have any reply data. Hence, we pick
// another response and only use the shared header.
out_hdr = req_out->init;
@@ -4538,10 +4540,12 @@ static volatile long syz_fuse_handle_req(volatile long a0, // /dev/fuse fd.
out_hdr = req_out->getxattr;
break;
case FUSE_WRITE:
+ case FUSE_COPY_FILE_RANGE:
out_hdr = req_out->write;
break;
case FUSE_FORGET:
- // FUSE_FORGET expects no reply.
+ case FUSE_BATCH_FORGET:
+ // FUSE_FORGET and FUSE_BATCH_FORGET expect no reply.
return 0;
case FUSE_CREATE:
out_hdr = req_out->create_open;