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