[PATCH] drivers cris: return on NULL dev_alloc_skb()

From: David Rientjes
Date: Mon Oct 30 2006 - 20:01:27 EST


If the next descriptor array entry cannot be allocated by dev_alloc_skb(),
return immediately so it is not dereferenced later. We cannot register
the device with a partial descriptor list.

Cc: Mikael Starvik <starvik@xxxxxxxx>
Signed-off-by: David Rientjes <rientjes@xxxxxxxxxxxxxxxxx>
---
drivers/net/cris/eth_v10.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 966b563..a03d781 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -509,6 +509,8 @@ etrax_ethernet_init(void)
* does not share cacheline with any other data (to avoid cache bug)
*/
RxDescList[i].skb = dev_alloc_skb(MAX_MEDIA_DATA_SIZE + 2 * L1_CACHE_BYTES);
+ if (!RxDescList[i].skb)
+ return -ENOMEM;
RxDescList[i].descr.ctrl = 0;
RxDescList[i].descr.sw_len = MAX_MEDIA_DATA_SIZE;
RxDescList[i].descr.next = virt_to_phys(&RxDescList[i + 1]);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/