|
Description
|
In the SCTP's sockfs close function (socksctpv_close in uts/common/fs/sockfs/socksctpvnops.c) in the current on10 gate, there is recursive mutex_enter() call in case so->so_count != 0 as shown below:
static int
socksctpv_close(struct vnode *vp, int flag, int count, offset_t offset,
struct cred *cr)
{
[...]
mutex_enter(&so->so_lock);
so_lock_single(so); /* Set SOLOCKED */
ASSERT(so->so_count > 0);
so->so_count--; /* one fewer open reference */
dprint(2, ("socksctpv_close: %p so_count %d\n", so, so->so_count));
if (so->so_count == 0) {
[...]
}
mutex_enter(&so->so_lock); <---- RECURSIVE MUTEX_ENTER
so_unlock_single(so, SOLOCKED);
mutex_exit(&so->so_lock);
return (0);
}
|