diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-09-24 10:59:44 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-09-24 10:59:44 +0200 |
| commit | 684e7e3250592c6a038b720824749a4ed0fddf90 (patch) | |
| tree | ea93c3938e1f2eee13098f855fe988a4ec4a8a61 /pkg | |
| parent | e029c3e0582074d10de8d7b6f27f674231f93e83 (diff) | |
pkg/report: ignore more str* functions
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/report/linux.go | 2 | ||||
| -rw-r--r-- | pkg/report/testdata/linux/report/306 | 343 | ||||
| -rw-r--r-- | pkg/report/testdata/linux/report/307 | 62 | ||||
| -rw-r--r-- | pkg/report/testdata/linux/report/308 | 150 |
4 files changed, 557 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index cbd4d18df..e23f7e32c 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -671,6 +671,8 @@ var linuxStackParams = &stackParams{ "strcpy", "strlcpy", "strlen", + "strnstr", + "strnlen", "copy_to_user", "copy_from_user", "put_user", diff --git a/pkg/report/testdata/linux/report/306 b/pkg/report/testdata/linux/report/306 new file mode 100644 index 000000000..37a0ccde9 --- /dev/null +++ b/pkg/report/testdata/linux/report/306 @@ -0,0 +1,343 @@ +TITLE: KASAN: global-out-of-bounds Read in __aa_lookupn_ns + +[ 218.522865] ================================================================== +[ 218.530431] BUG: KASAN: global-out-of-bounds in memcmp+0xe3/0x160 +[ 218.536676] Read of size 1 at addr ffffffff88000008 by task syz-executor3/8786 +[ 218.536684] +[ 218.536703] CPU: 0 PID: 8786 Comm: syz-executor3 Not tainted 4.19.0-rc5+ #251 +[ 218.536716] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 218.536726] Call Trace: +[ 218.552992] dump_stack+0x1c4/0x2b4 +22:45:44 executing program 5: +openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) +mbind(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x0, &(0x7f0000000000), 0x45, 0x2) + +[ 218.553024] ? dump_stack_print_info.cold.2+0x52/0x52 +[ 218.553042] ? printk+0xa7/0xcf +[ 218.553060] ? kmsg_dump_rewind_nolock+0xe4/0xe4 +[ 218.553085] print_address_description.cold.8+0x58/0x1ff +[ 218.587295] kasan_report.cold.9+0x242/0x309 +[ 218.591735] ? memcmp+0xe3/0x160 +[ 218.595130] __asan_report_load1_noabort+0x14/0x20 +[ 218.595147] memcmp+0xe3/0x160 +[ 218.595165] strnstr+0x4b/0x70 +[ 218.595182] ? __switch_to_asm+0x34/0x70 +[ 218.595201] ? __switch_to_asm+0x34/0x70 +[ 218.610567] __aa_lookupn_ns+0xc1/0x570 +[ 218.610592] ? aa_find_ns+0x30/0x30 +22:45:44 executing program 5: +openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) +mbind(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x0, &(0x7f0000000000), 0x45, 0x2) + +[ 218.610610] ? lock_acquire+0x1ed/0x520 +[ 218.610630] ? __aa_lookupn_ns+0x570/0x570 +[ 218.630476] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.636035] ? check_preemption_disabled+0x48/0x200 +[ 218.641066] ? kasan_check_read+0x11/0x20 +[ 218.645234] ? rcu_dynticks_curr_cpu_in_eqs+0x9f/0x160 +[ 218.650531] ? rcu_bh_qs+0xc0/0xc0 +[ 218.654089] ? print_usage_bug+0xc0/0xc0 +[ 218.658159] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.658193] ? __switch_to_asm+0x34/0x70 +[ 218.658223] aa_lookupn_ns+0x88/0x1e0 +22:45:44 executing program 5: +ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) +mbind(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x0, &(0x7f0000000000), 0x45, 0x2) + +[ 218.658255] aa_fqlookupn_profile+0x1b9/0x1010 +[ 218.671655] ? preempt_notifier_register+0x200/0x200 +[ 218.671671] ? __switch_to_asm+0x34/0x70 +[ 218.671704] ? __switch_to_asm+0x34/0x70 +[ 218.671734] ? aa_lookup_profile+0x30/0x30 +[ 218.671748] ? __lock_acquire+0x7ec/0x4ec0 +[ 218.671762] ? __switch_to_asm+0x34/0x70 +[ 218.671801] ? __switch_to_asm+0x40/0x70 +[ 218.706168] ? __switch_to_asm+0x34/0x70 +[ 218.710239] ? __switch_to_asm+0x40/0x70 +[ 218.714335] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.719883] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 218.725354] ? refcount_add_not_zero_checked+0x330/0x330 +[ 218.725390] ? mark_held_locks+0x130/0x130 +[ 218.725408] ? __sched_text_start+0x8/0x8 +[ 218.725422] ? check_preemption_disabled+0x48/0x200 +[ 218.725439] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.725456] ? __sanitizer_cov_trace_const_cmp8+0x18/0x20 +[ 218.725477] fqlookupn_profile+0x80/0xc0 +[ 218.739295] aa_label_strn_parse+0xa3a/0x1230 +[ 218.739322] ? aa_label_printk+0x850/0x850 +[ 218.739339] ? __lock_acquire+0x7ec/0x4ec0 +[ 218.739359] ? lockdep_hardirqs_on+0x421/0x5c0 +[ 218.776994] ? preempt_schedule+0x4d/0x60 +[ 218.777050] ? preempt_schedule_common+0x1f/0xd0 +[ 218.777071] ? graph_lock+0x170/0x170 +[ 218.777103] ? __lock_acquire+0x7ec/0x4ec0 +[ 218.786013] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.786033] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 218.786053] ? refcount_add_not_zero_checked+0x330/0x330 +[ 218.786072] ? graph_lock+0x170/0x170 +[ 218.799212] FAULT_INJECTION: forcing a failure. +[ 218.799212] name failslab, interval 1, probability 0, space 0, times 0 +[ 218.799627] ? find_held_lock+0x36/0x1c0 +[ 218.829537] aa_label_parse+0x42/0x50 +[ 218.833352] aa_change_profile+0x513/0x3510 +[ 218.837694] ? lock_acquire+0x1ed/0x520 +[ 218.841685] ? aa_change_hat+0x1a20/0x1a20 +[ 218.845940] ? is_bpf_text_address+0xd3/0x170 +[ 218.850456] ? __mutex_lock+0x85e/0x1700 +[ 218.854533] ? proc_pid_attr_write+0x28a/0x540 +[ 218.859134] ? mutex_trylock+0x2b0/0x2b0 +[ 218.863206] ? save_stack+0xa9/0xd0 +[ 218.866841] ? save_stack+0x43/0xd0 +[ 218.870482] ? kasan_kmalloc+0xc7/0xe0 +[ 218.874380] ? __kmalloc_track_caller+0x14a/0x750 +[ 218.879230] ? memdup_user+0x2c/0xa0 +[ 218.882950] ? proc_pid_attr_write+0x198/0x540 +[ 218.887539] ? graph_lock+0x170/0x170 +[ 218.891376] ? __x64_sys_write+0x73/0xb0 +[ 218.895465] ? graph_lock+0x170/0x170 +[ 218.899282] ? mark_held_locks+0x130/0x130 +[ 218.903549] apparmor_setprocattr+0xaa4/0x1150 +[ 218.908149] ? apparmor_task_kill+0xcb0/0xcb0 +[ 218.912662] ? lock_downgrade+0x900/0x900 +[ 218.916831] ? arch_local_save_flags+0x40/0x40 +[ 218.921456] security_setprocattr+0x66/0xc0 +[ 218.925796] proc_pid_attr_write+0x301/0x540 +[ 218.930222] __vfs_write+0x119/0x9f0 +[ 218.933947] ? check_preemption_disabled+0x48/0x200 +[ 218.938968] ? proc_loginuid_write+0x4f0/0x4f0 +[ 218.943572] ? kernel_read+0x120/0x120 +[ 218.947478] ? __lock_is_held+0xb5/0x140 +[ 218.951563] ? rcu_read_lock_sched_held+0x108/0x120 +[ 218.956615] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 218.962159] ? __sb_start_write+0x1b2/0x370 +[ 218.966513] vfs_write+0x1fc/0x560 +[ 218.970071] ksys_write+0x101/0x260 +[ 218.973729] ? __ia32_sys_read+0xb0/0xb0 +[ 218.977806] ? __bpf_trace_preemptirq_template+0x30/0x30 +[ 218.983307] __x64_sys_write+0x73/0xb0 +[ 218.987730] do_syscall_64+0x1b9/0x820 +[ 218.991645] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe +[ 218.997046] ? syscall_return_slowpath+0x5e0/0x5e0 +[ 219.002018] ? trace_hardirqs_on_caller+0x310/0x310 +[ 219.007048] ? prepare_exit_to_usermode+0x3b0/0x3b0 +[ 219.012082] ? recalc_sigpending_tsk+0x180/0x180 +[ 219.016840] ? kasan_check_write+0x14/0x20 +[ 219.021093] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 219.025952] entry_SYSCALL_64_after_hwframe+0x49/0xbe +[ 219.031145] RIP: 0033:0x457679 +[ 219.034344] Code: 1d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 eb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 +[ 219.053245] RSP: 002b:00007f6077a06c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 +[ 219.060958] RAX: ffffffffffffffda RBX: 00007f6077a076d4 RCX: 0000000000457679 +[ 219.068221] RDX: 0000000000000009 RSI: 0000000020000040 RDI: 0000000000000005 +[ 219.075488] RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000 +[ 219.082756] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff +[ 219.090027] R13: 00000000004d8f38 R14: 00000000004c55ed R15: 0000000000000000 +[ 219.097520] +[ 219.099172] The buggy address belongs to the variable: +[ 219.104456] __start_rodata+0x8/0x1000 +[ 219.108332] +[ 219.109956] Memory state around the buggy address: +[ 219.114905] ffffffff87ffff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +[ 219.122295] ffffffff87ffff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +[ 219.129655] >ffffffff88000000: 00 fa fa fa fa fa fa fa 00 01 fa fa fa fa fa fa +[ 219.137014] ^ +[ 219.140638] ffffffff88000080: 00 00 00 07 fa fa fa fa 00 04 fa fa fa fa fa fa +[ 219.148006] ffffffff88000100: 05 fa fa fa fa fa fa fa 00 00 00 00 05 fa fa fa +[ 219.155361] ================================================================== +[ 219.162715] Disabling lock debugging due to kernel taint +[ 219.182288] CPU: 1 PID: 8817 Comm: syz-executor4 Tainted: G B 4.19.0-rc5+ #251 +[ 219.190974] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 219.200339] Call Trace: +[ 219.202937] dump_stack+0x1c4/0x2b4 +[ 219.206575] ? dump_stack_print_info.cold.2+0x52/0x52 +[ 219.211804] ? kernel_text_address+0x79/0xf0 +[ 219.216225] should_fail.cold.4+0xa/0x17 +[ 219.220296] ? fault_create_debugfs_attr+0x1f0/0x1f0 +[ 219.225410] ? graph_lock+0x170/0x170 +[ 219.229220] ? graph_lock+0x170/0x170 +[ 219.230918] Kernel panic - not syncing: panic_on_warn set ... +[ 219.230918] +[ 219.233040] ? lock_acquire+0x1ed/0x520 +[ 219.244359] ? find_held_lock+0x36/0x1c0 +[ 219.248423] ? __lock_is_held+0xb5/0x140 +[ 219.252496] ? ___might_sleep+0x1ed/0x300 +[ 219.256651] ? arch_local_save_flags+0x40/0x40 +[ 219.261238] ? do_raw_spin_unlock+0xa7/0x2f0 +[ 219.265663] __should_failslab+0x124/0x180 +[ 219.269960] should_failslab+0x9/0x14 +[ 219.273765] kmem_cache_alloc+0x2be/0x730 +[ 219.277921] ? __vma_adjust+0x1810/0x1810 +[ 219.282072] vm_area_alloc+0x7a/0x1d0 +[ 219.285889] ? arch_release_thread_stack+0x10/0x10 +[ 219.290838] mmap_region+0x9d4/0x1cd0 +[ 219.294641] ? mpx_unmapped_area_check+0xd8/0x108 +[ 219.299490] ? __x64_sys_brk+0x7d0/0x7d0 +[ 219.303552] ? arch_get_unmapped_area+0x750/0x750 +[ 219.308394] ? graph_lock+0x170/0x170 +[ 219.312195] ? graph_lock+0x170/0x170 +[ 219.316012] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.321568] ? unuse_pde+0x40/0x80 +[ 219.325111] ? proc_reg_get_unmapped_area+0x308/0x450 +[ 219.330307] ? proc_reg_poll+0x3a0/0x3a0 +[ 219.334372] ? lock_acquire+0x1ed/0x520 +[ 219.338369] ? __sanitizer_cov_trace_cmp8+0x18/0x20 +[ 219.343403] ? cap_mmap_addr+0x52/0x130 +[ 219.347392] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.352930] ? security_mmap_addr+0x80/0xa0 +[ 219.357251] ? __sanitizer_cov_trace_const_cmp8+0x18/0x20 +[ 219.362792] ? get_unmapped_area+0x292/0x3b0 +[ 219.367198] do_mmap+0xa10/0x1220 +[ 219.370655] ? mmap_region+0x1cd0/0x1cd0 +[ 219.374711] ? vm_mmap_pgoff+0x1b5/0x2c0 +[ 219.378768] ? down_read_killable+0x1f0/0x1f0 +[ 219.383286] ? security_mmap_file+0x174/0x1b0 +[ 219.387794] vm_mmap_pgoff+0x213/0x2c0 +[ 219.391689] ? vma_is_stack_for_current+0xd0/0xd0 +[ 219.396534] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.402071] ? check_preemption_disabled+0x48/0x200 +[ 219.407121] ksys_mmap_pgoff+0x4da/0x660 +[ 219.411185] ? do_syscall_64+0x9a/0x820 +[ 219.415175] ? find_mergeable_anon_vma+0xd0/0xd0 +[ 219.419934] ? trace_hardirqs_on+0xbd/0x310 +[ 219.424259] ? __ia32_sys_read+0xb0/0xb0 +[ 219.428348] ? __sanitizer_cov_trace_const_cmp1+0x1a/0x20 +[ 219.433886] ? entry_SYSCALL_64_after_hwframe+0x49/0xbe +[ 219.439255] ? __bpf_trace_preemptirq_template+0x30/0x30 +[ 219.444709] __x64_sys_mmap+0xe9/0x1b0 +[ 219.448601] do_syscall_64+0x1b9/0x820 +[ 219.452493] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe +[ 219.457864] ? syscall_return_slowpath+0x5e0/0x5e0 +[ 219.462810] ? trace_hardirqs_on_caller+0x310/0x310 +[ 219.467829] ? prepare_exit_to_usermode+0x3b0/0x3b0 +[ 219.472861] ? recalc_sigpending_tsk+0x180/0x180 +[ 219.477614] ? kasan_check_write+0x14/0x20 +[ 219.481855] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 219.486706] entry_SYSCALL_64_after_hwframe+0x49/0xbe +[ 219.491890] RIP: 0033:0x457679 +[ 219.495086] Code: 1d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 eb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 +[ 219.513987] RSP: 002b:00007f530204ec78 EFLAGS: 00000246 ORIG_RAX: 0000000000000009 +[ 219.521709] RAX: ffffffffffffffda RBX: 00007f530204f6d4 RCX: 0000000000457679 +[ 219.528972] RDX: 0000000000000000 RSI: 0000000000003000 RDI: 0000000020000000 +[ 219.536245] RBP: 000000000072bf00 R08: 0000000000000003 R09: 0000000000000000 +[ 219.543511] R10: 0000000000010012 R11: 0000000000000246 R12: 0000000000000006 +[ 219.550780] R13: 00000000004d3d60 R14: 00000000004c294b R15: 0000000000000002 +[ 219.558066] CPU: 0 PID: 8786 Comm: syz-executor3 Tainted: G B 4.19.0-rc5+ #251 +[ 219.566735] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 219.576090] Call Trace: +[ 219.578678] dump_stack+0x1c4/0x2b4 +[ 219.582317] ? dump_stack_print_info.cold.2+0x52/0x52 +[ 219.587519] ? trace_hardirqs_on_thunk+0x1a/0x1c +[ 219.592304] panic+0x238/0x4e7 +[ 219.595502] ? add_taint.cold.5+0x16/0x16 +[ 219.599659] ? preempt_schedule+0x4d/0x60 +[ 219.603817] ? ___preempt_schedule+0x16/0x18 +[ 219.608249] ? trace_hardirqs_on+0xb4/0x310 +[ 219.612589] kasan_end_report+0x47/0x4f +[ 219.616565] kasan_report.cold.9+0x76/0x309 +[ 219.620891] ? memcmp+0xe3/0x160 +[ 219.624265] __asan_report_load1_noabort+0x14/0x20 +[ 219.629205] memcmp+0xe3/0x160 +[ 219.632416] strnstr+0x4b/0x70 +[ 219.635611] ? __switch_to_asm+0x34/0x70 +[ 219.639672] ? __switch_to_asm+0x34/0x70 +[ 219.643751] __aa_lookupn_ns+0xc1/0x570 +[ 219.647736] ? aa_find_ns+0x30/0x30 +[ 219.651366] ? lock_acquire+0x1ed/0x520 +[ 219.655343] ? __aa_lookupn_ns+0x570/0x570 +[ 219.659578] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.665113] ? check_preemption_disabled+0x48/0x200 +[ 219.670144] ? kasan_check_read+0x11/0x20 +[ 219.674303] ? rcu_dynticks_curr_cpu_in_eqs+0x9f/0x160 +[ 219.679579] ? rcu_bh_qs+0xc0/0xc0 +[ 219.683133] ? print_usage_bug+0xc0/0xc0 +[ 219.687193] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.692740] ? __switch_to_asm+0x34/0x70 +[ 219.696816] aa_lookupn_ns+0x88/0x1e0 +[ 219.700623] aa_fqlookupn_profile+0x1b9/0x1010 +[ 219.705212] ? preempt_notifier_register+0x200/0x200 +[ 219.710311] ? __switch_to_asm+0x34/0x70 +[ 219.714376] ? __switch_to_asm+0x34/0x70 +[ 219.718454] ? aa_lookup_profile+0x30/0x30 +[ 219.722698] ? __lock_acquire+0x7ec/0x4ec0 +[ 219.726934] ? __switch_to_asm+0x34/0x70 +[ 219.730994] ? __switch_to_asm+0x40/0x70 +[ 219.735072] ? __switch_to_asm+0x34/0x70 +[ 219.739133] ? __switch_to_asm+0x40/0x70 +[ 219.743197] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.748736] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 219.754193] ? refcount_add_not_zero_checked+0x330/0x330 +[ 219.759647] ? mark_held_locks+0x130/0x130 +[ 219.763894] ? __sched_text_start+0x8/0x8 +[ 219.768040] ? check_preemption_disabled+0x48/0x200 +[ 219.773058] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.778622] ? __sanitizer_cov_trace_const_cmp8+0x18/0x20 +[ 219.784169] fqlookupn_profile+0x80/0xc0 +[ 219.788238] aa_label_strn_parse+0xa3a/0x1230 +[ 219.792738] ? aa_label_printk+0x850/0x850 +[ 219.796976] ? __lock_acquire+0x7ec/0x4ec0 +[ 219.801230] ? lockdep_hardirqs_on+0x421/0x5c0 +[ 219.805830] ? preempt_schedule+0x4d/0x60 +[ 219.809989] ? preempt_schedule_common+0x1f/0xd0 +[ 219.814762] ? graph_lock+0x170/0x170 +[ 219.818584] ? __lock_acquire+0x7ec/0x4ec0 +[ 219.822815] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.828354] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 219.833861] ? refcount_add_not_zero_checked+0x330/0x330 +[ 219.839336] ? graph_lock+0x170/0x170 +[ 219.843144] ? find_held_lock+0x36/0x1c0 +[ 219.847214] aa_label_parse+0x42/0x50 +[ 219.851029] aa_change_profile+0x513/0x3510 +[ 219.855358] ? lock_acquire+0x1ed/0x520 +[ 219.859344] ? aa_change_hat+0x1a20/0x1a20 +[ 219.863656] ? is_bpf_text_address+0xd3/0x170 +[ 219.868175] ? __mutex_lock+0x85e/0x1700 +[ 219.872234] ? proc_pid_attr_write+0x28a/0x540 +[ 219.876799] ? mutex_trylock+0x2b0/0x2b0 +[ 219.880847] ? save_stack+0xa9/0xd0 +[ 219.884456] ? save_stack+0x43/0xd0 +[ 219.888058] ? kasan_kmalloc+0xc7/0xe0 +[ 219.891924] ? __kmalloc_track_caller+0x14a/0x750 +[ 219.896745] ? memdup_user+0x2c/0xa0 +[ 219.900438] ? proc_pid_attr_write+0x198/0x540 +[ 219.905008] ? graph_lock+0x170/0x170 +[ 219.908792] ? __x64_sys_write+0x73/0xb0 +[ 219.912837] ? graph_lock+0x170/0x170 +[ 219.916623] ? mark_held_locks+0x130/0x130 +[ 219.920856] apparmor_setprocattr+0xaa4/0x1150 +[ 219.925425] ? apparmor_task_kill+0xcb0/0xcb0 +[ 219.929901] ? lock_downgrade+0x900/0x900 +[ 219.934034] ? arch_local_save_flags+0x40/0x40 +[ 219.938630] security_setprocattr+0x66/0xc0 +[ 219.942933] proc_pid_attr_write+0x301/0x540 +[ 219.947325] __vfs_write+0x119/0x9f0 +[ 219.951037] ? check_preemption_disabled+0x48/0x200 +[ 219.956043] ? proc_loginuid_write+0x4f0/0x4f0 +[ 219.960606] ? kernel_read+0x120/0x120 +[ 219.964478] ? __lock_is_held+0xb5/0x140 +[ 219.968541] ? rcu_read_lock_sched_held+0x108/0x120 +[ 219.973542] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 219.979061] ? __sb_start_write+0x1b2/0x370 +[ 219.983397] vfs_write+0x1fc/0x560 +[ 219.986946] ksys_write+0x101/0x260 +[ 219.990582] ? __ia32_sys_read+0xb0/0xb0 +[ 219.994627] ? __bpf_trace_preemptirq_template+0x30/0x30 +[ 220.000068] __x64_sys_write+0x73/0xb0 +[ 220.003942] do_syscall_64+0x1b9/0x820 +[ 220.007816] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe +[ 220.013191] ? syscall_return_slowpath+0x5e0/0x5e0 +[ 220.018138] ? trace_hardirqs_on_caller+0x310/0x310 +[ 220.023136] ? prepare_exit_to_usermode+0x3b0/0x3b0 +[ 220.028137] ? recalc_sigpending_tsk+0x180/0x180 +[ 220.032873] ? kasan_check_write+0x14/0x20 +[ 220.037116] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 220.041946] entry_SYSCALL_64_after_hwframe+0x49/0xbe +[ 220.047116] RIP: 0033:0x457679 +[ 220.050294] Code: 1d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 eb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 +[ 220.069178] RSP: 002b:00007f6077a06c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 +[ 220.076867] RAX: ffffffffffffffda RBX: 00007f6077a076d4 RCX: 0000000000457679 +[ 220.084117] RDX: 0000000000000009 RSI: 0000000020000040 RDI: 0000000000000005 +[ 220.091370] RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000 +[ 220.098623] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff +[ 220.105875] R13: 00000000004d8f38 R14: 00000000004c55ed R15: 0000000000000000 +[ 220.114010] Kernel Offset: disabled +[ 220.117635] Rebooting in 86400 seconds.. diff --git a/pkg/report/testdata/linux/report/307 b/pkg/report/testdata/linux/report/307 new file mode 100644 index 000000000..f683a94b7 --- /dev/null +++ b/pkg/report/testdata/linux/report/307 @@ -0,0 +1,62 @@ +TITLE: KASAN: stack-out-of-bounds Read in string + +[ 29.725847] ================================================================== +[ 29.733228] BUG: KASAN: stack-out-of-bounds in strnlen+0xc1/0xd0 +[ 29.739348] Read of size 1 at addr ffff8801d0877d04 by task syzkaller968690/3469 +[ 29.746852] +[ 29.748450] CPU: 0 PID: 3469 Comm: syzkaller968690 Not tainted 4.4.107-g610c835 #12 +[ 29.756215] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +[ 29.765533] 0000000000000000 32c3afb9a0a8afa3 ffff8801d0877758 ffffffff81d0457d +[ 29.773491] ffffea0007421dc0 ffff8801d0877d04 0000000000000000 ffff8801d0877d04 +[ 29.781439] ffffffff856b29c0 ffff8801d0877790 ffffffff814fbb23 ffff8801d0877d04 +[ 29.789383] Call Trace: +[ 29.791936] [<ffffffff81d0457d>] dump_stack+0xc1/0x124 +[ 29.797264] [<ffffffff814fbb23>] print_address_description+0x73/0x260 +[ 29.803894] [<ffffffff814fc035>] kasan_report+0x285/0x370 +[ 29.809501] [<ffffffff81d1ff51>] ? strnlen+0xc1/0xd0 +[ 29.814660] [<ffffffff814fc134>] __asan_report_load1_noabort+0x14/0x20 +[ 29.821378] [<ffffffff81d1ff51>] strnlen+0xc1/0xd0 +[ 29.826357] [<ffffffff81d27bdc>] string.isra.4+0x4c/0x240 +[ 29.831946] [<ffffffff81d232c8>] ? format_decode+0x118/0xa50 +[ 29.837796] [<ffffffff81d2d086>] vsnprintf+0x766/0x15f0 +[ 29.843211] [<ffffffff81d2c920>] ? pointer.isra.22+0xa00/0xa00 +[ 29.849234] [<ffffffff81d2df3d>] vscnprintf+0x2d/0x60 +[ 29.854483] [<ffffffff81266f8b>] vprintk_emit+0xdb/0x850 +[ 29.859985] [<ffffffff8123364f>] ? mark_held_locks+0xaf/0x100 +[ 29.865919] [<ffffffff81267728>] vprintk+0x28/0x30 +[ 29.870900] [<ffffffff8126774d>] vprintk_default+0x1d/0x30 +[ 29.876574] [<ffffffff8141839d>] printk+0xb7/0xe2 +[ 29.881471] [<ffffffff814182e6>] ? pm_qos_get_value.part.4+0xb/0xb +[ 29.887842] [<ffffffff8376a7e0>] ? __ww_mutex_lock+0x14f0/0x14f0 +[ 29.894042] [<ffffffff830982e7>] do_ip_vs_set_ctl+0x9b7/0xba0 +[ 29.899979] [<ffffffff83097930>] ? ip_vs_genl_set_cmd+0x9a0/0x9a0 +[ 29.906261] [<ffffffff8122cf91>] ? __lock_is_held+0xa1/0xf0 +[ 29.912026] [<ffffffff8123364f>] ? mark_held_locks+0xaf/0x100 +[ 29.917969] [<ffffffff8376adb4>] ? mutex_lock_nested+0x5d4/0x850 +[ 29.924167] [<ffffffff81233a2b>] ? trace_hardirqs_on_caller+0x38b/0x590 +[ 29.930981] [<ffffffff8376e359>] ? mutex_unlock+0x9/0x10 +[ 29.936498] [<ffffffff82f97007>] ? nf_sockopt_find.constprop.0+0x1a7/0x220 +[ 29.943560] [<ffffffff82f971a7>] nf_setsockopt+0x67/0xc0 +[ 29.949061] [<ffffffff830fe561>] ip_setsockopt+0xa1/0xb0 +[ 29.954565] [<ffffffff831a4395>] udp_setsockopt+0x45/0x80 +[ 29.960164] [<ffffffff82df2b55>] sock_common_setsockopt+0x95/0xd0 +[ 29.966447] [<ffffffff82defc20>] SyS_setsockopt+0x160/0x250 +[ 29.972213] [<ffffffff8148979e>] ? vmacache_update+0xfe/0x130 +[ 29.978148] [<ffffffff82defac0>] ? SyS_recv+0x40/0x40 +[ 29.983401] [<ffffffff83774884>] ? retint_user+0x18/0x20 +[ 29.988906] [<ffffffff81003017>] ? trace_hardirqs_on_thunk+0x17/0x19 +[ 29.995456] [<ffffffff83773d36>] entry_SYSCALL_64_fastpath+0x16/0x76 +[ 30.002009] +[ 30.003601] The buggy address belongs to the page: +[ 30.008501] page:ffffea0007421dc0 count:0 mapcount:0 mapping: (null) index:0x0 +[ 30.016606] flags: 0x8000000000000000() +[ 30.020657] page dumped because: kasan: bad access detected +[ 30.026328] +[ 30.027920] Memory state around the buggy address: +[ 30.032815] ffff8801d0877c00: 00 00 00 00 00 04 f2 f2 f2 f2 f2 f2 00 00 00 00 +[ 30.040141] ffff8801d0877c80: 00 00 00 00 f2 f2 f2 f2 00 00 00 00 00 00 00 00 +[ 30.047473] >ffff8801d0877d00: 04 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00 +[ 30.054794] ^ +[ 30.058125] ffff8801d0877d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +[ 30.065461] ffff8801d0877e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +[ 30.072794] ================================================================== diff --git a/pkg/report/testdata/linux/report/308 b/pkg/report/testdata/linux/report/308 new file mode 100644 index 000000000..3086d5aae --- /dev/null +++ b/pkg/report/testdata/linux/report/308 @@ -0,0 +1,150 @@ +TITLE: general protection fault in __aa_lookupn_ns + +[ 234.220213] kasan: GPF could be caused by NULL-ptr deref or user memory access +[ 234.245620] general protection fault: 0000 [#1] PREEMPT SMP KASAN +[ 234.251890] CPU: 0 PID: 10175 Comm: syz-executor1 Not tainted 4.19.0-rc5+ #251 +[ 234.259274] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 +22:45:50 executing program 5: +clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, &(0x7f00000000c0), 0xffffffffffffffff) +r0 = getpid() +sched_setscheduler(r0, 0x5, &(0x7f0000000200)) +futex(&(0x7f00000001c0)=0x100000000000000, 0xc, 0x0, &(0x7f0000000040), &(0x7f0000004000), 0x0) +ioctl$TIOCLINUX3(0xffffffffffffffff, 0x541c, &(0x7f0000000100)) +ioctl$UI_BEGIN_FF_ERASE(0xffffffffffffffff, 0xc00c55ca, &(0x7f0000000080)) +ioctl$UI_END_FF_ERASE(0xffffffffffffffff, 0x400c55cb, &(0x7f0000000300)={0x0, 0x1}) + +[ 234.268662] RIP: 0010:memcmp+0x28/0x160 +[ 234.272658] Code: 00 00 48 85 d2 0f 84 0a 01 00 00 48 b8 00 00 00 00 00 fc ff df 55 48 89 f9 48 89 e5 48 c1 e9 03 41 54 53 48 89 fb 48 83 ec 18 <0f> b6 04 01 48 89 f9 83 e1 07 38 c8 7f 08 84 c0 0f 85 98 00 00 00 +[ 234.291571] RSP: 0018:ffff88019a51ef98 EFLAGS: 00010292 +[ 234.296960] RAX: dffffc0000000000 RBX: 1ffff100334a3e4f RCX: 03fffe20066947c9 +[ 234.302554] kobject: 'loop5' (00000000d5f15f89): kobject_uevent_env +[ 234.304236] RDX: 0000000000000002 RSI: ffffffff883f7980 RDI: 1ffff100334a3e4f +[ 234.304247] RBP: ffff88019a51efc0 R08: ffff8801b9432640 R09: ffffed003b5a4732 +[ 234.304256] R10: ffffed003b5a4732 R11: ffff8801dad23993 R12: 0000000000000002 +[ 234.304267] R13: ffffffff883f7980 R14: 1fff7901cd9c319f R15: dffffc0000000000 +[ 234.304284] FS: 00007f3dde3f8700(0000) GS:ffff8801dac00000(0000) knlGS:0000000000000000 +[ 234.310800] kobject: 'loop5' (00000000d5f15f89): fill_kobj_path: path = '/devices/virtual/block/loop5' +[ 234.317944] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 +[ 234.317955] CR2: 0000000000413720 CR3: 00000001bcd8e000 CR4: 00000000001406f0 +22:45:50 executing program 3: +r0 = socket$inet(0x2, 0x4000000000000001, 0x0) +socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000280)={0xffffffffffffffff, <r1=>0xffffffffffffffff}) +clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, &(0x7f0000000100), 0xffffffffffffffff) +ioctl$BLKSECTGET(r1, 0x1267, &(0x7f0000000000)) +sched_setscheduler(0x0, 0x5, &(0x7f0000000200)) +getsockopt$ARPT_SO_GET_ENTRIES(r0, 0x0, 0x61, &(0x7f0000000180)={'filter\x00', 0x4, "39fe0cf1"}, &(0x7f00000000c0)=0x28) + +[ 234.317967] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 +[ 234.317977] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 +[ 234.317982] Call Trace: +[ 234.318005] ? _raw_spin_unlock_irq+0x27/0x80 +[ 234.318022] strnstr+0x4b/0x70 +[ 234.382961] kobject: 'loop3' (00000000a906aecd): kobject_uevent_env +[ 234.385162] __aa_lookupn_ns+0xc1/0x570 +[ 234.385197] ? compat_start_thread+0x80/0x80 +[ 234.387895] kobject: 'loop3' (00000000a906aecd): fill_kobj_path: path = '/devices/virtual/block/loop3' +[ 234.392265] ? aa_find_ns+0x30/0x30 +[ 234.392323] ? lock_acquire+0x1ed/0x520 +[ 234.392343] ? __aa_lookupn_ns+0x570/0x570 +[ 234.412577] kobject: 'loop4' (00000000324e1a6e): kobject_uevent_env +[ 234.419700] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 234.419716] ? check_preemption_disabled+0x48/0x200 +[ 234.419734] ? kasan_check_read+0x11/0x20 +[ 234.419757] ? rcu_dynticks_curr_cpu_in_eqs+0x9f/0x160 +[ 234.438733] kobject: 'loop4' (00000000324e1a6e): fill_kobj_path: path = '/devices/virtual/block/loop4' +[ 234.443494] ? __switch_to_asm+0x34/0x70 +[ 234.443512] ? rcu_bh_qs+0xc0/0xc0 +[ 234.443534] ? print_usage_bug+0xc0/0xc0 +[ 234.479004] ? __switch_to_asm+0x34/0x70 +[ 234.483070] ? __switch_to_asm+0x40/0x70 +[ 234.487144] aa_lookupn_ns+0x88/0x1e0 +[ 234.490954] aa_fqlookupn_profile+0x1b9/0x1010 +[ 234.495549] ? aa_lookup_profile+0x30/0x30 +[ 234.499275] kobject: 'loop5' (00000000d5f15f89): kobject_uevent_env +[ 234.499836] ? __lock_acquire+0x7ec/0x4ec0 +[ 234.499861] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 234.499883] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 234.508993] kobject: 'loop5' (00000000d5f15f89): fill_kobj_path: path = '/devices/virtual/block/loop5' +[ 234.510517] ? refcount_add_not_zero_checked+0x330/0x330 +[ 234.510534] ? mark_held_locks+0x130/0x130 +[ 234.510575] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 234.546123] ? __sanitizer_cov_trace_const_cmp8+0x18/0x20 +[ 234.551653] fqlookupn_profile+0x80/0xc0 +[ 234.555728] aa_label_strn_parse+0xa3a/0x1230 +[ 234.560226] ? aa_label_printk+0x850/0x850 +[ 234.564447] ? zap_class+0x640/0x640 +[ 234.568165] ? __might_sleep+0x95/0x190 +[ 234.572125] ? graph_lock+0x170/0x170 +[ 234.575923] ? __lock_acquire+0x7ec/0x4ec0 +[ 234.580153] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 234.585691] ? refcount_inc_not_zero_checked+0x1e5/0x2f0 +[ 234.591127] ? refcount_add_not_zero_checked+0x330/0x330 +[ 234.596565] ? graph_lock+0x170/0x170 +[ 234.600358] ? find_held_lock+0x36/0x1c0 +[ 234.604409] aa_label_parse+0x42/0x50 +[ 234.608195] aa_change_profile+0x513/0x3510 +[ 234.612517] ? lock_acquire+0x1ed/0x520 +[ 234.616509] ? aa_change_hat+0x1a20/0x1a20 +[ 234.620750] ? is_bpf_text_address+0xd3/0x170 +[ 234.625236] ? __mutex_lock+0x85e/0x1700 +[ 234.629291] ? debug_smp_processor_id+0x1c/0x20 +[ 234.633980] ? perf_trace_lock+0x14d/0x7a0 +[ 234.638224] ? proc_pid_attr_write+0x28a/0x540 +[ 234.642798] ? mutex_trylock+0x2b0/0x2b0 +[ 234.646843] ? save_stack+0xa9/0xd0 +[ 234.650464] ? save_stack+0x43/0xd0 +[ 234.654088] ? kasan_kmalloc+0xc7/0xe0 +[ 234.657958] ? __kmalloc_track_caller+0x14a/0x750 +[ 234.662787] ? memdup_user+0x2c/0xa0 +[ 234.666486] ? proc_pid_attr_write+0x198/0x540 +[ 234.671050] ? graph_lock+0x170/0x170 +[ 234.674838] ? __x64_sys_write+0x73/0xb0 +[ 234.678883] ? graph_lock+0x170/0x170 +[ 234.682667] ? mark_held_locks+0x130/0x130 +[ 234.686905] apparmor_setprocattr+0xaa4/0x1150 +[ 234.691492] ? apparmor_task_kill+0xcb0/0xcb0 +[ 234.695972] ? lock_downgrade+0x900/0x900 +[ 234.700106] ? arch_local_save_flags+0x40/0x40 +[ 234.704686] security_setprocattr+0x66/0xc0 +[ 234.708994] proc_pid_attr_write+0x301/0x540 +[ 234.713390] __vfs_write+0x119/0x9f0 +[ 234.717092] ? check_preemption_disabled+0x48/0x200 +[ 234.722091] ? proc_loginuid_write+0x4f0/0x4f0 +[ 234.726659] ? kernel_read+0x120/0x120 +[ 234.730541] ? __lock_is_held+0xb5/0x140 +[ 234.734597] ? rcu_read_lock_sched_held+0x108/0x120 +[ 234.739604] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 +[ 234.745137] ? __sb_start_write+0x1b2/0x370 +[ 234.749448] vfs_write+0x1fc/0x560 +[ 234.753002] ksys_write+0x101/0x260 +[ 234.756631] ? __ia32_sys_read+0xb0/0xb0 +[ 234.760687] ? __bpf_trace_preemptirq_template+0x30/0x30 +[ 234.766134] __x64_sys_write+0x73/0xb0 +[ 234.770007] do_syscall_64+0x1b9/0x820 +[ 234.773880] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe +[ 234.779228] ? syscall_return_slowpath+0x5e0/0x5e0 +[ 234.784155] ? trace_hardirqs_on_caller+0x310/0x310 +[ 234.789167] ? prepare_exit_to_usermode+0x3b0/0x3b0 +[ 234.794202] ? recalc_sigpending_tsk+0x180/0x180 +[ 234.798958] ? kasan_check_write+0x14/0x20 +[ 234.803189] ? trace_hardirqs_off_thunk+0x1a/0x1c +[ 234.808025] entry_SYSCALL_64_after_hwframe+0x49/0xbe +[ 234.813215] RIP: 0033:0x457679 +[ 234.816413] Code: 1d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 eb b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 +[ 234.835326] RSP: 002b:00007f3dde3f7c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 +[ 234.843043] RAX: ffffffffffffffda RBX: 00007f3dde3f86d4 RCX: 0000000000457679 +[ 234.850327] RDX: 0000000000000009 RSI: 0000000020000040 RDI: 0000000000000003 +[ 234.857591] RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000 +[ 234.864851] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff +[ 234.872119] R13: 00000000004d8f38 R14: 00000000004c55ed R15: 0000000000000000 +[ 234.879409] Modules linked in: +[ 234.886076] ---[ end trace 1246d7b16c2c67d7 ]--- +[ 234.891053] RIP: 0010:memcmp+0x28/0x160 +[ 234.895200] Code: 00 00 48 85 d2 0f 84 0a 01 00 00 48 b8 00 00 00 00 00 fc ff df 55 48 89 f9 48 89 e5 48 c1 e9 03 41 54 53 48 89 fb 48 83 ec 18 <0f> b6 04 01 48 89 f9 83 e1 07 38 c8 7f 08 84 c0 0f 85 98 00 00 00 +[ 234.914432] RSP: 0018:ffff88019a51ef98 EFLAGS: 00010292 +[ 234.921713] RAX: dffffc0000000000 RBX: 1ffff100334a3e4f RCX: 03fffe20066947c9 +[ 234.930241] RDX: 0000000000000002 RSI: ffffffff883f7980 RDI: 1ffff100334a3e4f +[ 234.938244] RBP: ffff88019a51efc0 R08: ffff8801b9432640 R09: ffffed003b5a4732 +[ 234.945594] R10: ffffed003b5a4732 R11: ffff8801dad23993 R12: 0000000000000002 +[ 234.952867] R13: ffffffff883f7980 R14: 1fff7901cd9c319f R15: dffffc0000000000 +[ 234.960188] FS: 00007f3dde3f8700(0000) GS:ffff8801dac00000(0000) knlGS:0000000000000000 |
