[Bug 256868] lock order reversal in vfs_mount when mounting ZFS based jail

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 28 Jun 2021 09:44:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256868

            Bug ID: 256868
           Summary: lock order reversal in vfs_mount when mounting ZFS
                    based jail
           Product: Base System
           Version: CURRENT
          Hardware: arm64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: pr@aoek.com

Hi,
I can reproduce under aarch64 a bug that possibly has been around for quite
some time and reported as amd64: please check #142878 #128633 or #210906 among
(possibly) others.

lock order reversal:
 1st 0xffffa00035320af0 zfs (zfs, lockmgr) @ /usr/src/sys/kern/vfs_mount.c:1108
 2nd 0xffffa0201564ecb0 devfs (devfs, lockmgr) @
/usr/src/sys/kern/vfs_mount.c:1120
lock order devfs -> zfs established at:
#0 0xffff0000004dd774 at witness_checkorder+0x438
#1 0xffff000000441b4c at lockmgr_xlock+0x50
#2 0xffff00000056a9d4 at _vn_lock+0x54
#3 0xffff00000054b440 at vfs_domount+0xd74
#4 0xffff000000549480 at vfs_donmount+0x2b8
#5 0xffff00000054def8 at kernel_mount+0x4c
#6 0xffff000000550610 at parse_mount+0x49c
#7 0xffff00000054eea8 at vfs_mountroot+0x6d4
#8 0xffff0000003fd668 at start_init+0x24
#9 0xffff00000042a344 at fork_exit+0x74
#10 0xffff00000076f7bc at fork_trampoline+0x14
lock order zfs -> devfs attempted at:
#0 0xffff0000004ddf48 at witness_checkorder+0xc0c
#1 0xffff000000441b4c at lockmgr_xlock+0x50
#2 0xffff00000056a9d4 at _vn_lock+0x54
#3 0xffff00000054b440 at vfs_domount+0xd74
#4 0xffff000000549480 at vfs_donmount+0x2b8
#5 0xffff000000549188 at sys_nmount+0x60
#6 0xffff000000770094 at do_el0_sync+0x4a0
#7 0xffff00000074fa1c at handle_el0_sync+0x90

This is running
# uname -a
FreeBSD asn 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n247543-33e1287b6a54: Mon
Jun 28 10:31:58 CEST 2021    
root@asn:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC  arm64

-- 
You are receiving this mail because:
You are the assignee for the bug.