Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Mar 2015 17:24:51 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Ryan Stone <rysto32@gmail.com>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r279932 - head/sys/vm
Message-ID:  <1426202691.6265.4.camel@freebsd.org>
In-Reply-To: <CAFMmRNx%2BB=LtPt2Vx=9dEACiLVQgY9gWu%2B6KmmcYHbP13wX5QA@mail.gmail.com>
References:  <201503121806.t2CI6VSU034853@svn.freebsd.org> <CAFMmRNx%2BB=LtPt2Vx=9dEACiLVQgY9gWu%2B6KmmcYHbP13wX5QA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2015-03-12 at 17:02 -0400, Ryan Stone wrote:
> On Thu, Mar 12, 2015 at 2:06 PM, Ian Lepore <ian@freebsd.org> wrote:
> 
> >   Nullterminate strings returned via sysctl.
> >
> >   PR:           195668
> >
> 
> To quote the manpage:
> 
> > The *sbuf* family of functions allows one to safely
> > allocate, construct and release bounded null-terminated
> > strings in kernel space.
> 
> IMO the sbuf API is broken if we have to explicitly null-terminate the
> string ourselves.

If we want the nullterm to be counted in the length of data in the
buffer (and thus get transmitted back across the syscall boundary) we
need to put an explicit counted nullterm byte into the buffer.

I had started down the path of making that (counting the nullterm byte
as part of the data in the buffer) a feature of sbuf that you could set
with a flag, but then whoever added sbuf_new_for_sysctl() didn't
propagate the flags field through the new function and I decided to not
go off into the weeds making a new flavor of that takes flags.

-- Ian




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