Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
In lnet_destroy_peer_locked() we should add an assertion that the lp_dc_pendq list is empty. Similarly for lnet_destroy_peer_ni_locked() and lpni_peer_nis, lpni_on_remote_peer_ni_list, .... The list heads added and modified by the dynamic discovery series should be audited.
In lnet_peer_discovery_complete() the list handing appears unsafe. lnet_send() and lnet_finalize() may/will modify msg_list. So list_for_each_entry_safe() must be used. Based on how other code used msg_list, it looks like we need to call list_del() or list_del_init() before calling either function. At the end of lnet_peer_discovery_complete() we should assert that pending_msgs is empty. The dynamic discovery series should be audited for similarly unsafe list handling.
List heads in the_lnet should be statically initialized.
Attachments
Issue Links
- is duplicated by
-
LU-9928 conf-sanity: test_32d IP: [<ffffffffc0bc8083>] lnet_cpt_of_md+0x13/0x260 [lnet]
-
- Resolved
-
Patch has landed to master for 2.11.0