Skip to content

Commit 2c633c8

Browse files
Sablin Viacheslava-nogikh
authored andcommitted
sys/linux: updated fuse fs specifications
1 parent 5df2386 commit 2c633c8

File tree

7 files changed

+121
-10
lines changed

7 files changed

+121
-10
lines changed

executor/common_linux.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5279,6 +5279,9 @@ enum fuse_opcode {
52795279
FUSE_COPY_FILE_RANGE = 47,
52805280
FUSE_SETUPMAPPING = 48,
52815281
FUSE_REMOVEMAPPING = 49,
5282+
FUSE_SYNCFS = 50,
5283+
FUSE_TMPFILE = 51,
5284+
FUSE_STATX = 52,
52825285

52835286
// CUSE specific operations
52845287
CUSE_INIT = 4096,
@@ -5330,6 +5333,7 @@ struct syz_fuse_req_out {
53305333
struct fuse_out_header* direntplus;
53315334
struct fuse_out_header* create_open;
53325335
struct fuse_out_header* ioctl;
5336+
struct fuse_out_header* statx;
53335337
};
53345338

53355339
// Link the reponse to the request and send it to /dev/fuse.
@@ -5478,6 +5482,9 @@ static volatile long syz_fuse_handle_req(volatile long a0, // /dev/fuse fd.
54785482
case FUSE_IOCTL:
54795483
out_hdr = req_out->ioctl;
54805484
break;
5485+
case FUSE_STATX:
5486+
out_hdr = req_out->statx;
5487+
break;
54815488
default:
54825489
debug("syz_fuse_handle_req: unknown FUSE opcode\n");
54835490
return -1;

sys/linux/fs_fuse.txt

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ resource fd_fuse[fd]
1212
openat$fuse(fd const[AT_FDCWD], file ptr[in, string["/dev/fuse"]], flags const[O_RDWR], mode const[0]) fd_fuse
1313
openat$cuse(fd const[AT_FDCWD], file ptr[in, string["/dev/cuse"]], flags const[O_RDWR], mode const[0]) fd_fuse
1414
ioctl$FUSE_DEV_IOC_CLONE(fd fd_fuse, cmd const[FUSE_DEV_IOC_CLONE], arg ptr[in, fd_fuse])
15+
ioctl$FUSE_DEV_IOC_BACKING_OPEN(fd fd_fuse, cmd const[FUSE_DEV_IOC_BACKING_OPEN], arg ptr[in, fuse_backing_map])
16+
ioctl$FUSE_DEV_IOC_BACKING_CLOSE(fd fd_fuse, cmd const[FUSE_DEV_IOC_BACKING_CLOSE], arg ptr[in, int32])
1517

1618
type read_buffer array[int8, FUSE_MIN_READ_BUFFER]
1719
read$FUSE(fd fd_fuse, buf ptr[out, fuse_in[read_buffer]], len bytesize[buf])
@@ -34,12 +36,14 @@ write$FUSE_ENTRY(fd fd_fuse, arg ptr[in, fuse_out[fuse_entry_out]], len bytesize
3436
write$FUSE_CREATE_OPEN(fd fd_fuse, arg ptr[in, fuse_out[fuse_create_open_out]], len bytesize[arg])
3537
write$FUSE_DIRENT(fd fd_fuse, arg ptr[in, fuse_out[array[fuse_dirent]]], len bytesize[arg])
3638
write$FUSE_DIRENTPLUS(fd fd_fuse, arg ptr[in, fuse_out[array[fuse_direntplus]]], len bytesize[arg])
39+
write$FUSE_STATX(fd fd_fuse, arg ptr[in, fuse_out[fuse_statx_out]], len bytesize[arg])
3740
write$FUSE_NOTIFY_POLL(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_POLL, fuse_notify_poll_wakeup_out]], len bytesize[arg])
3841
write$FUSE_NOTIFY_INVAL_INODE(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_INVAL_INODE, fuse_notify_inval_inode_out]], len bytesize[arg])
3942
write$FUSE_NOTIFY_INVAL_ENTRY(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_INVAL_ENTRY, fuse_notify_inval_entry_out]], len bytesize[arg])
4043
write$FUSE_NOTIFY_STORE(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_STORE, fuse_notify_store_out]], len bytesize[arg])
4144
write$FUSE_NOTIFY_RETRIEVE(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_RETRIEVE, fuse_notify_retrieve_out]], len bytesize[arg])
4245
write$FUSE_NOTIFY_DELETE(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_DELETE, fuse_notify_delete_out]], len bytesize[arg])
46+
write$FUSE_NOTIFY_RESEND(fd fd_fuse, arg ptr[in, fuse_notify[FUSE_NOTIFY_RESEND, const[0, int32]]], len bytesize[arg])
4347

