Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Aug 2000 22:49:05 -0700
From:      Alfred Perlstein <bright@wintelcom.net>
To:        Brian Fundakowski Feldman <green@FreeBSD.ORG>
Cc:        John Polstra <jdp@polstra.com>, current@FreeBSD.ORG
Subject:   Re: panic: reducing sbsize: lost count, uid = 1001
Message-ID:  <20000823224905.W4854@fw.wintelcom.net>
In-Reply-To: <Pine.BSF.4.21.0008240103280.52828-100000@green.dyndns.org>; from green@FreeBSD.ORG on Thu, Aug 24, 2000 at 01:05:13AM -0400
References:  <20000823145244.J4854@fw.wintelcom.net> <Pine.BSF.4.21.0008240103280.52828-100000@green.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Brian Fundakowski Feldman <green@FreeBSD.ORG> [000823 22:05] wrote:
> On Wed, 23 Aug 2000, Alfred Perlstein wrote:
> 
> > * Alfred Perlstein <bright@wintelcom.net> [000823 14:29] wrote:
> > > 
> > > I have a feeling that this is related to missing spl protection around
> > > the chgsbsize subsystem, this was probably an issue before I touched it
> > > but since I touched it last I'll have a look-see.
> > > 
> > > Brian, does that makes sense?
> > [...]
> > 
> > Does it make sense to wrap chgsbsize with spl so callers don't have
> > to worry about it?
> > 
> 
> Yeah, I say to go for it.  I was /certain/ that these functions had
> the right spl()s before; if the patch fixes jdp's problem, I can't see
> a good reason not to change it, other than it would hide what may be
> quite problematic for other reasons even if not for that one...

Actually with my patches he still has problems, but I just realized
that I'm using splnet in my patches, should I be using splimp?

patch is here:

http://people.freebsd.org/~alfred/sbsize_spl.diff

Note that I'm quite sure it's not just sbsize which needs spl, it's
the code that modifies the socketbuffer's size fields as well as
the chgsbsize() calls otherwise user context may be preempted by
a packet closing the connection after sbsize has been adjusted but
not before the buffer sizes have been fixed in the socket struture
causing the interrupt context to try to chgsbsize again.

Or at least that's what I think may be going on.

-- 
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000823224905.W4854>