OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_1-145-g93b8893

Gerrit Code Review gerrit@openafs.org
Thu, 7 Apr 2022 12:38:18 -0400


The following commit has been merged in the master branch:
commit 93b88935999ad25bc22daf64f9ebff30957e0a27
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
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 <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

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

-- 
OpenAFS Master Repository