4448
syz_mount_image$fuse(fs ptr[in, string["fuse"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fuse_options], chdir bool8, size const[0], img ptr[in, array[int8]]) fd_dir
4549
syz_fuse_handle_req(fd fd_fuse, buf ptr[in, read_buffer], len bytesize[buf], res ptr[in, syz_fuse_req_out])
@@ -93,10 +97,24 @@ fuse_init_out {
9397
time_gran int32
9498
max_pages const[0, int16]
9599
map_alignment const[0, int16]
96-
unused array[const[0, int32], 8]
100+
flags2 flags[fuse_init_flags2, int32]
101+
max_stack_depth int32
102+
unused array[const[0, int32], 6]
97103
}
98104

99-
fuse_init_flags = FUSE_ASYNC_READ, FUSE_POSIX_LOCKS, FUSE_FILE_OPS, FUSE_ATOMIC_O_TRUNC, FUSE_EXPORT_SUPPORT, FUSE_BIG_WRITES, FUSE_DONT_MASK, FUSE_SPLICE_WRITE, FUSE_SPLICE_MOVE, FUSE_SPLICE_READ, FUSE_FLOCK_LOCKS, FUSE_HAS_IOCTL_DIR, FUSE_AUTO_INVAL_DATA, FUSE_DO_READDIRPLUS, FUSE_READDIRPLUS_AUTO, FUSE_ASYNC_DIO, FUSE_WRITEBACK_CACHE, FUSE_NO_OPEN_SUPPORT, FUSE_PARALLEL_DIROPS, FUSE_HANDLE_KILLPRIV, FUSE_POSIX_ACL, FUSE_ABORT_ERROR, FUSE_MAX_PAGES, FUSE_CACHE_SYMLINKS, FUSE_NO_OPENDIR_SUPPORT, FUSE_EXPLICIT_INVAL_DATA
105+
fuse_init_flags = FUSE_ASYNC_READ, FUSE_POSIX_LOCKS, FUSE_FILE_OPS, FUSE_ATOMIC_O_TRUNC, FUSE_EXPORT_SUPPORT, FUSE_BIG_WRITES, FUSE_DONT_MASK, FUSE_SPLICE_WRITE, FUSE_SPLICE_MOVE, FUSE_SPLICE_READ, FUSE_FLOCK_LOCKS, FUSE_HAS_IOCTL_DIR, FUSE_AUTO_INVAL_DATA, FUSE_DO_READDIRPLUS, FUSE_READDIRPLUS_AUTO, FUSE_ASYNC_DIO, FUSE_WRITEBACK_CACHE, FUSE_NO_OPEN_SUPPORT, FUSE_PARALLEL_DIROPS, FUSE_HANDLE_KILLPRIV, FUSE_POSIX_ACL, FUSE_ABORT_ERROR, FUSE_MAX_PAGES, FUSE_CACHE_SYMLINKS, FUSE_NO_OPENDIR_SUPPORT, FUSE_EXPLICIT_INVAL_DATA, FUSE_MAP_ALIGNMENT, FUSE_SUBMOUNTS, FUSE_HANDLE_KILLPRIV_V2, FUSE_SETXATTR_EXT, FUSE_INIT_EXT, FUSE_INIT_RESERVED
106+
fuse_init_flags2 = FUSE_SECURITY_CTX_FLAG2, FUSE_HAS_INODE_DAX_FLAG2, FUSE_CREATE_SUPP_GROUP_FLAG2, FUSE_HAS_EXPIRE_ONLY_FLAG2, FUSE_DIRECT_IO_ALLOW_MMAP_FLAG2, FUSE_PASSTHROUGH_FLAG2, FUSE_NO_EXPORT_SUPPORT_FLAG2, FUSE_HAS_RESEND_FLAG2, FUSE_DIRECT_IO_RELAX_FLAG2, FUSE_ALLOW_IDMAP_FLAG2
107+
108+
define FUSE_SECURITY_CTX_FLAG2 FUSE_SECURITY_CTX >> 32
109+
define FUSE_HAS_INODE_DAX_FLAG2 FUSE_HAS_INODE_DAX >> 32
110+
define FUSE_CREATE_SUPP_GROUP_FLAG2 FUSE_CREATE_SUPP_GROUP >> 32
111+
define FUSE_HAS_EXPIRE_ONLY_FLAG2 FUSE_HAS_EXPIRE_ONLY >> 32
112+
define FUSE_DIRECT_IO_ALLOW_MMAP_FLAG2 FUSE_DIRECT_IO_ALLOW_MMAP >> 32
113+
define FUSE_PASSTHROUGH_FLAG2 FUSE_PASSTHROUGH >> 32
114+
define FUSE_NO_EXPORT_SUPPORT_FLAG2 FUSE_NO_EXPORT_SUPPORT >> 32
115+
define FUSE_HAS_RESEND_FLAG2 FUSE_HAS_RESEND >> 32
116+
define FUSE_DIRECT_IO_RELAX_FLAG2 FUSE_DIRECT_IO_RELAX >> 32
117+
define FUSE_ALLOW_IDMAP_FLAG2 FUSE_ALLOW_IDMAP >> 32
100118

101119
fuse_lseek_out {
102120
offset int64
@@ -269,6 +287,48 @@ fuse_notify_retrieve_out {
269287
padding const[0, int32]
270288
} [packed]
271289

290+
fuse_statx_out {
291+
attr_valid int64
292+
attr_valid_nsec int32
293+
flags const[0, int32]
294+
spare array[const[0, int64], 2]
295+
stat fuse_statx
296+
}
297+
298+
fuse_statx {
299+
mask flags[fuse_statx_masx, int32]
300+
blksize int32
301+
attributes int64
302+
nlink int32
303+
uid uid
304+
gid gid
305+
mode flags[fuse_valid_type, int16]
306+
__spare0 array[const[0, int16], 1]
307+
ino int64
308+
size int64
309+
blocks int64
310+
attributes_mask int64
311+
atime fuse_sx_time
312+
btime fuse_sx_time
313+
ctime fuse_sx_time
314+
mtime fuse_sx_time
315+
rdev_major int32
316+
rdev_minor int32
317+
dev_major int32
318+
dev_minor int32
319+
__spare2 array[const[0, int64], 14]
320+
}
321+
322+
fuse_statx_masx = STATX_TYPE, STATX_MODE, STATX_NLINK, STATX_UID, STATX_GID, STATX_ATIME, STATX_MTIME, STATX_CTIME, STATX_INO, STATX_SIZE, STATX_BLOCKS, STATX_BASIC_STATS, STATX_BTIME, STATX_MNT_ID, STATX_DIOALIGN, STATX_MNT_ID_UNIQUE, STATX_SUBVOL, STATX_WRITE_ATOMIC
323+
324+
fuse_valid_type = S_IFLNK, S_IFREG, S_IFDIR, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK
325+
326+
fuse_sx_time {
327+
tv_sec int64
328+
tv_nsec int32
329+
__reserved const[0, int32]
330+
}
331+
272332
# Mount options.
273333

274334
fuse_options {
@@ -311,4 +371,11 @@ syz_fuse_req_out {
311371
direntplus ptr[in, syz_fuse_out[array[fuse_direntplus]]]
312372
create_open ptr[in, syz_fuse_out[fuse_create_open_out]]
313373
ioctl ptr[in, syz_fuse_out[fuse_ioctl_out]]
374+
statx ptr[in, syz_fuse_out[fuse_statx_out]]
375+
}
376+
377+
fuse_backing_map {
378+
fd fd_fuse
379+
flags const[0, int32]
380+
padding const[0, int64]
314381
}

sys/linux/fs_fuse.txt.const

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,83 @@ FOPEN_KEEP_CACHE = 2
77
FOPEN_NONSEEKABLE = 4
88
FOPEN_STREAM = 16
99
FUSE_ABORT_ERROR = 2097152
10+
FUSE_ALLOW_IDMAP_FLAG2 = 256
1011
FUSE_ASYNC_DIO = 32768
1112
FUSE_ASYNC_READ = 1
1213
FUSE_ATOMIC_O_TRUNC = 8
1314
FUSE_AUTO_INVAL_DATA = 4096
1415
FUSE_BIG_WRITES = 32
1516
FUSE_CACHE_SYMLINKS = 8388608
17+
FUSE_CREATE_SUPP_GROUP_FLAG2 = 4
18+
FUSE_DEV_IOC_BACKING_CLOSE = 1074062594, mips64le:ppc64le:2147804418
19+
FUSE_DEV_IOC_BACKING_OPEN = 1074849025, mips64le:ppc64le:2148590849
1620
FUSE_DEV_IOC_CLONE = 2147804416, mips64le:ppc64le:1074062592
21+
FUSE_DIRECT_IO_ALLOW_MMAP_FLAG2 = 16
22+
FUSE_DIRECT_IO_RELAX_FLAG2 = 16
1723
FUSE_DONT_MASK = 64
1824
FUSE_DO_READDIRPLUS = 8192
1925
FUSE_EXPLICIT_INVAL_DATA = 33554432
2026
FUSE_EXPORT_SUPPORT = 16
2127
FUSE_FILE_OPS = 4
2228
FUSE_FLOCK_LOCKS = 1024
2329
FUSE_HANDLE_KILLPRIV = 524288
30+
FUSE_HANDLE_KILLPRIV_V2 = 268435456
31+
FUSE_HAS_EXPIRE_ONLY_FLAG2 = 8
32+
FUSE_HAS_INODE_DAX_FLAG2 = 2
2433
FUSE_HAS_IOCTL_DIR = 2048
34+
FUSE_HAS_RESEND_FLAG2 = 128
35+
FUSE_INIT_EXT = 1073741824
36+
FUSE_INIT_RESERVED = 18446744071562067968
2537
FUSE_IOCTL_RETRY = 4
2638
FUSE_KERNEL_MINOR_VERSION = 41
2739
FUSE_KERNEL_VERSION = 7
40+
FUSE_MAP_ALIGNMENT = 67108864
2841
FUSE_MAX_PAGES = 4194304
2942
FUSE_MIN_READ_BUFFER = 8192
3043
FUSE_NOTIFY_DELETE = 6
3144
FUSE_NOTIFY_INVAL_ENTRY = 3
3245
FUSE_NOTIFY_INVAL_INODE = 2
3346
FUSE_NOTIFY_POLL = 1
47+
FUSE_NOTIFY_RESEND = 7
3448
FUSE_NOTIFY_RETRIEVE = 5
3549
FUSE_NOTIFY_STORE = 4
50+
FUSE_NO_EXPORT_SUPPORT_FLAG2 = 64
3651
FUSE_NO_OPENDIR_SUPPORT = 16777216
3752
FUSE_NO_OPEN_SUPPORT = 131072
3853
FUSE_PARALLEL_DIROPS = 262144
54+
FUSE_PASSTHROUGH_FLAG2 = 32
3955
FUSE_POSIX_ACL = 1048576
4056
FUSE_POSIX_LOCKS = 2
4157
FUSE_READDIRPLUS_AUTO = 16384
58+
FUSE_SECURITY_CTX_FLAG2 = 1
59+
FUSE_SETXATTR_EXT = 536870912
4260
FUSE_SPLICE_MOVE = 256
4361
FUSE_SPLICE_READ = 512
4462
FUSE_SPLICE_WRITE = 128
63+
FUSE_SUBMOUNTS = 134217728
4564
FUSE_WRITEBACK_CACHE = 65536
4665
F_RDLCK = 0
4766
F_UNLCK = 2
4867
F_WRLCK = 1
4968
O_RDWR = 2
69+
STATX_ATIME = 32
70+
STATX_BASIC_STATS = 2047
71+
STATX_BLOCKS = 1024
72+
STATX_BTIME = 2048
73+
STATX_CTIME = 128
74+
STATX_DIOALIGN = 8192
75+
STATX_GID = 16
76+
STATX_INO = 256
77+
STATX_MNT_ID = 4096
78+
STATX_MNT_ID_UNIQUE = 16384
79+
STATX_MODE = 2
80+
STATX_MTIME = 64
81+
STATX_NLINK = 4
82+
STATX_SIZE = 512
83+
STATX_SUBVOL = 32768
84+
STATX_TYPE = 1
85+
STATX_UID = 8
86+
STATX_WRITE_ATOMIC = 65536
5087
S_IFBLK = 24576
5188
S_IFCHR = 8192
5289
S_IFDIR = 16384

sys/linux/test/fuse_deadlock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ r0 = openat$fuse(0xffffffffffffff9c, &AUTO='/dev/fuse\x00', 0x2, 0x0)
66
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}})
77
read$FUSE(r0, &AUTO={AUTO, 0x0, <r1=>0x0, 0x0, 0x0, 0x0, 0x0, ""/8192}, AUTO)
88
pread64(r0, &AUTO=""/236, AUTO, 0x0) # blocked
9-
write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, r1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "0000000000000000"}}, AUTO)
9+
write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, r1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "000000000000"}}, AUTO)
1010
mkdirat(0xffffffffffffff9c, &AUTO='./file0/file0\x00', 0x0) # unfinished
1111
write$FUSE_NOTIFY_INVAL_ENTRY(r0, &AUTO={AUTO, 0x3, 0x0, {0x1, AUTO, 0x0, 'group_id', 0x0}}, AUTO) # unfinished

