Re: [PATCH] ns83820: Avoid bad pointer deref in ns83820_init_one().

From
David Miller <davem@davemloft.net>
Date
2011-01-19 00:13:59
Also in
lkml
Reply to
Benjamin LaHaise, 2011-01-18
From: Benjamin LaHaise <bcrl@kvack.org>
Date: Tue, 18 Jan 2011 11:42:00 -0500
On Mon, Jan 17, 2011 at 09:24:57PM +0100, Jesper Juhl wrote:
quoted
In drivers/net/ns83820.c::ns83820_init_one() we dynamically allocate 
memory via alloc_etherdev(). We then call PRIV() on the returned storage 
which is 'return netdev_priv()'. netdev_priv() takes the pointer it is 
passed and adds 'ALIGN(sizeof(struct net_device), NETDEV_ALIGN)' to it and 
returns it. Then we test the resulting pointer for NULL, which it is 
unlikely to be at this point, and later dereference it. This will go bad 
if alloc_etherdev() actually returned NULL.

This patch reworks the code slightly so that we test for a NULL pointer 
(and return -ENOMEM) directly after calling alloc_etherdev().
Looks good.

		-ben

Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
Applied, thanks everyone.
Thread (4 messages) 4 messages, 4 authors, last reply 2011-01-19
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help