[LU-9389] o2iblnd has a potential race condition around connection usage Created: 22/Apr/17  Updated: 28/Apr/17

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Amir Shehata (Inactive) Assignee: Amir Shehata (Inactive)
Resolution: Unresolved Votes: 1
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

kiblnd_close_conn() takes a write lock before calling kiblnd_close_conn_locked() which changes the state of the connection to something other than established.

kiblnd_launch_tx() takes a read lock and calls kiblnd_get_conn_locked() which gets a connection off the connection list on the peer. then it unlocks and calls kiblnd_queue_tx().

When it unlocks there is a potential race where the kiblnd_close_conn() could be called and the connection state set to CLOSING before kiblnd_queue_tx_locked() is called, which asserts that the connection is in ESTABLISHED state.

This area needs more investigation to ensure any races are closed and that connection locking is handled correctly


Generated at Sat Feb 10 02:25:46 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.