The branch main has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=8cca8e248fb7f5fb475544a08d8cdb24d26bf4b3

commit 8cca8e248fb7f5fb475544a08d8cdb24d26bf4b3
Author:     Andrew Turner <[email protected]>
AuthorDate: 2023-06-02 09:58:56 +0000
Commit:     Andrew Turner <[email protected]>
CommitDate: 2023-06-02 15:24:15 +0000

    arm64: Correct a pmap unlock in pmap_stage2_fault
    
    This is used by bhyve so was not an issue as it is still in development.
    Sponsored by:   Arm Ltd
---
 sys/arm64/arm64/pmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 150532b68c75..75175a102499 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -7446,7 +7446,7 @@ pmap_stage2_fault(pmap_t pmap, uint64_t esr, uint64_t far)
                PMAP_LOCK(pmap);
                pdep = pmap_pde(pmap, far, &lvl);
                if (pdep == NULL || lvl != (dfsc - ISS_DATA_DFSC_TF_L1)) {
-                       PMAP_LOCK(pmap);
+                       PMAP_UNLOCK(pmap);
                        break;
                }
 

Reply via email to