Skip to content

Commit

Permalink
hv: init percpu_list in hv_synic_alloc()
Browse files Browse the repository at this point in the history
Initializing hv_context.percpu_list in hv_synic_alloc() helps to prevent a
crash in percpu_channel_enq() when not all CPUs were online during
initialization and it naturally belongs there.

Signed-off-by: Vitaly Kuznetsov <[email protected]>
Signed-off-by: K. Y. Srinivasan <[email protected]>
Cc: <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
vittyvk authored and gregkh committed Jan 10, 2017
1 parent 421b8f2 commit 3c7630d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/hv/hv.c
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,8 @@ int hv_synic_alloc(void)
pr_err("Unable to allocate post msg page\n");
goto err;
}

INIT_LIST_HEAD(&hv_context.percpu_list[cpu]);
}

return 0;
Expand Down Expand Up @@ -552,8 +554,6 @@ void hv_synic_init(void *arg)
rdmsrl(HV_X64_MSR_VP_INDEX, vp_index);
hv_context.vp_index[cpu] = (u32)vp_index;

INIT_LIST_HEAD(&hv_context.percpu_list[cpu]);

/*
* Register the per-cpu clockevent source.
*/
Expand Down

0 comments on commit 3c7630d

Please sign in to comment.