NetBSD-Bugs archive

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

Re: kern/50186: sparc memfault panic after 7.99.21 ARP changes



On Thu, Sep 3, 2015 at 8:38 PM, Christos Zoulas <christos%zoulas.com@localhost> wrote:
> I just crashed in arptimer() so there are more locking problems in the code. Can you document the locking discipline for la_rt and changing the lists?
>

I'm sorry for the defect.

An ARP cache list of an interface is protected by a rwlock
(IF_AFDATA_*LOCK) and each ARP cache is protected by a rwlock
and refernce counting (LLE_*LOCK). However, la_rt still needs
softnet_lock; if la_rt is accessed or modified without
softnet_lock, it's a bug. And I found a bug :( lltable_free
accesses la_rt but it's called without softnet_lock.

Here is a patch:
http://www.netbsd.org/~ozaki-r/lltable_free-softnet_lock.diff
Could you try it?

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index