NetBSD-Bugs archive

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

Re: kern/44418 (FAST_IPSEC and if_wm kernel panic - may affect the whole network stack)



The following reply was made to PR kern/44418; it has been noted by GNATS.

From: Mindaugas Rasiukevicius <rmind%netbsd.org@localhost>
To: <M.Drochner%fz-juelich.de@localhost>
Cc: Wolfgang Stukenbrock <Wolfgang.Stukenbrock%nagler-company.com@localhost>,
 <gnats-bugs%netbsd.org@localhost>, <netbsd-bugs%netbsd.org@localhost>, 
<gnats-admin%netbsd.org@localhost>
Subject: Re: kern/44418 (FAST_IPSEC and if_wm kernel panic - may affect the
  whole network stack)
Date: Sat, 19 Feb 2011 03:52:18 +0000

 Matthias Drochner <M.Drochner%fz-juelich.de@localhost> wrote:
 > > Not sure what do you mean by "second time"
 > > [...]
 > > Recursive locking is
 > > deliberately prohibited in our mutex(9) implementation
 > > [...]
 > > Talking about limited softintr thread context
 > 
 > What I did suspect here is that some kernel code takes softnet_lock
 > without a splsoftnet() before, and a softnet handler gets to run
 > and happens to borrow the same thread context. In that case,
 > the diagnostic check could fire even if the softnet handler
 > doesn't do anything wrong.
 > Can this happen?
 
 While soft-interrupt borrows a current thread context - it has a separate
 identity, that is, own 'curlwp' value.  Therefore, softint would block on
 the lock, return execution to the interrupted LWP, and when the lock gets
 released - soft-interrupt would continue.  In other words - that is not a
 condition of recursive lock attempt.
 
 -- 
 Mindaugas
 


Home | Main Index | Thread Index | Old Index