Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Nov 2020 19:26:00 +0000
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Brandon Bergren <bdragon@FreeBSD.org>
Cc:        Scott Long <scottl@samsco.org>, Scott Long <scottl@FreeBSD.org>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r367701 - head/lib/libutil
Message-ID:  <44B80F15-2BE7-4B7C-BC3D-B65511480E58@freebsd.org>
In-Reply-To: <f9904238-3923-40c1-b478-c5249821ed09@www.fastmail.com>
References:  <202011150748.0AF7mqW3016900@repo.freebsd.org> <D5492BB4-A282-4E35-B02F-1216769FDA51@freebsd.org> <A39C12CC-D3D6-4166-9089-7466FA1C2B2D@samsco.org> <329C4753-BB97-4C67-8CDA-39EB67E16CE8@freebsd.org> <EBD050A5-70AE-43E8-A9E1-CCD3BCA11180@samsco.org> <f9904238-3923-40c1-b478-c5249821ed09@www.fastmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 15 Nov 2020, at 19:10, Brandon Bergren <bdragon@FreeBSD.org> wrote:
>=20
> On powerpc64 and powerpc64le, there is some really weird behavior =
happening around the sysctl itself:
>=20
> root@crow:~ # pkg
> The package management tool is not yet installed on your system.
> Do you want to fetch and install it now? [y/N]: N
> root@crow:~ # sysctl user.localbase
> user.localbase: /usr/local
> root@crow:~ # pkg
> The package management tool is not yet installed on your system.
> Do you want to fetch and install it now? [y/N]: N
> root@crow:~ # sysctl user.localbase=3D/usr/local
> user.localbase: /usr/local -> /usr/local
> root@crow:~ # pkg
> pkg: not enough arguments
> Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot =
path>|-r <rootdir>] [-C <configuration file>] [-R <repo config dir>] [-o =
var=3Dvalue] [-4|-6] <command> [<args>]
>=20
> For more information on available commands and options see 'pkg help'.
> root@crow:~ #=20
>=20
>=20
> I would double check very closely that the sysctl is being called =
correctly, the sysctl tool manages to read it out, but libutil does not.

That's odd. What does truss say?

Jess

> On Sun, Nov 15, 2020, at 1:06 PM, Scott Long wrote:
>>=20
>>> On Nov 15, 2020, at 12:01 PM, Jessica Clarke <jrtc27@freebsd.org> =
wrote:
>>>>=20
>>>> I felt similar concerns, but my misunderstanding of strlcpy() drove =
the
>>>> result.  Since the use case for getlocalbase() lends itself to also =
use
>>>> strlcat()/strlcpy(), I was trying to replicate the API semantics of =
those,
>>>> at least to the limit of my understanding.  Thanks for the =
feedback, I=E2=80=99ll
>>>> look at it some more.
>>>=20
>>> Thanks. ENOMEM also feels inappropriate as no allocation is taking
>>> place. Perhaps ENAMETOOLONG, which is used in similar cases for =
things
>>> like gethostbyname? Though sysctlbyname uses ENOMEM instead... sigh.
>>>=20
>>=20
>> Yep, I wasn=E2=80=99t happy with ENOMEM either but I couldn=E2=80=99t =
find anything better.
>>=20
>>> Also, if pathlen has already been checked against SSIZE_MAX (giving
>>> EINVAL) and tmplen against pathlen there's no need to then check =
tmplen
>>> against SSIZE_MAX.
>>>=20
>>=20
>> Done.
>>=20
>>> I'd be happy to give a review on Phabricator if/when you have a new
>>> patch.
>>>=20
>>=20
>> https://reviews.freebsd.org/D27227
>>=20
>> Thanks,
>> Scott
>>=20
>>=20
>=20
> --=20
>  Brandon Bergren
>  bdragon@FreeBSD.org




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44B80F15-2BE7-4B7C-BC3D-B65511480E58>