From 64ca0a371100fc7dfdb20de9263763e46c88a436 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 9 Dec 2019 07:42:48 +0100 Subject: 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 --- sys/linux/dev_ptmx.txt.warn | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sys/linux/dev_ptmx.txt.warn (limited to 'sys/linux/dev_ptmx.txt.warn') diff --git a/sys/linux/dev_ptmx.txt.warn b/sys/linux/dev_ptmx.txt.warn new file mode 100644 index 000000000..5c9718fa8 --- /dev/null +++ b/sys/linux/dev_ptmx.txt.warn @@ -0,0 +1,25 @@ +0168: struct termios: bad number of fields: syz=12 kernel=6 +0174: field termios.cc0/c_cc: bad size: syz=1 kernel=19 +0194: struct termio: bad number of fields: syz=10 kernel=6 +0194: struct termio: bad size: syz=20 kernel=18 +0200: field termio.cc0/c_cc: bad size: syz=1 kernel=8 +0214: struct io_cmap: no corresponding struct in kernel +0223: struct unimapdesc_in: no corresponding struct in kernel +0228: struct unimapdesc_out: no corresponding struct in kernel +0238: struct unimapinit: no corresponding struct in kernel +0289: struct tiocl_selection: bad number of fields: syz=6 kernel=5 +0289: struct tiocl_selection: bad size: syz=11 kernel=10 +0290: field tiocl_selection.subcode/xs: bad size: syz=1 kernel=2 +0291: field tiocl_selection.xs/ys: bad offset: syz=1 kernel=2 +0292: field tiocl_selection.ys/xe: bad offset: syz=3 kernel=4 +0293: field tiocl_selection.xe/ye: bad offset: syz=5 kernel=6 +0294: field tiocl_selection.ye/sel_mode: bad offset: syz=7 kernel=8 +0300: struct loadlut: no corresponding struct in kernel +0308: struct tiocl_shift_state: no corresponding struct in kernel +0313: struct tioctl_scroll_console: no corresponding struct in kernel +0327: field serial_struct.close_delay/close_delay: bad size: syz=4 kernel=2 +0328: field serial_struct.io_type/io_type: bad offset: syz=36 kernel=34 +0329: field serial_struct.reserved_char/reserved_char: bad offset: syz=37 kernel=35 +0330: field serial_struct.hub6/hub6: bad offset: syz=40 kernel=36 +0331: field serial_struct.closing_wait/closing_wait: bad offset: syz=44 kernel=40 +0332: field serial_struct.closing_wait2/closing_wait2: bad offset: syz=46 kernel=42 -- cgit mrf-deployment