[PATCH 2.6.30-rc5] ehea: fix invalid pointer access

Hannes Hering hannes.hering at linux.vnet.ibm.com
Tue May 5 21:19:05 EST 2009


On Tuesday 05 May 2009 11:11:27 David Howells wrote:
> Hannes Hering <hannes.hering at linux.vnet.ibm.com> wrote:
> 
> >  	pref = skb_array[x];
> > -	prefetchw(pref);
> > -	prefetchw(pref + EHEA_CACHE_LINE);
> > +	if (pref) {
> > +		prefetchw(pref);
> > +		prefetchw(pref + EHEA_CACHE_LINE);
> 
> Ummm...  Is prefetch() or prefetchw() faulting?
> 
> David
Hi David,

this is an ehea driver problem, which is occuring when the receive queue runs
empty. The faulting code is more specifically the following line:

	pref = (skb_array[x]->data);

Here the access to the struct element data would cause an exception.We could
have made the if block a little smaller.

Regards

Hannes



More information about the Linuxppc-dev mailing list