[ovs-git] [openvswitch/ovs] 6d917c: ofproto: Fix coredump in ofproto_destroy__().
GitHub
noreply at github.com
Wed Aug 15 17:23:43 UTC 2018
Branch: refs/heads/master
Home: https://github.com/openvswitch/ovs
Commit: 6d917cd2bad1bfc1483f8cff7ef348fd30ed1a21
https://github.com/openvswitch/ovs/commit/6d917cd2bad1bfc1483f8cff7ef348fd30ed1a21
Author: liucheng (J) <liucheng11 at huawei.com>
Date: 2018-08-15 (Wed, 15 Aug 2018)
Changed paths:
M ofproto/ofproto.c
Log Message:
-----------
ofproto: Fix coredump in ofproto_destroy__().
There is a coredump when I add and delete bridges. When the rcu thread call
ofproto_destroy__, the main thread may call ofproto_create. But the
ofproto_destroy__ fun doesn't have the ofproto_mutex when access the
all_ofprotos.
#0 0x00007f824aa0d197 in raise () from /usr/lib64/libc.so.6
#1 0x00007f824aa0e888 in abort () from /usr/lib64/libc.so.6
#2 0x0000000000658249 in PAT_abort ()
#3 0x000000000065538d in patchIllInsHandler ()
#4 <signal handler called>
#5 0x0000000000478a5b in hmap_remove (node=0x3320150, hmap=0x95fc40 <all_ofprotos>) at include/openvswitch/hmap.h:287
#6 ofproto_destroy__ (ofproto=0x3320150) at ofproto/ofproto.c:1642
#7 0x0000000000535e46 in ovsrcu_call_postponed () at lib/ovs_rcu.c:323
#8 0x0000000000536014 in ovsrcu_postpone_thread (arg=<optimized out>) at lib/ovs_rcu.c:338
#9 0x0000000000538488 in ovsthread_wrapper (aux_=<optimized out>) at lib/ovs_thread.c:682
#10 0x00007f824c130dc5 in start_thread () from /usr/lib64/libpthread.so.0
#11 0x00007f824aacf7bd in clone () from /usr/lib64/libc.so.6
Signed-off-by: Cheng Liu <liucheng11 at huawei.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
More information about the git
mailing list