From 2489ab887a86e8b1b253aef742e365a606db3a4f Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Tue, 3 Aug 2021 18:03:25 +0000 Subject: pkg/report: do more agressive NUM-replacement Replace not just long sequences of digits in report titles, but every sequence of '0'-'9' that is not surrounded by word characters. As such matches will overlap and Go does not (currently?) support regexp lookarounds, do the replacement multiple times until there is nothing more to do. This should not slow down syzkaller, since this code is only invoked during crash processing. Restrict LINE replacement only to fragments that have a preceeding file name. This prevents replacements like [1:2] -> [NUM:LINE]. --- pkg/report/testdata/linux/report/123 | 2 +- pkg/report/testdata/linux/report/124 | 2 +- pkg/report/testdata/linux/report/132 | 2 +- pkg/report/testdata/linux/report/133 | 2 +- pkg/report/testdata/linux/report/355 | 2 +- pkg/report/testdata/linux/report/578 | 2 +- pkg/report/testdata/linux/report/617 | 25 +++++++++++++++++++++++++ pkg/report/testdata/linux/report/79 | 2 +- 8 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 pkg/report/testdata/linux/report/617 (limited to 'pkg/report/testdata/linux') diff --git a/pkg/report/testdata/linux/report/123 b/pkg/report/testdata/linux/report/123 index 1a88faa4e..b9e6a16d9 100644 --- a/pkg/report/testdata/linux/report/123 +++ b/pkg/report/testdata/linux/report/123 @@ -1,4 +1,4 @@ -TITLE: INFO: Freed in fasync_free_rcu age=624 cpu=0 pid=3 +TITLE: INFO: Freed in fasync_free_rcu age=NUM cpu=NUM pid=NUM CORRUPTED: Y [ 60.089581] ================================================================== diff --git a/pkg/report/testdata/linux/report/124 b/pkg/report/testdata/linux/report/124 index 920440657..f160a4262 100644 --- a/pkg/report/testdata/linux/report/124 +++ b/pkg/report/testdata/linux/report/124 @@ -1,4 +1,4 @@ -TITLE: INFO: Allocated in fasync_helper age=1 cpu=1 pid=6024 +TITLE: INFO: Allocated in fasync_helper age=NUM cpu=NUM pid=NUM CORRUPTED: Y ** 4491 printk messages dropped ** [ 50.750742] INFO: Allocated in fasync_helper+0x29/0x90 age=1 cpu=1 pid=6024 diff --git a/pkg/report/testdata/linux/report/132 b/pkg/report/testdata/linux/report/132 index a3c76cc12..d5b86a880 100644 --- a/pkg/report/testdata/linux/report/132 +++ b/pkg/report/testdata/linux/report/132 @@ -1,4 +1,4 @@ -TITLE: INFO: Freed in fasync_free_rcu age=57 cpu=0 pid=NUM +TITLE: INFO: Freed in fasync_free_rcu age=NUM cpu=NUM pid=NUM CORRUPTED: Y [ 96.002194] nla_parse: 25 callbacks suppressed diff --git a/pkg/report/testdata/linux/report/133 b/pkg/report/testdata/linux/report/133 index d15e7574a..fb2e671e3 100644 --- a/pkg/report/testdata/linux/report/133 +++ b/pkg/report/testdata/linux/report/133 @@ -1,4 +1,4 @@ -TITLE: INFO: Allocated in fasync_helper age=1 cpu=1 pid=6024 +TITLE: INFO: Allocated in fasync_helper age=NUM cpu=NUM pid=NUM CORRUPTED: Y [ 50.636894] audit_printk_skb: 210 callbacks suppressed diff --git a/pkg/report/testdata/linux/report/355 b/pkg/report/testdata/linux/report/355 index 3a62468d9..3e93ae186 100644 --- a/pkg/report/testdata/linux/report/355 +++ b/pkg/report/testdata/linux/report/355 @@ -1,4 +1,4 @@ -TITLE: trusty: panic: failed(-5) to start app 6 +TITLE: trusty: panic: failed(-NUM) to start app NUM [ 1108.135767] trusty: pte_t *arm64_mmu_get_page_table(vaddr_t, uint, pte_t *)[ 1108.143812] trusty: :274: failed to allocate page table [ 1108.144338] trusty: pte_t *arm64_mmu_get_page_table(vaddr_t, uint, pte_t *):274: failed to allocate page table diff --git a/pkg/report/testdata/linux/report/578 b/pkg/report/testdata/linux/report/578 index eb2dfeb0f..c5dd97194 100644 --- a/pkg/report/testdata/linux/report/578 +++ b/pkg/report/testdata/linux/report/578 @@ -1,5 +1,5 @@ TITLE: kernel BUG in free_netdev -ALT: kernel BUG at net/core/dev.c:NUM! +ALT: kernel BUG at net/core/dev.c:LINE! [ 429.970583][T14786] ------------[ cut here ]------------ [ 430.011828][T14786] kernel BUG at net/core/dev.c:10648! diff --git a/pkg/report/testdata/linux/report/617 b/pkg/report/testdata/linux/report/617 new file mode 100644 index 000000000..7991cc54e --- /dev/null +++ b/pkg/report/testdata/linux/report/617 @@ -0,0 +1,25 @@ +TITLE: kernel panic: VFS: Unable to mount root fs on unknown-block(NUM,NUM) +CORRUPTED: N + + +[ 7.588873][ T1] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) +[ 7.591093][ T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.13.0-syzkaller #0 +[ 7.592511][ T1] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 7.594827][ T1] Call Trace: +[ 7.595731][ T1] dump_stack_lvl+0xcd/0x134 +[ 7.596755][ T1] panic+0x306/0x73d +[ 7.597535][ T1] ? __warn_printk+0xf3/0xf3 +[ 7.598935][ T1] mount_block_root+0x3f8/0x4dd +[ 7.600581][ T1] ? init_rootfs+0x59/0x59 +[ 7.601603][ T1] ? memcpy+0x39/0x60 +[ 7.602547][ T1] mount_root+0x1af/0x1f5 +[ 7.603323][ T1] ? mount_block_root+0x4dd/0x4dd +[ 7.604170][ T1] ? memcpy+0x39/0x60 +[ 7.605058][ T1] prepare_namespace+0x1ff/0x234 +[ 7.606115][ T1] kernel_init_freeable+0x71f/0x737 +[ 7.607467][ T1] ? rest_init+0x400/0x400 +[ 7.609009][ T1] kernel_init+0x1a/0x1d0 +[ 7.610261][ T1] ? rest_init+0x400/0x400 +[ 7.611325][ T1] ret_from_fork+0x1f/0x30 +[ 7.614266][ T1] Kernel Offset: disabled +[ 7.615575][ T1] Rebooting in 86400 seconds.. \ No newline at end of file diff --git a/pkg/report/testdata/linux/report/79 b/pkg/report/testdata/linux/report/79 index 025b95ec5..9e97b9dc3 100644 --- a/pkg/report/testdata/linux/report/79 +++ b/pkg/report/testdata/linux/report/79 @@ -1,4 +1,4 @@ -TITLE: KASAN: use-after-free in do_con_write.part.23 at addr ADDR +TITLE: KASAN: use-after-free in do_con_write.part.NUM at addr ADDR CORRUPTED: Y [ 374.860710] BUG: KASAN: use-after-free in do_con_write.part.23+0x1c50/0x1cb0 at addr ffff88000012c43a -- cgit mrf-deployment