Subject: Re: pool/spl cleanup in netinet, netinet6, net
To: Rui Paulo <rpaulo@fnop.net>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-net
Date: 07/19/2006 22:15:17
On Wed, Jul 19, 2006 at 11:30:59PM +0100, Rui Paulo wrote:
> At Wed, 19 Jul 2006 17:27:26 -0400,
> Thor Lancelot Simon wrote:
> >
> > The patch below attempts to clean up problems in net, netinet, and
> > netinet6 where pool_get or pool_put may be called from an interrupt
> > context but where there was no protection with spl*/splx.
>
> I didn't see any problem.
Do you mean that there weren't any problems to begin with, or that the
patch looked OK?
I am pretty sure there were some problems. There were several instances
where pool_put() was called just _after_ code went to elevated spl to
protect element removal from a datastructure, then reduced spl again. If
it was necessary to go to splsoftnet() to protect a list operation, etc.
it seems pretty clear that the adjacent pool operation also needed to be
protected...
--
Thor Lancelot Simon tls@rek.tjls.com
"We cannot usually in social life pursue a single value or a single moral
aim, untroubled by the need to compromise with others." - H.L.A. Hart