From f56471eb8c6b3cbe85bc411870956e8fa6a2090f Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Thu, 22 Mar 2012 18:31:08 +0000 Subject: dahdi_dynamic_eth: Prevent crash is packet arrives before span is fully configured. It was possible after a dynamic ethernet span was created for a packet to come in before the dahdi_span was fully initialized. The result would be a NULL pointer dereference. Now just discard any packets that might come in during this time window. Internal-Issue-ID: DAHLIN-280 Reported-by: Pavel Selivanov Signed-off-by: Shaun Ruffell git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10587 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/dahdi_dynamic_eth.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dahdi/dahdi_dynamic_eth.c b/drivers/dahdi/dahdi_dynamic_eth.c index f68a4ea..ecf46ea 100644 --- a/drivers/dahdi/dahdi_dynamic_eth.c +++ b/drivers/dahdi/dahdi_dynamic_eth.c @@ -71,6 +71,8 @@ static struct dahdi_span *ztdeth_getspan(unsigned char *addr, unsigned short sub if (z) span = z->span; spin_unlock_irqrestore(&zlock, flags); + if (!span || !test_bit(DAHDI_FLAGBIT_REGISTERED, &span->flags)) + return NULL; return span; } -- cgit v1.2.3