Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Apr 2024 13:07:37 -0700
From:      Rick Macklem <rick.macklem@gmail.com>
To:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: LOR so_snd_sx / nfs
Message-ID:  <CAM5tNy4ZaKozRO96qTeMhRXow2OhaWhphFzaAqyTgEX=qUN4Yw@mail.gmail.com>
In-Reply-To: <6nn67272-3osp-26o7-170p-14p1n6476633@yvfgf.mnoonqbm.arg>
References:  <6nn67272-3osp-26o7-170p-14p1n6476633@yvfgf.mnoonqbm.arg>

next in thread | previous in thread | raw e-mail | index | archive | help
Shouldn't be a problem. The socket used for lookup is
AF_UNIX (uses unp_connectat) and the NFS socket
will always be UDP or TCP.

Different sockets imply different socket locks.

At least that's my interpretation, rick

On Wed, Apr 3, 2024 at 11:33=E2=80=AFAM Bjoern A. Zeeb
<bzeeb-lists@lists.zabbadoz.net> wrote:
>
>
> NFS root boot of a Lab machine;  calling wpa_cli:
>
> Thilock order reversal:
>   1st 0xffff0001d4e1c800 so_snd_sx (so_snd_sx, sx) @ /usr/src/sys/kern/ui=
pc_socket.c:4020
>   2nd 0xffffa020cb20e930 nfs (nfs, lockmgr) @ /usr/src/sys/kern/vfs_looku=
p.c:1083
> lock order nfs -> so_snd_sx established at:
> #0 0xffff000000529588 at witness_checkorder+0x328
> #1 0xffff0000004bdf48 at _sx_xlock+0x70
> #2 0xffff0000005687e0 at soiolock+0x5c
> #3 0xffff000000567ff0 at sosend_generic+0x104
> #4 0xffff0000005688b8 at sosend+0x48
> #5 0xffff00000076b6a0 at clnt_vc_call+0x570
> #6 0xffff000000769914 at clnt_reconnect_call+0x1c4
> #7 0xffff0000003552ec at newnfs_request+0x7e4
> #8 0xffff00000037abf0 at nfsrpc_getattrnovp+0xfc
> #9 0xffff00000039823c at mountnfs+0x6ec
> #10 0xffff000000395c64 at nfs_mount+0xe78
> #11 0xffff00000059b59c at vfs_mount_sigdefer+0x30
> #12 0xffff0000005a44c8 at vfs_domount_first+0x254
> #13 0xffff0000005a0884 at vfs_domount+0x2d4
> #14 0xffff00000059f1ec at vfs_donmount+0x824
> #15 0xffff0000005a3438 at kernel_mount+0x64
> #16 0xffff0000005a72b0 at parse_mount+0x494
> #17 0xffff0000005a59ac at vfs_mountroot+0x5b8
> lock order so_snd_sx -> nfs attempted at:
> #0 0xffff000000529cd8 at witness_checkorder+0xa78
> #1 0xffff00000047edb8 at lockmgr_lock_flags+0x78
> #2 0xffff000000390044 at nfs_lock+0x34
> #3 0xffff00000059793c at vop_sigdefer+0x38
> #4 0xffff0000005c3734 at _vn_lock+0x58
> #5 0xffff00000059cb78 at vfs_lookup+0x12c
> #6 0xffff00000059c01c at namei+0x280
> #7 0xffff0000005751f8 at unp_connectat+0x244
> #8 0xffff000000576adc at uipc_sosend_dgram+0x3c0
> #9 0xffff0000005689c8 at sousrsend+0x80
> #10 0xffff00000056ec90 at kern_sendit+0x1e4
> #11 0xffff00000056ef78 at sendit+0x1b0
> #12 0xffff00000056edb4 at sys_sendto+0x4c
> #13 0xffff00000086ad40 at do_el0_sync+0x59c
> #14 0xffff00000084391c at handle_el0_sync+0x48
>
>
> --
> Bjoern A. Zeeb                                                     r15:7
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAM5tNy4ZaKozRO96qTeMhRXow2OhaWhphFzaAqyTgEX=qUN4Yw>