diff options
| author | Stefano Duo <stefanoduo@google.com> | 2020-07-13 08:03:44 +0000 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-08-14 18:55:11 +0200 |
| commit | 191c0565a15564c6fb4e1c985e9a1862d8ba3698 (patch) | |
| tree | 8e4ebcc99200ab52949fda9cb0fa78eeca423c48 /sys/linux/test | |
| parent | 991110ce9de9f08b90471c43b8143754becc0c67 (diff) | |
sys/linux/fs_fuse.txt: define FUSE request id as a resource
Currently fuse_in.unique and fuse_out.unique are not linked by any
dependency chain. This causes the majority of the replies to the kernel
to be dropped because not referring to a previously sent request.
By defining them as a resource, we push the fuzzer in the right
direction (i.e., try to respond using a previously issued unique value).
The read syscall has been updated accordingly, it now expects and parses
a fuse_in header and some additional data.
Diffstat (limited to 'sys/linux/test')
| -rw-r--r-- | sys/linux/test/fuse_deadlock | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/linux/test/fuse_deadlock b/sys/linux/test/fuse_deadlock index b83a94056..2b41b1e15 100644 --- a/sys/linux/test/fuse_deadlock +++ b/sys/linux/test/fuse_deadlock @@ -4,8 +4,8 @@ mkdirat(0xffffffffffffff9c, &AUTO='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &AUTO='/dev/fuse\x00', 0x2, 0x0) mount$fuse(0x0, &AUTO='./file0\x00', &AUTO='fuse\x00', 0x0, &AUTO={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id', 0x3d, 0x0}, 0x2c, {'group_id', 0x3d, 0x0}, 0x2c, {[], [], 0x0}}) -read$FUSE(r0, &AUTO=""/4096, AUTO) +read$FUSE(r0, &AUTO={AUTO, 0x0, <r1=>0x0, 0x0, 0x0, 0x0, 0x0, ""/8192}, AUTO) pread64(r0, &AUTO=""/236, AUTO, 0x0) # blocked -write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, 0x1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, AUTO) +write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, r1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, AUTO) mkdirat(0xffffffffffffff9c, &AUTO='./file0/file0\x00', 0x0) # unfinished write$FUSE_NOTIFY_INVAL_ENTRY(r0, &AUTO={AUTO, 0x3, 0x0, {0x1, AUTO, 0x0, 'group_id', 0x0}}, AUTO) # unfinished |
