[PATCH 3.18 34/38] igb: check memory allocation failure

From: Greg Kroah-Hartman
Date: Fri Dec 22 2017 - 03:49:34 EST

3.18-stable review patch. If anyone has any objections, please let me know.


From: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>

[ Upstream commit 18eb86362a52f0af933cc0fd5e37027317eb2d1c ]

Check memory allocation failures and return -ENOMEM in such cases, as
already done for other memory allocations in this function.

This avoids NULL pointers dereference.

Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx
Acked-by: PJ Waskiewicz <peter.waskiewicz.jr@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
drivers/net/ethernet/intel/igb/igb_main.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -3001,6 +3001,8 @@ static int igb_sw_init(struct igb_adapte
/* Setup and initialize a copy of the hw vlan table array */
adapter->shadow_vfta = kcalloc(E1000_VLAN_FILTER_TBL_SIZE, sizeof(u32),
+ if (!adapter->shadow_vfta)
+ return -ENOMEM;

/* This call may decrease the number of queues */
if (igb_init_interrupt_scheme(adapter, true)) {