Эх сурвалжийг харах

cxgb4: correctly handling failed allocation

Since t4_alloc_mem can be failed in memory pressure,
if not properly handled, NULL dereference could be happened.

Signed-off-by: Insu Yun <wuninsu@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Insu Yun 9 жил өмнө
parent
commit
3934aa4c1f

+ 4 - 0
drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c

@@ -295,6 +295,10 @@ struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start,
 		INIT_LIST_HEAD(&ctbl->hash_list[i]);
 		INIT_LIST_HEAD(&ctbl->hash_list[i]);
 
 
 	cl_list = t4_alloc_mem(clipt_size*sizeof(struct clip_entry));
 	cl_list = t4_alloc_mem(clipt_size*sizeof(struct clip_entry));
+	if (!cl_list) {
+		t4_free_mem(ctbl);
+		return NULL;
+	}
 	ctbl->cl_list = (void *)cl_list;
 	ctbl->cl_list = (void *)cl_list;
 
 
 	for (i = 0; i < clipt_size; i++) {
 	for (i = 0; i < clipt_size; i++) {