unix: avoid taking two endpoint locks
unix: avoid taking two endpoint locks

If we want to take two endpoint locks, we need to be sure that we always
take them in the same order.

Accept() locks the listening endpoint to work with acceptedChan and then
it calls GetLocalAddress that locks an accepted endpoint. Actually, we
can release the listening endpoint lock before calling GetLocalAddress.

Reported-by: 3a67f8521aaec12b22bcbd693a1c5ec55ddc416d@syzkaller.appspotmail.com
PiperOrigin-RevId: 394553823

google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor,google/gvisor