From owner-svn-src-all@FreeBSD.ORG Sun Mar 22 16:12:23 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CAF44DD7; Sun, 22 Mar 2015 16:12:23 +0000 (UTC) Received: from mailrelay105.isp.belgacom.be (mailrelay105.isp.belgacom.be [195.238.20.132]) by mx1.freebsd.org (Postfix) with ESMTP id F0AC5196; Sun, 22 Mar 2015 16:12:22 +0000 (UTC) X-Belgacom-Dynamic: yes X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=KjSUzZxnmGSQ+6+vr4Kd0OSSUs/Ia9ciENKrYVIfwLU= c=1 sm=2 a=6I5d2MoRAAAA:8 a=CLOSWh0hz5zq3mD8lasA:9 a=CjuIK1q_8ugA:10 a=6R8KEigaNUhcvUBM:21 a=2PLbIismDCuwnmFb:21 a=9C5w671CO25bZjS6ipoA:9 a=OTFKxNmSR6MA:10 a=LSW1mi3CKqAA:10 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BhBgAZ6Q5V/y+M8VFcgwZSTgzGboV1AoEbTQEBAQEBAX2EFQEFViMQCxQECSUPKh4GE4gzAQjIegEBAQEBAQEDAQEBAQEBARcEiyGEZBEHhC0FkjiCBoV+lCsig289MYJDAQEB Received: from 47.140-241-81.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([81.241.140.47]) by relay.skynet.be with ESMTP; 22 Mar 2015 17:11:11 +0100 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.9/8.14.9) with ESMTP id t2MGBAMZ000895; Sun, 22 Mar 2015 17:11:10 +0100 (CET) (envelope-from tijl@FreeBSD.org) Date: Sun, 22 Mar 2015 17:11:10 +0100 From: Tijl Coosemans To: Ian Lepore Subject: Re: svn commit: r279993 - in head/sys: dev/cxgb dev/cxgbe kern vm Message-ID: <20150322171110.2af31564@kalimero.tijl.coosemans.org> In-Reply-To: <201503141708.t2EH8TdR074383@svn.freebsd.org> References: <201503141708.t2EH8TdR074383@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/ycIkp_kwvfn.i6.Tw.o7FzR" Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 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: Sun, 22 Mar 2015 16:12:23 -0000 --MP_/ycIkp_kwvfn.i6.Tw.o7FzR Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sat, 14 Mar 2015 17:08:29 +0000 (UTC) Ian Lepore wrote: > Author: ian > Date: Sat Mar 14 17:08:28 2015 > New Revision: 279993 > URL: https://svnweb.freebsd.org/changeset/base/279993 > > Log: > Set the SBUF_INCLUDENUL flag in sbuf_new_for_sysctl() so that sysctl > strings returned to userland include the nulterm byte. > > Some uses of sbuf_new_for_sysctl() write binary data rather than strings; > clear the SBUF_INCLUDENUL flag after calling sbuf_new_for_sysctl() in > those cases. (Note that the sbuf code still automatically adds a nulterm > byte in sbuf_finish(), but since it's not included in the length it won't > get copied to userland along with the binary data.) Can you review the attached patch? The KERN_PROC_ENV sysctl is also binary (zero-terminated strings). Adding an extra \0 at the end makes some programs think there's an extra empty environment variable. It causes console-kit-daemon to crash for instance. I suspect a similar patch may be needed for KERN_PROC_ARGS. --MP_/ycIkp_kwvfn.i6.Tw.o7FzR Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=kern_proc_env.patch Index: sys/kern/kern_proc.c =================================================================== --- sys/kern/kern_proc.c (revision 280322) +++ sys/kern/kern_proc.c (working copy) @@ -1904,6 +1904,7 @@ sysctl_kern_proc_env(SYSCTL_HANDLER_ARGS } sbuf_new_for_sysctl(&sb, NULL, GET_PS_STRINGS_CHUNK_SZ, req); + sbuf_clear_flags(&sb, SBUF_INCLUDENUL); error = proc_getenvv(curthread, p, &sb); error2 = sbuf_finish(&sb); PRELE(p); --MP_/ycIkp_kwvfn.i6.Tw.o7FzR--