Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Apr 2005 22:39:24 +0200
From:      Antoine Brodin <antoine.brodin@laposte.net>
To:        Alfred Perlstein <alfred@freebsd.org>
Cc:        mdodd@freebsd.org
Subject:   Re: cvs commit: src/share/man/man4 unix.4 src/sys/sys socket.h un.h unpcb.h src/sys/kern uipc_usrreq.c
Message-ID:  <20050413223924.75ac1047.antoine.brodin@laposte.net>
In-Reply-To: <20050413195312.GD60345@elvis.mu.org>
References:  <200504130001.j3D01kuD081602@repoman.freebsd.org> <20050413184246.19212b84.antoine.brodin@laposte.net> <20050413124956.M3762@sasami.jurai.net> <20050413195312.GD60345@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alfred Perlstein <alfred@freebsd.org> wrote:
> * Matthew N. Dodd <mdodd@FreeBSD.ORG> [050413 10:04] wrote:
> > On Wed, 13 Apr 2005, Antoine Brodin wrote:
> > >I'm not sure it's safe to sooptcopyout/sooptcopyin while holding the
> > >unp mutex in uipc_ctloutput.  It can fault.
> > 
> > I was concerned about this but saw that other code holds locks across 
> > sooptcopy*() calls.
> > 
> > If there is a deadlock problem it may be time to add a per unpcb lock.
> 
> This should be tripping an assertion, copyout/copyin is not ok while
> holding a mutex.  Does anyone want to add the logic to sooptcopy*?

A simple
WITNESS_WARN(WARN_GIANTOK|WARN_SLEEPOK, NULL, "Sleeping in sofoo");
should do the trick.

Cheers,

Antoine



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050413223924.75ac1047.antoine.brodin>