Hi Mark,

-----Original message-----
> From:Mark Johnston <ma...@freebsd.org <mailto:ma...@freebsd.org> >
> Sent: Monday 16th September 2013 19:09
> To: Hans Petter Selasky <hans.petter.sela...@bitfrost.no 
> <mailto:hans.petter.sela...@bitfrost.no> >
> Cc: freebsd-current@freebsd.org <mailto:freebsd-current@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.
> 

--HPS

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to