From: "Mickaël Salaün" <mic@digikod.net>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
Konstantin Meskhidze <konstantin.meskhidze@huawei.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Next Mailing List <linux-next@vger.kernel.org>,
willemdebruijn.kernel@gmail.com, gnoack3000@gmail.com,
linux-security-module@vger.kernel.org, netdev@vger.kernel.org,
netfilter-devel@vger.kernel.org, yusongping@huawei.com,
artem.kuzin@huawei.com, Arnd Bergmann <arnd@arndb.de>,
Randy Dunlap <rdunlap@infradead.org>
Subject: Re: linux-next: build warning after merge of the landlock tree
Date: Wed, 4 Oct 2023 13:01:45 +0200 [thread overview]
Message-ID: <20231004.SeachioS1aop@digikod.net> (raw)
In-Reply-To: <CAMuHMdVZsA4H47od6FV9+OzgWB2hnTQGr8YOcAL3yyURdm1AoA@mail.gmail.com>
On Tue, Oct 03, 2023 at 03:23:22PM +0200, Geert Uytterhoeven wrote:
> Hi Mickaël,
>
> On Tue, Oct 3, 2023 at 3:15 PM Mickaël Salaün <mic@digikod.net> wrote:
> > On Tue, Oct 03, 2023 at 02:27:37PM +1100, Stephen Rothwell wrote:
> > > After merging the landlock tree, today's linux-next build (powerpc
> > > allyesconfig) produced this warning:
> > >
> > > samples/landlock/sandboxer.c: In function 'populate_ruleset_net':
> > > samples/landlock/sandboxer.c:170:78: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type '__u64' {aka 'long unsigned int'} [-Wformat=]
> > > 170 | "Failed to update the ruleset with port \"%llu\": %s\n",
> > > | ~~~^
> > > | |
> > > | long long unsigned int
> > > | %lu
> > > 171 | net_port.port, strerror(errno));
> > > | ~~~~~~~~~~~~~
> > > | |
> > > | __u64 {aka long unsigned int}
> > >
> > > Introduced by commit
> > >
> > > 24889e7a2079 ("samples/landlock: Add network demo")
> >
> > PowerPC-64 follows the LP64 data model and then uses int-l64.h (instead of
> > int-ll64.h like most architectures) for user space code.
> >
> > Here is the same code with the (suggested) "%lu" token on x86_86:
> >
> > samples/landlock/sandboxer.c: In function ‘populate_ruleset_net’:
> > samples/landlock/sandboxer.c:170:77: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘__u64’ {aka ‘long long unsigned int’} [-Werror=format=]
> > 170 | "Failed to update the ruleset with port \"%lu\": %s\n",
> > | ~~^
> > | |
> > | long unsigned int
> > | %llu
> > 171 | net_port.port, strerror(errno));
> > | ~~~~~~~~~~~~~
> > | |
> > | __u64 {aka long long unsigned int}
> >
> >
> > We would then need to cast __u64 to unsigned long long to avoid this warning,
> > which may look useless, of even buggy, for people taking a look at this sample.
>
> In userspace code, you are supposed to #include <inttypes.h>
> and use PRIu64.
Thanks for these tips!
>
> > Anyway, it makes more sense to cast it to __u16 because it is the
> > expected type for a TCP port. I'm updating the patch with that.
> > Konstantin, please take this fix for the next series:
> > https://git.kernel.org/mic/c/fc9de206a61a
>
> Until someone passes a too large number, and it becomes truncated...
That should not happen because it is checked by the kernel (for this
specific case), but let's make it simple and print the 64-bit value.
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
next prev parent reply other threads:[~2023-10-04 11:01 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-20 9:26 [PATCH v12 00/12] Network support for Landlock Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 01/12] landlock: Make ruleset's access masks more generic Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 02/12] landlock: Allow filesystem layout changes for domains without such rule type Konstantin Meskhidze
2023-10-02 20:26 ` Mickaël Salaün
2023-10-10 2:17 ` Konstantin Meskhidze (A)
2023-09-20 9:26 ` [PATCH v12 03/12] landlock: Refactor landlock_find_rule/insert_rule Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 04/12] landlock: Refactor merge/inherit_ruleset functions Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 05/12] landlock: Move and rename layer helpers Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 06/12] landlock: Refactor " Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 07/12] landlock: Refactor landlock_add_rule() syscall Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 08/12] landlock: Add network rules and TCP hooks support Konstantin Meskhidze
2023-10-02 20:26 ` Mickaël Salaün
2023-10-09 14:12 ` Mickaël Salaün
2023-10-09 14:13 ` Mickaël Salaün
2023-10-10 2:23 ` Konstantin Meskhidze (A)
2023-10-10 2:20 ` Konstantin Meskhidze (A)
2023-10-10 9:17 ` Mickaël Salaün
2023-10-10 11:22 ` Konstantin Meskhidze (A)
2023-10-10 3:29 ` Konstantin Meskhidze (A)
2023-10-10 9:28 ` Mickaël Salaün
2023-10-10 11:21 ` Konstantin Meskhidze (A)
2023-10-11 1:53 ` Konstantin Meskhidze (A)
2023-10-11 16:02 ` Mickaël Salaün
2023-10-11 16:04 ` Konstantin Meskhidze (A)
2023-10-09 15:36 ` Mickaël Salaün
2023-10-10 3:31 ` Konstantin Meskhidze (A)
2023-09-20 9:26 ` [PATCH v12 09/12] selftests/landlock: Share enforce_ruleset() Konstantin Meskhidze
2023-10-02 20:26 ` Mickaël Salaün
2023-10-10 2:47 ` Konstantin Meskhidze (A)
2023-09-20 9:26 ` [PATCH v12 10/12] selftests/landlock: Add 7 new test variants dedicated to network Konstantin Meskhidze
2023-09-20 9:26 ` [PATCH v12 11/12] samples/landlock: Add network demo Konstantin Meskhidze
2023-10-03 13:15 ` linux-next: build warning after merge of the landlock tree Mickaël Salaün
2023-10-03 13:23 ` Geert Uytterhoeven
2023-10-04 11:01 ` Mickaël Salaün [this message]
2023-10-03 13:40 ` Arnd Bergmann
2023-10-04 11:02 ` Mickaël Salaün
2023-09-20 9:26 ` [PATCH v12 12/12] landlock: Document Landlock's network support Konstantin Meskhidze
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=20231004.SeachioS1aop@digikod.net \
--to=mic@digikod.net \
--cc=arnd@arndb.de \
--cc=artem.kuzin@huawei.com \
--cc=geert@linux-m68k.org \
--cc=gnoack3000@gmail.com \
--cc=konstantin.meskhidze@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=rdunlap@infradead.org \
--cc=sfr@canb.auug.org.au \
--cc=willemdebruijn.kernel@gmail.com \
--cc=yusongping@huawei.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;
as well as URLs for NNTP newsgroup(s).