2015-06-05 23:07:43 |
Nischal Sheth |
bug |
|
|
added bug |
2015-06-05 23:07:56 |
Nischal Sheth |
nominated for series |
|
juniperopenstack/r2.20 |
|
2015-06-05 23:07:56 |
Nischal Sheth |
bug task added |
|
juniperopenstack/r2.20 |
|
2015-06-05 23:08:03 |
Nischal Sheth |
juniperopenstack/r2.20: status |
New |
In Progress |
|
2015-06-05 23:08:06 |
Nischal Sheth |
juniperopenstack/r2.20: importance |
Undecided |
Medium |
|
2015-06-05 23:08:09 |
Nischal Sheth |
juniperopenstack/r2.20: assignee |
|
Nischal Sheth (nsheth) |
|
2015-06-05 23:08:16 |
Nischal Sheth |
juniperopenstack/r2.20: milestone |
|
r2.20-fcs |
|
2015-06-05 23:08:21 |
Nischal Sheth |
nominated for series |
|
juniperopenstack/trunk |
|
2015-06-05 23:08:21 |
Nischal Sheth |
bug task added |
|
juniperopenstack/trunk |
|
2015-06-05 23:20:34 |
Nischal Sheth |
summary |
BgpSession::WriteReady can access freed memory |
Concurrency issue in BgpSession::WriteReady |
|
2015-06-05 23:21:31 |
Nischal Sheth |
description |
BgpSession::WriteReady is called from the io thread. There are
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::clear_session is modified to clear the back
pointer to the peer in the BgpSession, there's a concurrency
problem since BgpSession::WriteReady can be called from the
io thread 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. |
BgpSession::WriteReady is called from the io thread. There are
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::clear_session is modified to clear the back
pointer to the peer in the session, there's a concurrency issue
since BgpSession::WriteReady could be called from the io thread
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. |
|
2015-06-07 01:26:27 |
OpenContrail Admin |
juniperopenstack/trunk: status |
In Progress |
Fix Committed |
|
2015-06-09 06:39:30 |
OpenContrail Admin |
juniperopenstack/r2.20: status |
In Progress |
Fix Committed |
|