aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_uhid.txt.warn
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-12-09 07:42:48 +0100
committerDmitry Vyukov <dvyukov@google.com>2019-12-17 19:03:39 +0100
commit64ca0a371100fc7dfdb20de9263763e46c88a436 (patch)
tree0e417568271dbbcc5817034a624a31d62bf20633 /sys/linux/dev_uhid.txt.warn
parentf950e82d47572b79581fd6b8355504cddb06a7f4 (diff)
tools/syz-check: add description checking utility
syz-check parses vmlinux dwarf, extracts struct descriptions, compares them with what we have (size, fields, alignment, etc) and produces .warn files. This is first raw version, it can be improved in a number of ways. But it already helped to identify a critical issue #1542 and shows some wrong struct descriptions. Update #590
Diffstat (limited to 'sys/linux/dev_uhid.txt.warn')
-rw-r--r--sys/linux/dev_uhid.txt.warn23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/linux/dev_uhid.txt.warn b/sys/linux/dev_uhid.txt.warn
new file mode 100644
index 000000000..d253243f2
--- /dev/null
+++ b/sys/linux/dev_uhid.txt.warn
@@ -0,0 +1,23 @@
+0018: struct uhid_create_req: bad number of fields: syz=11 kernel=10
+0018: struct uhid_create_req: bad size: syz=288 kernel=284
+0019: field uhid_create_req.type/name: bad size: syz=4 kernel=128
+0020: field uhid_create_req.name/phys: bad offset: syz=4 kernel=128
+0020: field uhid_create_req.name/phys: bad size: syz=128 kernel=64
+0021: field uhid_create_req.phys/uniq: bad offset: syz=132 kernel=192
+0022: field uhid_create_req.uniq/rd_data: bad offset: syz=196 kernel=256
+0022: field uhid_create_req.uniq/rd_data: bad size: syz=64 kernel=8
+0023: field uhid_create_req.rd_data/rd_size: bad offset: syz=260 kernel=264
+0023: field uhid_create_req.rd_data/rd_size: bad size: syz=8 kernel=2
+0024: field uhid_create_req.rd_size/bus: bad offset: syz=268 kernel=266
+0025: field uhid_create_req.bus/vendor: bad offset: syz=270 kernel=268
+0025: field uhid_create_req.bus/vendor: bad size: syz=2 kernel=4
+0046: struct uhid_destroy_req: no corresponding struct in kernel
+0050: struct uhid_input_req: bad number of fields: syz=3 kernel=2
+0050: struct uhid_input_req: bad size: syz=4102 kernel=4098
+0051: field uhid_input_req.type/data: bad size: syz=4 kernel=4096
+0052: field uhid_input_req.data/size: bad offset: syz=4 kernel=4096
+0052: field uhid_input_req.data/size: bad size: syz=4096 kernel=2
+0062: struct uhid_get_report_req: bad number of fields: syz=4 kernel=3
+0062: struct uhid_get_report_req: bad size: syz=10 kernel=6
+0064: field uhid_get_report_req.id/rnum: bad size: syz=4 kernel=1
+0065: field uhid_get_report_req.rnum/rtype: bad offset: syz=8 kernel=5