Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-17800

CoverityID 425357:  Concurrent data access violations  (MISSING_LOCK)  Accessing "cli->cl_rpcs_in_flight" without holding lock

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      git blame points to patch: a1bd0f62

      > *** CID 425357:  Concurrent data access violations  (MISSING_LOCK)
      > /lustre/ldlm/ldlm_lib.c: 436 in client_obd_setup()
      > 430         spin_lock_init(&cli->cl_lru_list_lock);
      > 431         atomic_long_set(&cli->cl_unstable_count, 0);
      > 432         INIT_LIST_HEAD(&cli->cl_shrink_list);
      > 433         INIT_LIST_HEAD(&cli->cl_grant_chain);
      > 434     
      > 435         INIT_LIST_HEAD(&cli->cl_flight_waiters);
      >>>>    CID 425357:  Concurrent data access violations  (MISSING_LOCK)
      >>>>    Accessing "cli->cl_rpcs_in_flight" without holding lock "client_obd.cl_loi_list_lock". Elsewhere, "client_obd.cl_rpcs_in_flight" is accessed with "client_obd.cl_loi_list_lock" held 5 out of 6 times (1 of these accesses strongly imply that it is necessary).
      > 436         cli->cl_rpcs_in_flight = 0;
      > 437     
      > 438         init_waitqueue_head(&cli->cl_destroy_waitq);
      > 439         atomic_set(&cli->cl_destroy_in_flight, 0);
      > 440     

      Attachments

        Activity

          People

            wc-triage WC Triage
            arshad512 Arshad Hussain
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: