tracing: Fix use-after-free in hist_register_trigger()

This fixes a use-after-free case flagged by KASAN; make sure the test
happens before the potential free in this case.

Link: http://lkml.kernel.org/r/48fd74ab61bebd7dca9714386bb47d7c5ccd6a7b.1467247517.git.tom.zanussi@linux.intel.com

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

authored by Tom Zanussi and committed by Steven Rostedt 7522c03a 47c18569

Changed files
+3 -3
kernel
+3 -3
kernel/trace/trace_events_hist.c
··· 1441 1441 goto out; 1442 1442 } 1443 1443 1444 + if (hist_data->attrs->pause) 1445 + data->paused = true; 1446 + 1444 1447 if (named_data) { 1445 1448 destroy_hist_data(data->private_data); 1446 1449 data->private_data = named_data->private_data; 1447 1450 set_named_trigger_data(data, named_data); 1448 1451 data->ops = &event_hist_trigger_named_ops; 1449 1452 } 1450 - 1451 - if (hist_data->attrs->pause) 1452 - data->paused = true; 1453 1453 1454 1454 if (data->ops->init) { 1455 1455 ret = data->ops->init(data->ops, data);