sys/linux/test/fuse_getdents64

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ mkdirat(0xffffffffffffff9c, &AUTO='./file0\x00', 0x0)
22
r0 = openat$fuse(0xffffffffffffff9c, &AUTO='/dev/fuse\x00', 0x2, 0x0)
33
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}})
44
read$FUSE(r0, &AUTO={AUTO, 0x0, <r1=>0x0, 0x0, 0x0, 0x0, 0x0, ""/8192}, AUTO)
5-
write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, r1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "0000000000000000"}}, AUTO)
5+
write$FUSE_INIT(r0, &AUTO={AUTO, 0x0, r1, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "000000000000"}}, AUTO)
66
r2 = openat$dir(0xffffffffffffff9c, &AUTO='./file0\x00', 0x0, 0x0)
7-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x8, AUTO}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
7+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x8, AUTO}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
88
getdents64(r2, &AUTO=""/1024, AUTO)
9-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, [{0x0, 0x0, 0x4, 0x0, '#,,-'}]}, 0x0, 0x0, 0x0})
9+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, [{0x0, 0x0, 0x4, 0x0, '#,,-'}]}, 0x0, 0x0, 0x0, 0x0})

sys/linux/test/syz_fuse_handle_req

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ r1 = openat$dir(0xffffffffffffff9c, &AUTO='./file0\x00', 0x0, 0x0)
55

