Message ID | 20190311071714.28631-1-kjlu@umn.edu |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | net: hyperv: fix a NULL pointer dereference | expand |
> -----Original Message----- > From: Kangjie Lu <kjlu@umn.edu> > Sent: Monday, March 11, 2019 3:17 AM > To: kjlu@umn.edu > Cc: pakki001@umn.edu; KY Srinivasan <kys@microsoft.com>; Haiyang Zhang > <haiyangz@microsoft.com>; Stephen Hemminger <sthemmin@microsoft.com>; > Sasha Levin <sashal@kernel.org>; David S. Miller <davem@davemloft.net>; > linux-hyperv@vger.kernel.org; netdev@vger.kernel.org; linux- > kernel@vger.kernel.org > Subject: [PATCH] net: hyperv: fix a NULL pointer dereference > > In case kvmalloc_array fails, we should stop using it to avoid NULL pointer > dereference. > > Signed-off-by: Kangjie Lu <kjlu@umn.edu> > --- Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Thanks!
> -----Original Message----- > From: linux-hyperv-owner@vger.kernel.org <linux-hyperv- > owner@vger.kernel.org> On Behalf Of Haiyang Zhang > Sent: Monday, March 11, 2019 3:47 PM > To: Kangjie Lu <kjlu@umn.edu> > Cc: pakki001@umn.edu; KY Srinivasan <kys@microsoft.com>; Stephen > Hemminger <sthemmin@microsoft.com>; Sasha Levin <sashal@kernel.org>; > David S. Miller <davem@davemloft.net>; linux-hyperv@vger.kernel.org; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: RE: [PATCH] net: hyperv: fix a NULL pointer dereference > > > > > -----Original Message----- > > From: Kangjie Lu <kjlu@umn.edu> > > Sent: Monday, March 11, 2019 3:17 AM > > To: kjlu@umn.edu > > Cc: pakki001@umn.edu; KY Srinivasan <kys@microsoft.com>; Haiyang Zhang > > <haiyangz@microsoft.com>; Stephen Hemminger > <sthemmin@microsoft.com>; > > Sasha Levin <sashal@kernel.org>; David S. Miller > > <davem@davemloft.net>; linux-hyperv@vger.kernel.org; > > netdev@vger.kernel.org; linux- kernel@vger.kernel.org > > Subject: [PATCH] net: hyperv: fix a NULL pointer dereference > > > > In case kvmalloc_array fails, we should stop using it to avoid NULL > > pointer dereference. > > > > Signed-off-by: Kangjie Lu <kjlu@umn.edu> > > --- > Also, please change the subject to be more specific: hv_netvsc: fix a possible NULL pointer dereference in netvsc_get_ethtool_stats() Thanks.
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index cf4897043e83..4b3a03029fe8 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -1426,6 +1426,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];
In case kvmalloc_array fails, we should stop using it to avoid NULL pointer dereference. Signed-off-by: Kangjie Lu <kjlu@umn.edu> --- drivers/net/hyperv/netvsc_drv.c | 3 +++ 1 file changed, 3 insertions(+)