summaryrefslogtreecommitdiffstats
path: root/drivers/hv/hyperv_vmbus.h
diff options
context:
space:
mode:
authorVitaly Kuznetsov2016-06-04 02:09:22 +0200
committerGreg Kroah-Hartman2016-08-31 13:05:40 +0200
commita9f61ca793becabdefab03b77568d6c6f8c1bc79 (patch)
tree422f0e2eb47880341e6ebe69a1afa918458c4dd4 /drivers/hv/hyperv_vmbus.h
parenttile-srom: avoid krealloc(... __GFP_ZERO) pattern (diff)
downloadkernel-qcow2-linux-a9f61ca793becabdefab03b77568d6c6f8c1bc79.tar.gz
kernel-qcow2-linux-a9f61ca793becabdefab03b77568d6c6f8c1bc79.tar.xz
kernel-qcow2-linux-a9f61ca793becabdefab03b77568d6c6f8c1bc79.zip
Drivers: hv: avoid vfree() on crash
When we crash from NMI context (e.g. after NMI injection from host when 'sysctl -w kernel.unknown_nmi_panic=1' is set) we hit kernel BUG at mm/vmalloc.c:1530! as vfree() is denied. While the issue could be solved with in_nmi() check instead I opted for skipping vfree on all sorts of crashes to reduce the amount of work which can cause consequent crashes. We don't really need to free anything on crash. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/hyperv_vmbus.h')
-rw-r--r--drivers/hv/hyperv_vmbus.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 718b5c72f0c8..dfa9fac100d8 100644
--- a/drivers/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -495,7 +495,7 @@ struct hv_ring_buffer_debug_info {
extern int hv_init(void);
-extern void hv_cleanup(void);
+extern void hv_cleanup(bool crash);
extern int hv_post_message(union hv_connection_id connection_id,
enum hv_message_type message_type,