projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
735f918
)
hv_netvsc: Add check for kvmalloc_array
author
Jiasheng Jiang
<jiasheng@iscas.ac.cn>
Mon, 14 Mar 2022 02:01:25 +0000
(10:01 +0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 23 Mar 2022 08:16:42 +0000
(09:16 +0100)
[ Upstream commit
886e44c9298a6b428ae046e2fa092ca52e822e6a
]
As the potential failure of the kvmalloc_array(),
it should be better to check and restore the 'data'
if fails in order to avoid the dereference of the
NULL pointer.
Fixes: 6ae746711263 ("hv_netvsc: Add per-cpu ethtool stats for netvsc")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link:
https://lore.kernel.org/r/20220314020125.2365084-1-jiasheng@iscas.ac.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/hyperv/netvsc_drv.c
patch
|
blob
|
history
diff --git
a/drivers/net/hyperv/netvsc_drv.c
b/drivers/net/hyperv/netvsc_drv.c
index 382bebc2420dfff7a5ab84a97554fd1379c15a59..bdfcf75f082776d1bf95eb8cb4aea14ddda666b7 100644
(file)
--- a/
drivers/net/hyperv/netvsc_drv.c
+++ b/
drivers/net/hyperv/netvsc_drv.c
@@
-1586,6
+1586,9
@@
static void netvsc_get_ethtool_stats(struct net_device *dev,
pcpu_sum = kvmalloc_array(num_possible_cpus(),
sizeof(struct netvsc_ethtool_pcpu_stats),
GFP_KERNEL);
+ if (!pcpu_sum)
+ return;
+
netvsc_get_pcpu_stats(dev, pcpu_sum);
for_each_present_cpu(cpu) {
struct netvsc_ethtool_pcpu_stats *this_sum = &pcpu_sum[cpu];