66
# FUSE_INIT
77

8-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={&AUTO={AUTO, 0x0, 0x0, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, AUTO, AUTO, "0000000000000000000000000000000000000000000000000000000000000000"}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
8+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={&AUTO={AUTO, 0x0, 0x0, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, AUTO, AUTO, 0x0, 0x0, "000000000000000000000000000000000000000000000000"}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
99

1010
# FUSE_OPENDIR
1111

12-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x0, 0x0}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
12+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x0, 0x0}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})

sys/linux/test/syz_mount_image_fuse

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ r3 = syz_mount_image$fuse(&AUTO='fuse\x00', &AUTO='./file0\x00', 0x0, &AUTO={{'f
55

66
# FUSE_INIT
77

8-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={&AUTO={AUTO, 0x0, 0x0, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, AUTO, AUTO, "0000000000000000000000000000000000000000000000000000000000000000"}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
8+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={&AUTO={AUTO, 0x0, 0x0, {AUTO, AUTO, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, AUTO, AUTO, 0x0, 0x0, "000000000000000000000000000000000000000000000000"}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
99

1010
# FUSE_OPENDIR
1111

12-
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x0, 0x0}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})
12+
syz_fuse_handle_req(r0, &AUTO=""/8192, AUTO, &AUTO={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &AUTO={AUTO, 0x0, 0x0, {0x0, 0x0, 0x0}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0})

0 commit comments

Comments
 (0)