aboutsummaryrefslogtreecommitdiff
path: root/drivers/hv/hv.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-09-20 08:32:20 -0700
committerMark Brown <broonie@kernel.org>2018-09-20 08:32:20 -0700
commitd7b33ebae7c1419ebdfd94eb64bf74a7ec760031 (patch)
tree67dbc2149bb00e2eaf89c31a515e1f8bfc0dc8cb /drivers/hv/hv.c
parente1d176680ed4f6970582086191eb7377a80a2d4e (diff)
parent1244bbb3e92135d247e2dddfa6fe5e3e171a9635 (diff)
Merge tag 'v4.14.71' into linux-linaro-lsk-v4.14
This is the 4.14.71 stable release
Diffstat (limited to 'drivers/hv/hv.c')
-rw-r--r--drivers/hv/hv.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
index 8267439dd1ee..d8101cd28dfa 100644
--- a/drivers/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -196,6 +196,10 @@ int hv_synic_alloc(void)
return 0;
err:
+ /*
+ * Any memory allocations that succeeded will be freed when
+ * the caller cleans up by calling hv_synic_free()
+ */
return -ENOMEM;
}
@@ -208,12 +212,10 @@ void hv_synic_free(void)
struct hv_per_cpu_context *hv_cpu
= per_cpu_ptr(hv_context.cpu_context, cpu);
- if (hv_cpu->synic_event_page)
- free_page((unsigned long)hv_cpu->synic_event_page);
- if (hv_cpu->synic_message_page)
- free_page((unsigned long)hv_cpu->synic_message_page);
- if (hv_cpu->post_msg_page)
- free_page((unsigned long)hv_cpu->post_msg_page);
+ kfree(hv_cpu->clk_evt);
+ free_page((unsigned long)hv_cpu->synic_event_page);
+ free_page((unsigned long)hv_cpu->synic_message_page);
+ free_page((unsigned long)hv_cpu->post_msg_page);
}
kfree(hv_context.hv_numa_map);