From: Kris Van Hees Date: Thu, 17 Oct 2013 09:44:20 +0000 (-0400) Subject: dtrace: ensure speculation buffer cleaning does not race with buffer freeing X-Git-Tag: v4.1.12-111.0.20170907_2225~3^2~3^2~114 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bc2201f80e01fd8387318624bfa23f8473c480f4;p=users%2Fjedix%2Flinux-maple.git dtrace: ensure speculation buffer cleaning does not race with buffer freeing Orabug: 17553446 Signed-off-by: Kris Van Hees --- 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);