DragonFly bugs List (threaded) for 2008-03
DragonFly BSD
DragonFly bugs List (threaded) for 2008-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: panic: assertion: _ifac->ifa_magic == IFA_CONTAINER_MAGIC in _IFAFREE


From: "Sepherosa Ziehau" <sepherosa@xxxxxxxxx>
Date: Tue, 18 Mar 2008 10:04:02 +0800

On Tue, Mar 18, 2008 at 4:48 AM, Matthew Dillon
<dillon@apollo.backplane.com> wrote:
>
>  :I have changed this test program a little bit.  Run it in following way:
>  :./test_udp remote_ip
>  :
>  :...
>  :I think we need to fix following entry points:
>
> :1) udp_output(): after ip_output() if old_lport==0 and
>  :mycpuid!=udp_addrcpu(inpcb addr/port pair) then free inpcb's route
>  :entry
>  :2) udp_connect(): this function always happens on CPU0, so if
>  :udp_addrcpu(inpcb addr/port pair)!=mycpuid(0 here), then we need to
>  :free inpcb's route entry
>  :3) udp_disconnect(): at the end of it, if mycpuid!=udp_addrcpu(inpcb
>  :addr/port pair) then free inpcb's route entry
>  :
>  :I may miss some entry points here, so please point them out to me, if
>  :some pop up in your mind.
>  :
>  :Best Regards,
>  :sephe
>
>     I'm not sure how appropriate my idea is but... what if we simply
>     do not cache the route until after the addr/port pair is assigned?

This is probably same as 1).  We still need to fix 2) and 3).

Best Regards,
sephe

-- 
Live Free or Die



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