Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Mar 2001 08:34:53 +0100
From:      David Malone <dwmalone@maths.tcd.ie>
To:        Brian Somers <brian@Awfulhak.org>
Cc:        David Malone <dwmalone@maths.tcd.ie>, freebsd-hackers@freebsd.org, freebsd-alpha@freebsd.org, wpaul@freebsd.org
Subject:   Re: Control messages. 
Message-ID:   <200103280835.aa82064@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Tue, 27 Mar 2001 17:41:19 BST." <200103271641.f2RGfJL00975@hak.lan.Awfulhak.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
> I can't see where in the kernel we're *not* using CMSG_DATA().  This 
> was fixed a while ago and tested ok on beast (for 3 descriptors 
> AFAIR).  Are we looking at the same code (I'm looking in /sys/kern) ?

Have a look in uipc_usrreq.c:unp_internalize(), it uses (cm+1) to
find where the data is to be written out in the CREDS case and uses
(cm+1) to find where the descriptors start in the RIGHTS case. The
reallocation code seems to be broken (it attaches a cluster to a
mbuf it is still using, currupting the data in the mbuf). If I
enable it on the 386, where it is unnecessaey usually, and pass
about 50 discriptors I get a panic.

I've had a look at what other people have done about this issue.
The NetBSD people seem to have taken the fix I'm proposing. Solaris
and BSD/OS don't provide the required alignment and just define
CMSG_DATA(cm) to be (cm+1).

	David.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




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