x86/hyperv: Remove unregister syscore call from Hyper-V cleanup
authorGaurav Kohli <gauravkohli@linux.microsoft.com>
Sat, 26 Nov 2022 06:14:51 +0000 (22:14 -0800)
committerWei Liu <wei.liu@kernel.org>
Tue, 29 Nov 2022 17:55:29 +0000 (17:55 +0000)
commit32c97d980e2eef25465d453f2956a9ca68926a3c
treee89935a9f8eb38a266b13bc60cddfdeb5b00bf1b
parentfea858dc5d901626e5d794037b5bff9f59b9ded7
x86/hyperv: Remove unregister syscore call from Hyper-V cleanup

Hyper-V cleanup code comes under panic path where preemption and irq
is already disabled. So calling of unregister_syscore_ops might schedule
out the thread even for the case where mutex lock is free.
hyperv_cleanup
unregister_syscore_ops
mutex_lock(&syscore_ops_lock)
might_sleep
Here might_sleep might schedule out this thread, where voluntary preemption
config is on and this thread will never comes back. And also this was added
earlier to maintain the symmetry which is not required as this can comes
during crash shutdown path only.

To prevent the same, removing unregister_syscore_ops function call.

Signed-off-by: Gaurav Kohli <gauravkohli@linux.microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/1669443291-2575-1-git-send-email-gauravkohli@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/hyperv/hv_init.c