Re: [GIT PULL] tracing: Have filter check for balanced ops

From: Sasha Levin
Date: Thu Jun 25 2015 - 00:04:03 EST


On 06/17/2015 08:36 AM, Steven Rostedt wrote:
> Linus,
>
> Vince Weaver reported a warning when he added perf event filters
> into his fuzzer tests. There's a missing check of balanced
> operations when parenthesis are used, and this triggers a WARN_ON()
> and when reading the failure, the filter reports no failure occurred.

Hey Steven,

My fuzzings are hitting the warning added by this patch:

[2175114.187536] WARNING: CPU: 16 PID: 10388 at kernel/trace/trace_events_filter.c:1388 replace_preds+0x814/0x2140()
[2175114.190213] Modules linked in:
[2175114.191111] CPU: 16 PID: 10388 Comm: trinity-c48 Not tainted 4.1.0-next-20150623-sasha-00039-ga1eb83a-dirty #2280
[2175114.194463] ffff880a23350000 000000006a8e22d4 ffff880a2335f878 ffffffffabc8cfa3
[2175114.196547] 0000000000000000 0000000000000000 ffff880a2335f8c8 ffffffffa21ebd36
[2175114.198604] ffff880e60fe09e0 ffffffffa24608f4 ffff880e61b14830 ffff880e60fe09d8
[2175114.200666] Call Trace:
[2175114.201377] [<ffffffffabc8cfa3>] dump_stack+0x4f/0x7b
[2175114.202793] [<ffffffffa21ebd36>] warn_slowpath_common+0xc6/0x120
[2175114.206235] [<ffffffffa21ebf7a>] warn_slowpath_null+0x1a/0x20
[2175114.207819] [<ffffffffa24608f4>] replace_preds+0x814/0x2140
[2175114.216433] [<ffffffffa24638aa>] create_filter+0x15a/0x210
[2175114.231529] [<ffffffffa246406b>] apply_event_filter+0x28b/0x780
[2175114.241196] [<ffffffffa2450306>] event_filter_write+0x106/0x1c0
[2175114.242823] [<ffffffffa260dd48>] do_loop_readv_writev+0x128/0x1e0
[2175114.248901] [<ffffffffa261051e>] do_readv_writev+0x5ae/0x6c0
[2175114.256760] [<ffffffffa2610742>] vfs_writev+0x72/0xb0
[2175114.258134] [<ffffffffa2613bb4>] SyS_pwritev+0x1b4/0x220
[2175114.261291] [<ffffffffabcf9962>] tracesys_phase2+0x88/0x8d


Thanks,
Sasha
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/