Message ID | 20220314020125.2365084-1-jiasheng@iscas.ac.cn (mailing list archive) |
---|---|
State | Accepted |
Commit | 886e44c9298a6b428ae046e2fa092ca52e822e6a |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] hv_netvsc: Add check for kvmalloc_array | expand |
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Mon, 14 Mar 2022 10:01:25 +0800 you wrote: > 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> > > [...] Here is the summary with links: - [v2] hv_netvsc: Add check for kvmalloc_array https://git.kernel.org/netdev/net/c/886e44c9298a You are awesome, thank you!
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 3646469433b1..fde1c492ca02 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -1587,6 +1587,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];
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> --- Changelog: v1 -> v2 * Change 1. Remove the unrolled zero. --- drivers/net/hyperv/netvsc_drv.c | 3 +++ 1 file changed, 3 insertions(+)