]> git.proxmox.com Git - mirror_frr.git/commit - ospfd/ospf_nsm.c
From endo@suri.co.jp Fri Jan 17 23:36:30 2003
authorpaul <paul>
Fri, 17 Jan 2003 23:48:42 +0000 (23:48 +0000)
committerpaul <paul>
Fri, 17 Jan 2003 23:48:42 +0000 (23:48 +0000)
commit2d59836a4fb16e2471560a47da7e5f75779c5807
tree619901a67086c8eca741eee4e8b6b9810a3d86b9
parente04ab74d17b4f3456bd3eeefe2043584431b4ea2
From endo@suri.co.jp Fri Jan 17 23:36:30 2003
Date: Fri, 20 Dec 2002 17:58:43 +0900
From: Masahiko Endo <endo@suri.co.jp>
Reply-To: zebra@zebra.org
To: zebra@zebra.org
Cc: kunihiro@zebra.org
Subject: [zebra 16824] [PATCH] nsm_kill_neighbor

    [ The following text is in the "ISO-2022-JP" character set. ]
    [ Your display is set for the "ISO-8859-1" character set.  ]
    [ Some characters may be displayed incorrectly. ]

Hi Ishiguro-san,

Here is my problem analysis against the case that the ospfd crashes
when an interface is brought down.

When the ospfd receives a ZEBRA message "ZEBRA_INTERFACE_DOWN" from
zebra daemon, the ospfd performs bunch of ospf-interface cleanup for
the notified zebra-interface.
There are cases that neighbor instance "nbr", which will be removed
afterward, may scheduled in the NSM thread event queue. And when the
NSM event thread is fired, dereference for this already freed "nbr"
pointer causes SIGSEGV.
Please take a look at following timeline of processing sequences.
ospfd/ospf_ism.c [new file with mode: 0644]
ospfd/ospf_neighbor.c [new file with mode: 0644]
ospfd/ospf_nsm.c [new file with mode: 0644]