Patch "hv: init percpu_list in hv_synic_alloc()" has been added to the 4.10-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
hv: init percpu_list in hv_synic_alloc()
to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
hv-init-percpu_list-in-hv_synic_alloc.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3c7630d35009e6635e5b58d62de554fd5b6db5dfMon Sep 17 00:00:00 2001
From: Vitaly Kuznetsov <[email protected]>
Date: Wed, 7 Dec 2016 01:16:26 -0800
Subject: hv: init percpu_list in hv_synic_alloc()
From: Vitaly Kuznetsov <[email protected]>
commit 3c7630d35009e6635e5b58d62de554fd5b6db5df upstream.
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.
--- drivers/hv/hv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/hv/hv.c +2 -2
@@ -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 ;
@@ -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. */
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/hv-init-percpu_list-in-hv_synic_alloc.patch queue-4.10/drivers-hv-vmbus-raise-retry-wait-limits-in-vmbus_post_msg.patch queue-4.10/hv-allocate-synic-pages-for-all-present-cpus.patch queue-4.10/hv-don-t-reset-hv_context.tsc_page-on-crash.patch