From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: "José Pekkarinen" <jose.pekkarinen@unikie.com>
Cc: buildroot <buildroot@buildroot.org>
Subject: Re: [Buildroot] [PATCH 2/7] package/minijail: new package
Date: Wed, 12 Jan 2022 15:51:03 +0100 [thread overview]
Message-ID: <20220112155103.7e6c11c0@windsurf> (raw)
In-Reply-To: <CAJPV9MpzSPFyj-AMO+_iCNZ-PVp+DcKaH1yrMHvO2TawoUPa1g@mail.gmail.com>
Hello,
On Wed, 12 Jan 2022 16:15:16 +0200
José Pekkarinen <jose.pekkarinen@unikie.com> wrote:
> > What are you "fixing"? You're replacing a prlimit() call by by
> > setrlimit(), but why? What problem does it solve? Why is it correct to
> > do that?
>
> The problem is shown from as this:
>
> /home/pekkari/br-test-pkg/bootlin-armv5-uclibc/build/minijail-linux-v17/libminijail.c:
> In function ‘set_rlimits_or_die’:
> /home/pekkari/br-test-pkg/bootlin-armv5-uclibc/build/minijail-linux-v17/libminijail.c:1911:7:
> error: implicit declaration of function ‘prlimit’; did you mean
> ‘setrlimit’? [-Werror=implicit-function-declaration]
> 1911 | if (prlimit(j->initpid, j->rlimits[i].type, &limit, NULL))
> | ^~~~~~~
> | setrlimit
>
> So I followed the suggestion, no more, no less.
You shouldn't blindly follow compiler suggestions :-)
prlimit() exists in musl. Was <sys/resource.h> included, as suggested
by the prlimit() man page ?
> > > +-static_assert(FD_SETSIZE >= MAX_PRESERVED_FDS * 2 - 1,
> > > +- "If true, ensure_no_fd_conflict will always find an unused fd.");
> >
> > You're not fixing the static_assert() here but simply dropping it. Why?
> > When does it fail? What is the problem with it? Why is it safe to drop
> > it?
>
> It fails like this:
>
> /home/pekkari/br-test-pkg/bootlin-armv5-uclibc/build/minijail-linux-v17/libminijail.c:2623:15:
> error: expected declaration specifiers or ‘...’ before numeric
> constant
> 2623 | static_assert(FD_SETSIZE >= MAX_PRESERVED_FDS * 2 - 1,
> | ^~~~~~~~~~
> /home/pekkari/br-test-pkg/bootlin-armv5-uclibc/build/minijail-linux-v17/libminijail.c:2624:8:
> error: expected declaration specifiers or ‘...’ before string constant
> 2624 | "If true, ensure_no_fd_conflict will always find an unused fd.");
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> So my understanding is that this platform may
> define static_assert in a different manner, and I
> find no traces of the purpose of that isolated assert,
> so the easier way to get around this was removing it.
Well, the assert is there for a reason, so we need to understand what
it is verifying, and whether it is safe to drop it.
After checking, FD_SETSIZE seems to be defined to 1024 by glibc, musl
and uclibc-ng, and MAX_PRESERVED_FDS is defined as 128 by the minijail
code.
Can you try using _Static_assert() instead, which is part of the C11
standard?
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-01-12 14:51 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-10 14:12 [Buildroot] [PATCH 1/7] package/opensc: new package José Pekkarinen
2021-12-10 14:12 ` [Buildroot] [PATCH 2/7] package/minijail: " José Pekkarinen
2021-12-10 14:48 ` Giulio Benetti
2021-12-10 18:15 ` Arnout Vandecappelle
2021-12-10 20:26 ` Giulio Benetti
2021-12-11 8:30 ` Arnout Vandecappelle
2021-12-11 11:53 ` Giulio Benetti
2021-12-10 19:57 ` Yann E. MORIN
2022-01-05 20:41 ` Thomas Petazzoni
2022-01-12 14:15 ` José Pekkarinen
2022-01-12 14:51 ` Thomas Petazzoni [this message]
2022-01-12 15:08 ` José Pekkarinen
2022-01-12 16:00 ` Thomas Petazzoni
2022-01-13 5:12 ` José Pekkarinen
2021-12-10 14:12 ` [Buildroot] [PATCH 3/7] package/bmx7: " José Pekkarinen
2021-12-10 14:52 ` Giulio Benetti
2021-12-10 20:07 ` Yann E. MORIN
2022-01-05 22:23 ` Thomas Petazzoni
2022-01-10 5:36 ` José Pekkarinen
2021-12-10 14:12 ` [Buildroot] [PATCH 4/7] package/alfred: " José Pekkarinen
2021-12-10 14:54 ` Giulio Benetti
2022-01-05 22:43 ` Thomas Petazzoni
2021-12-10 14:12 ` [Buildroot] [PATCH 5/7] package/aexpect: " José Pekkarinen
2021-12-10 14:56 ` Giulio Benetti
2021-12-10 20:11 ` Yann E. MORIN
2021-12-11 8:43 ` Arnout Vandecappelle
2021-12-11 9:17 ` Yann E. MORIN
2022-01-06 8:40 ` Thomas Petazzoni
2021-12-10 14:12 ` [Buildroot] [PATCH 6/7] package/avocado: " José Pekkarinen
2021-12-10 14:57 ` Giulio Benetti
2022-07-26 8:13 ` Thomas Petazzoni via buildroot
2021-12-10 14:12 ` [Buildroot] [PATCH 7/7] package/avocado-vt: " José Pekkarinen
2021-12-10 15:00 ` Giulio Benetti
2022-07-26 8:21 ` Thomas Petazzoni via buildroot
2022-07-28 6:07 ` José Pekkarinen via buildroot
2021-12-10 14:32 ` [Buildroot] [PATCH 1/7] package/opensc: " Giulio Benetti
2021-12-10 17:34 ` Yann E. MORIN
2021-12-10 14:49 ` Giulio Benetti
2021-12-10 17:06 ` Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220112155103.7e6c11c0@windsurf \
--to=thomas.petazzoni@bootlin.com \
--cc=buildroot@buildroot.org \
--cc=jose.pekkarinen@unikie.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox