[Buildroot] [autobuild.buildroot.net] Your build results for 2019-04-11 (libcamera-uClibc support)
arnout at mind.be
Fri Apr 12 21:00:04 UTC 2019
On 12/04/2019 11:06, Kieran Bingham wrote:
> Alternatively, we could extend our secure_getenv() such that on uClibc
> we use 'issetugid()' which was added at :
>>  https://git.busybox.net/uClibc/commit/?id=94246e65e20b5390d53858447526b231ef1afd67
> In fact, that commit references a commit  at MUSL with a very well
> written commit message describing the issue:
>>  http://git.musl-libc.org/cgit/musl/commit/?id=ddddec106fd17c3aca3287005d21e92f742aa9d4
> Then there is also a very good write up of this topic at  showing why
> this complexity has come to exist...
>>  issetugid() sadness
> And that one makes me just want to disable libcamera for uClibc or any
> other unsupported system instead.
All three these sources seem to suggest that using a proper issetugid() (which
uClibc and musl do provide) would be the right thing to do, no? Your reference
 pretty much explains that using getauxval(AT_SECURE) is not such a great
idea. For glibc (which doesn't have issetugid) there is no problem because it
already provides secure_getenv().
If I understand  correctly, the only problem with just using issetugid() is
that it doesn't work at all on OpenBSD and its variants.
> Thomas, I assume other projects have to deal with this same issue, how
> do they do it? Is there a generic way to solve this for all platforms?
AFAIK we haven't seen this issue before.
> I'm leaning towards just disabling builds on uClibc for now as we are
> unlikely to get many users of libcamera with uClibc ... ? And we could
> always revisit the topic later if someone decided they did want to use
> it there.
It's not exactly clear to me how musl differs from uClibc here. Except that
musl does provide getauxval (and in fact it redirects the call to
getauxval(AT_SECURE) to issetugid()).
More information about the buildroot