diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2025-01-15 13:26:58 -0500 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2025-02-06 16:16:48 +0000 | 
| commit | edfcf0662b7199220ed44e5dabefefb631f058e7 (patch) | |
| tree | f38a6cf5df22f8d4198df95678e3a04f17a16c57 /bgpd/bgp_fsm.c | |
| parent | 791ec8ebdd9e492fcf6359cd086bbea0bb5efd58 (diff) | |
bgpd: Ensure ibuf count is protected by mutex
Grab the count of streams in ibuf when it is protected
by a mutex.  Since this data is written to it in another
pthread.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit f94ad538cf93d2b18fa4181e8508f08f94f0a2cc)
Diffstat (limited to 'bgpd/bgp_fsm.c')
| -rw-r--r-- | bgpd/bgp_fsm.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index c7b7f9e284..c7a4c6928a 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -525,8 +525,9 @@ static void bgp_holdtime_timer(struct event *thread)  	 * for systems where we are heavily loaded for one  	 * reason or another.  	 */ -	inq_count = atomic_load_explicit(&connection->ibuf->count, -					 memory_order_relaxed); +	frr_with_mutex (&connection->io_mtx) { +		inq_count = atomic_load_explicit(&connection->ibuf->count, memory_order_relaxed); +	}  	if (inq_count)  		BGP_TIMER_ON(connection->t_holdtime, bgp_holdtime_timer,  			     peer->v_holdtime);  | 
