diff options
| author | Michael Kelley <mhkelley58@gmail.com> | 2026-08-31 20:45:14 -0700 |
|---|---|---|
| committer | Wei Liu <wei.liu@kernel.org> | 2026-09-13 22:58:30 +0000 |
| commit | ec31dc39e835ccde0930daccece8c492d28282fc (patch) | |
| tree | 5f156880ddb38c0f9b82cc9da6849c793f9e70f2 /tools/lib/python/kdoc | |
| parent | 7b74c117e2aac78e0f723e1c9c3644451c56b0d9 (diff) | |
| download | linux-next-ec31dc39e835ccde0930daccece8c492d28282fc.tar.gz linux-next-ec31dc39e835ccde0930daccece8c492d28282fc.zip | |
Drivers: hv: Don't reset VMBus connection state on error/exit paths
In two places, current code forces vmbus_connection.conn_state to
DISCONNECTED prior to calling vmbus_disconnect(). But vmbus_disconnect()
calls vmbus_initiate_unload(), which unloads the VMBus connection
only if the conn_state is CONNECTED. Consequently, the connection
remains and the Hyper-V host might continue to send messages or post
VMBus interrupts.
The problem was introduced in commit 74347a99e73ae ("x86/Hyper-V:
Unload vmbus channel in hv panic callback"), in that
vmbus_initiate_unload() started checking the current connection
state before doing the unload. This commit removed some occurrences
where conn_state was forced to DISCONNECTED, but these two remained,
apparently due to an oversight at the time.
Fix this by not forcing conn_state to DISCONNECTED during VMBus exit,
or if a failure occurs when establishing the connection in the first
place. Whatever value conn_state has at the time is then read by
vmbus_initiate_unload() to determine if there is a connection to
be unloaded.
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/linux-hyperv/20260805205806.B5AC31F000E9@smtp.kernel.org/
Fixes: 74347a99e73ae ("x86/Hyper-V: Unload vmbus channel in hv panic callback")
Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions
