netlink patch / null interface crash

Mathias DEFIVES bird at ml.esds.com
Tue Mar 1 14:48:55 CET 2005


Hi to the list.

I wrote this ugly patch this morning in order to avoid segfault on 'show 
routes' when some routes were already in the kernel.
It resolves also crashes on startup when running 'debug all' on ospf
The problem in that case was the 'iface' part of the route was null and 
crashed the daemon.

--- unpatched/bird-1.0.11/sysdep/linux/netlink/netlink.c        Sat Jun  
5 11:58:23 2004
+++ bird-1.0.11/sysdep/linux/netlink/netlink.c  Tue Mar  1 14:36:06 2005
@@ -680,8 +680,11 @@
          if (ng && ng->scope)
            ra.iface = ng->iface;
          else
-           /* FIXME: Remove this warning? Handle it somehow... */
-           log(L_WARN "Kernel told us to use non-neighbor %I for 
%I/%d", ra.gw, net->n.prefix, net->n.pxlen);
+            {
+               /* FIXME: Remove this warning? Handle it somehow... */
+               log(L_WARN "in netlink.c Kernel told us to use 
non-neighbor %I for %I/%d", ra.gw, net->n.prefix, net->n.pxlen);
+               ra.iface = krt_temp_iface(p, oif);
+            }
        }
       else
        {


regards,

--
Mathias DEFIVES



More information about the Bird-users mailing list