The following commit has been merged in the master branch:
commit 93b88935999ad25bc22daf64f9ebff30957e0a27
Author: Marcio Barbosa <[email protected]>
Date:   Mon Mar 21 14:43:34 2022 -0300

    DARWIN: Drop afs_event lock before destroying it
    
    On macOS arm64, a lock (lck_mtx_t) must be released (lck_mtx_unlock)
    before it can be destroyed/freed (lck_mtx_free -> lck_mtx_destroy). If
    this rules isn't respected, the operating system in question will panic
    with the following message:
    
      panic("lck_mtx_assert(): mutex (%p) not owned", lock);
    
    Unfortunately, the current shutdown process of the osi_sleep module
    doesn't respect this rule. As a result, macOS arm64 panics when the
    OpenAFS client is shut down/restarted. To fix this problem, release
    afs_event->lck (EVTLOCK_UNLOCK) before destroying it (EVTLOCK_DESTROY).
    
    Change-Id: Ifd39fd99c237c783ed98079573fd4043ebab363b
    Reviewed-on: https://gerrit.openafs.org/14933
    Tested-by: BuildBot <[email protected]>
    Reviewed-by: Mark Vitale <[email protected]>
    Tested-by: Mark Vitale <[email protected]>
    Reviewed-by: Benjamin Kaduk <[email protected]>

 src/afs/DARWIN/osi_sleep.c | 1 +
 1 file changed, 1 insertion(+)

-- 
OpenAFS Master Repository
_______________________________________________
OpenAFS-cvs mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-cvs

Reply via email to