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

Crash in upstream kiblnd_handle_early_rxs()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • None
    • Upstream
    • None
    • 3
    • 9223372036854775807

    Description

      Under upstream staging commit 5a2ca43fa54f561c252c2, the list handling code in kiblnd_handle_early_rxs() got changed to list_for_each_safe(). That protects against the current thread from deleting the current entry it is looking at. It does not protect against another thread from deleting the next item in the list (which the tmp variable points to). The way this routine holds then releases a lock opens the door to other threads doing just that.

      We have triggered a crash due to this so it can in fact happen (a rare race condition).

      Please revert this commit on this routine. The change never made it to the community repo.

      Attachments

        Issue Links

          Activity

            People

              dougo Doug Oucharek (Inactive)
              dougo Doug Oucharek (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: