|
@@ -7818,6 +7818,7 @@ inherit_event(struct perf_event *parent_event,
|
|
struct perf_event *group_leader,
|
|
struct perf_event *group_leader,
|
|
struct perf_event_context *child_ctx)
|
|
struct perf_event_context *child_ctx)
|
|
{
|
|
{
|
|
|
|
+ enum perf_event_active_state parent_state = parent_event->state;
|
|
struct perf_event *child_event;
|
|
struct perf_event *child_event;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
@@ -7851,7 +7852,7 @@ inherit_event(struct perf_event *parent_event,
|
|
* not its attr.disabled bit. We hold the parent's mutex,
|
|
* not its attr.disabled bit. We hold the parent's mutex,
|
|
* so we won't race with perf_event_{en, dis}able_family.
|
|
* so we won't race with perf_event_{en, dis}able_family.
|
|
*/
|
|
*/
|
|
- if (parent_event->state >= PERF_EVENT_STATE_INACTIVE)
|
|
|
|
|
|
+ if (parent_state >= PERF_EVENT_STATE_INACTIVE)
|
|
child_event->state = PERF_EVENT_STATE_INACTIVE;
|
|
child_event->state = PERF_EVENT_STATE_INACTIVE;
|
|
else
|
|
else
|
|
child_event->state = PERF_EVENT_STATE_OFF;
|
|
child_event->state = PERF_EVENT_STATE_OFF;
|