From 44d1319aab39b23be41fbf75d9d37ef9aaa665f2 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 7 Jan 2022 18:12:23 +0100 Subject: pkg/report: ignore ref_tracker frames ref_tracker is a generic debugging facility, the actual bug is (almost always) in the caller. --- pkg/report/testdata/linux/guilty/52 | 34 +++++++++++++++++++++++++ pkg/report/testdata/linux/guilty/53 | 49 +++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 pkg/report/testdata/linux/guilty/52 create mode 100644 pkg/report/testdata/linux/guilty/53 (limited to 'pkg/report/testdata/linux/guilty') diff --git a/pkg/report/testdata/linux/guilty/52 b/pkg/report/testdata/linux/guilty/52 new file mode 100644 index 000000000..afd4f4954 --- /dev/null +++ b/pkg/report/testdata/linux/guilty/52 @@ -0,0 +1,34 @@ +FILE: net/core/net_namespace.c + +------------[ cut here ]------------ +WARNING: CPU: 1 PID: 981 at lib/ref_tracker.c:38 spin_unlock_irqrestore include/linux/spinlock.h:404 [inline] +WARNING: CPU: 1 PID: 981 at lib/ref_tracker.c:38 ref_tracker_dir_exit.cold+0x137/0x1e3 lib/ref_tracker.c:37 +Modules linked in: +CPU: 1 PID: 981 Comm: kworker/u4:5 Not tainted 5.16.0-rc7-syzkaller #0 +Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +Workqueue: netns cleanup_net +RIP: 0010:ref_tracker_dir_exit.cold+0x137/0x1e3 lib/ref_tracker.c:38 +Code: 4c 89 ef e8 27 29 aa f8 4c 8b 3c 24 4c 39 fd 49 8b 07 0f 85 b5 00 00 00 e8 c2 b9 62 f8 48 8b 74 24 10 4c 89 e7 e8 25 15 36 00 <0f> 0b e9 91 40 e9 fa 4c 89 ff e8 f6 28 aa f8 e9 d4 fe ff ff e8 dc +RSP: 0018:ffffc90004897970 EFLAGS: 00010246 +RAX: 0000000000000000 RBX: dffffc0000000000 RCX: 0000000000000000 +RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000001 +RBP: ffff88806ec6e600 R08: 0000000000000001 R09: ffffffff8ff9ba0f +R10: 0000000000000001 R11: 0000000000000001 R12: ffff88806ec6e5b8 +R13: ffff88806ec6e600 R14: ffff88806ec6e600 R15: ffff88806ec6e600 +FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 +CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 +CR2: 00007f507edcd370 CR3: 000000000b88e000 CR4: 00000000003506e0 +DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 +DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 +Call Trace: + + free_netdev+0x32a/0x5b0 net/core/dev.c:10280 + netdev_run_todo+0x8a0/0xaa0 net/core/dev.c:9957 + default_device_exit_batch+0x2ff/0x3c0 net/core/dev.c:10938 + ops_exit_list+0x10d/0x160 net/core/net_namespace.c:171 + cleanup_net+0x4ea/0xb00 net/core/net_namespace.c:595 + process_one_work+0x9b2/0x1660 kernel/workqueue.c:2298 + worker_thread+0x65d/0x1130 kernel/workqueue.c:2445 + kthread+0x405/0x4f0 kernel/kthread.c:327 + ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 + diff --git a/pkg/report/testdata/linux/guilty/53 b/pkg/report/testdata/linux/guilty/53 new file mode 100644 index 000000000..d25be4ac5 --- /dev/null +++ b/pkg/report/testdata/linux/guilty/53 @@ -0,0 +1,49 @@ +FILE: net/packet/af_packet.c + +------------[ cut here ]------------ +WARNING: CPU: 1 PID: 3598 at lib/ref_tracker.c:120 spin_unlock_irqrestore include/linux/spinlock.h:404 [inline] +WARNING: CPU: 1 PID: 3598 at lib/ref_tracker.c:120 ref_tracker_free.cold+0x110/0x14e lib/ref_tracker.c:119 +Modules linked in: +CPU: 1 PID: 3598 Comm: syz-executor840 Not tainted 5.16.0-rc7-syzkaller #0 +Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +RIP: 0010:ref_tracker_free.cold+0x110/0x14e lib/ref_tracker.c:120 +Code: ea 03 48 c1 e0 2a 0f b6 04 02 84 c0 74 04 3c 03 7e 4c 8b 7b 18 e8 39 67 e9 fa e8 04 e8 62 f8 4c 89 ee 48 89 ef e8 39 11 36 00 <0f> 0b 41 bd ea ff ff ff e9 8b 73 e9 fa 4c 89 f7 e8 74 57 aa f8 e9 +RSP: 0018:ffffc9000276fb08 EFLAGS: 00010282 +RAX: 0000000080000001 RBX: ffff888014ffe080 RCX: 0000000000000000 +RDX: 0000000000000002 RSI: 0000000000000002 RDI: 0000000000000001 +RBP: ffff888141bb05b8 R08: 0000000000000001 R09: ffffffff8ff9bac7 +R10: 0000000000000001 R11: 0000000000000000 R12: 1ffff920004edf63 +R13: 0000000000000292 R14: ffff888014ffe098 R15: 00000000fa60013b +FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 +CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 +CR2: 00007f586c8c2e08 CR3: 000000000b88e000 CR4: 00000000003506e0 +DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 +DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 +Call Trace: + + netdev_tracker_free include/linux/netdevice.h:3863 [inline] + dev_put_track include/linux/netdevice.h:3880 [inline] + dev_put_track include/linux/netdevice.h:3876 [inline] + packet_release+0x382/0xd00 net/packet/af_packet.c:3113 + __sock_release+0xcd/0x280 net/socket.c:650 + sock_close+0x18/0x20 net/socket.c:1315 + __fput+0x286/0x9f0 fs/file_table.c:280 + task_work_run+0xdd/0x1a0 kernel/task_work.c:164 + exit_task_work include/linux/task_work.h:32 [inline] + do_exit+0xc14/0x2b40 kernel/exit.c:832 + do_group_exit+0x125/0x310 kernel/exit.c:929 + __do_sys_exit_group kernel/exit.c:940 [inline] + __se_sys_exit_group kernel/exit.c:938 [inline] + __x64_sys_exit_group+0x3a/0x50 kernel/exit.c:938 + do_syscall_x64 arch/x86/entry/common.c:50 [inline] + do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 + entry_SYSCALL_64_after_hwframe+0x44/0xae +RIP: 0033:0x7f586c87ece9 +Code: Unable to access opcode bytes at RIP 0x7f586c87ecbf. +RSP: 002b:00007ffddce50a68 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 +RAX: ffffffffffffffda RBX: 00007f586c8f2270 RCX: 00007f586c87ece9 +RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000000 +RBP: 0000000000000000 R08: ffffffffffffffc0 R09: 0000000000000000 +R10: 0000000000000000 R11: 0000000000000246 R12: 00007f586c8f2270 +R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001 + -- cgit mrf-deployment