From owner-svn-src-all@freebsd.org Thu May 19 00:00:40 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8A55B41347; Thu, 19 May 2016 00:00:40 +0000 (UTC) (envelope-from torek@elf.torek.net) Received: from elf.torek.net (mail.torek.net [96.90.199.121]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD59F1A77; Thu, 19 May 2016 00:00:40 +0000 (UTC) (envelope-from torek@elf.torek.net) Received: from elf.torek.net (localhost [127.0.0.1]) by elf.torek.net (8.14.9/8.14.9) with ESMTP id u4INxZ4h022591; Wed, 18 May 2016 16:59:35 -0700 (PDT) (envelope-from torek@elf.torek.net) Received: (from torek@localhost) by elf.torek.net (8.14.9/8.14.9/Submit) id u4INxZUk022590; Wed, 18 May 2016 16:59:35 -0700 (PDT) (envelope-from torek) Date: Wed, 18 May 2016 16:59:35 -0700 (PDT) From: Chris Torek Message-Id: <201605182359.u4INxZUk022590@elf.torek.net> To: brde@optusnet.com.au, ian@freebsd.org Subject: Re: svn commit: r300167 - in head: contrib/bsnmp/snmpd usr.sbin/bsnmpd/bsnmpd Cc: glebius@freebsd.org, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org In-Reply-To: <20160519092734.U1798@besplex.bde.org> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (elf.torek.net [127.0.0.1]); Wed, 18 May 2016 16:59:35 -0700 (PDT) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 May 2016 00:00:41 -0000 >I don't know much about CMSG*, so I wouldn't have if you didn't ask :-). One thing to know about the CMSG (control message) stuff is that it is badly broken, at least on I32LP64 systems. Not the CMSG_* aligning macros themselves (the alignment is linked to stuff I did back in the early sparc-port days, around 1992 or so), but internally, when file descriptor rights are internalized before sending. This converts them from 32 bit "int"s to 64 bit pointers, which winds up breaking other code. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=181741 (I attached a revised set of patches that apply to current kernels, adding a rewrite of the transform code for sanity / readability.) >... So void * works better in all cases in the kernel. If someone wanted to change CMSG_DATA, CMSG_FIRSTHDR, and CMSG_NEXTHDR to produce "void *", I'd vote in favor of that. :-) Chris