On Mon, Sep 05, 2016 at 05:30:07PM +0200, Jiri Olsa wrote:
> Yanqiu Zhang reported kernel panic when using mbm event
> on system where CQM is detected but without mbm event
> support, like with perf:
>
> # perf stat -e 'intel_cqm/event=3/' -a
>
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
> IP: [<ffffffff8100d64c>] update_sample+0xbc/0xe0
> ...
> <IRQ>
> [<ffffffff8100d688>] __intel_mbm_event_init+0x18/0x20
> [<ffffffff81113d6b>] flush_smp_call_function_queue+0x7b/0x160
> [<ffffffff81114853>] generic_smp_call_function_single_interrupt+0x13/0x60
> [<ffffffff81052017>] smp_call_function_interrupt+0x27/0x40
> [<ffffffff816fb06c>] call_function_interrupt+0x8c/0xa0
> ...
>
> The reason is that we currently allow to init mbm event
> even if mbm support is not detected. Adding checks for
> both cqm and mbm events and support into cqm's event_init.
>
> Reported-by: Yanqiu Zhang <[email protected]>
> Signed-off-by: Jiri Olsa <[email protected]>
Fixes: 33c3cc7acfd9 ("perf/x86/mbm: Add Intel Memory B/W Monitoring enumeration
and init")
Cc: [email protected] # 4.6+