Hi Mark, -----Original message----- > From:Mark Johnston <markj_at_freebsd.org <mailto:markj_at_freebsd.org> > > Sent: Monday 16th September 2013 19:09 > To: Hans Petter Selasky <hans.petter.selasky_at_bitfrost.no <mailto:hans.petter.selasky_at_bitfrost.no> > > Cc: freebsd-current_at_freebsd.org <mailto:freebsd-current_at_freebsd.org> > Subject: Re: General Protection Fault in prelist_remove() > > On Mon, Sep 16, 2013 at 05:27:30PM +0200, Hans Petter Selasky wrote: > > Hi, > > > > I caught a General protection fault in prelist_remove. Any clues what > > this might be? > > Any chance you were creating or destroying interfaces around the time > this crash happened? Yes, I have some tunneling software running, which create and destroy tunX nodes regularly. > > There is no locking in the code which manipulates the prefix list (or > any of the global NDP data structures), so it's possible to get crashes > if, for instance, the prefix expiry callout races with in6_ifdetach() to > delete a prefix. It's not clear what caused your crash (not without a > crash dump at least), but I imagine it has something to do with this. > > I've partially fixed this at work by adding a rw lock to protect access > to the the prefix, default router, and DAD lists. The patch is here: > http://people.freebsd.org/˜markj/patches/ndp-locking.diff <http://people.freebsd.org/˜markj/patches/ndp-locking.diff> > > If anyone can review or test this patch, please let me know. > --HPSReceived on Mon Sep 16 2013 - 15:33:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:41 UTC