Concurrency issue in BgpSession::WriteReady
Bug #1462550 reported by
Nischal Sheth
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.20 |
Fix Committed
|
Medium
|
Nischal Sheth | |||
Trunk |
Fix Committed
|
Medium
|
Nischal Sheth |
Bug Description
BgpSession:
2 problems in current implementation:
1. The peer_ in the BgpSession is not cleared when the BgpPeer
clears it's reference to the BgpSession. As a result, WriteReady
can access freed memory if the peer has been deleted.
2. Even if BgpPeer:
pointer to the peer in the session, there's a concurrency issue
since BgpSession:
while the back pointer is being cleared.
Fix is to enqueue the BgpSession to a work queue when it gets
a WriteReady notification and do the actual processing in the
context of bgp::Config task.
summary: |
- BgpSession::WriteReady can access freed memory + Concurrency issue in BgpSession::WriteReady |
description: | updated |
To post a comment you must log in.
Review in progress for https:/ /review. opencontrail. org/11333
Submitter: Nischal Sheth (<email address hidden>)