projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2e84f11
)
x86/hyperv: Prevent potential NULL pointer dereference
author
Kangjie Lu
<
[email protected]
>
Thu, 14 Mar 2019 05:46:51 +0000
(
00:46
-0500)
committer
Thomas Gleixner
<
[email protected]
>
Thu, 21 Mar 2019 11:24:39 +0000
(12:24 +0100)
The page allocation in hv_cpu_init() can fail, but the code does not
have a check for that.
Add a check and return -ENOMEM when the allocation fails.
[ tglx: Massaged changelog ]
Signed-off-by: Kangjie Lu <
[email protected]
>
Signed-off-by: Thomas Gleixner <
[email protected]
>
Reviewed-by: Mukesh Ojha <
[email protected]
>
Acked-by: "K. Y. Srinivasan" <
[email protected]
>
Cc:
[email protected]
Cc: Haiyang Zhang <
[email protected]
>
Cc: Stephen Hemminger <
[email protected]
>
Cc: Sasha Levin <
[email protected]
>
Cc: Borislav Petkov <
[email protected]
>
Cc: "H. Peter Anvin" <
[email protected]
>
Cc:
[email protected]
Link:
https://lkml.kernel.org/r/
[email protected]
arch/x86/hyperv/hv_init.c
patch
|
blob
|
history
diff --git
a/arch/x86/hyperv/hv_init.c
b/arch/x86/hyperv/hv_init.c
index 6461a16b45594b144f8fe2390fe42973e4fc8725..e4ba467a9fc65b0ec21d7c9f868c9d013a8fddd9 100644
(file)
--- a/
arch/x86/hyperv/hv_init.c
+++ b/
arch/x86/hyperv/hv_init.c
@@
-103,9
+103,13
@@
static int hv_cpu_init(unsigned int cpu)
u64 msr_vp_index;
struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processor_id()];
void **input_arg;
+ struct page *pg;
input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg);
- *input_arg = page_address(alloc_page(GFP_KERNEL));
+ pg = alloc_page(GFP_KERNEL);
+ if (unlikely(!pg))
+ return -ENOMEM;
+ *input_arg = page_address(pg);
hv_get_vp_index(msr_vp_index);