Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fatal page fault in cbq_enqueue()



On Fri, Jan 27, 2017 at 06:10:52PM +0000, Christos Zoulas wrote:
> In article <20170127111545.GB9450@slave.private>,
> Paul Ripke  <stix%stix.id.au@localhost> wrote:
> >Still happening, although not as often. Maybe the hot weather helps...
> >
> >I've got a core this time, on amd64 7.0_STABLE as of 2016-10-12.
> 
> How about this? At least you'll not crash....
> 
> christos
> 
> Index: altq_classq.h
> ===================================================================
> RCS file: /cvsroot/src/sys/altq/altq_classq.h,v
> retrieving revision 1.7
> diff -u -u -r1.7 altq_classq.h
> --- altq_classq.h	12 Oct 2006 19:59:08 -0000	1.7
> +++ altq_classq.h	27 Jan 2017 18:10:12 -0000
> @@ -108,9 +108,9 @@
>  {
>  	struct mbuf  *m, *m0;
>  
> -	if ((m = qtail(q)) == NULL)
> +	if ((m = qtail(q)) == NULL || (m0 = m->m_nextpkt) == NULL)
>  		return (NULL);
> -	if ((m0 = m->m_nextpkt) != m)
> +	if (m0 != m)
>  		m->m_nextpkt = m0->m_nextpkt;
>  	else
>  		qtail(q) = NULL;

Indeed... Well, we'll see how it goes, I'm running with that now. I've
had one crash since, so a couple of weeks might be enough to have some
idea.

-- 
Paul Ripke
"Great minds discuss ideas, average minds discuss events, small minds
 discuss people."
-- Disputed: Often attributed to Eleanor Roosevelt. 1948.


Home | Main Index | Thread Index | Old Index