From bc2201f80e01fd8387318624bfa23f8473c480f4 Mon Sep 17 00:00:00 2001 From: Kris Van Hees Date: Thu, 17 Oct 2013 05:44:20 -0400 Subject: [PATCH] dtrace: ensure speculation buffer cleaning does not race with buffer freeing Orabug: 17553446 Signed-off-by: Kris Van Hees --- dtrace/dtrace_state.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dtrace/dtrace_state.c b/dtrace/dtrace_state.c index 404c05bfd288..6861223512a9 100644 --- a/dtrace/dtrace_state.c +++ b/dtrace/dtrace_state.c @@ -291,7 +291,8 @@ void dtrace_vstate_fini(dtrace_vstate_t *vstate) static void dtrace_state_clean(dtrace_state_t *state) { - if (state->dts_activity == DTRACE_ACTIVITY_INACTIVE) + if (state->dts_activity != DTRACE_ACTIVITY_ACTIVE && + state->dts_activity != DTRACE_ACTIVITY_DRAINING) return; dtrace_dynvar_clean(&state->dts_vstate.dtvs_dynvars); -- 2.50.1