[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87ttd9y9yx.fsf@toke.dk>
Date: Fri, 18 Oct 2024 12:35:50 +0200
From: Toke Høiland-Jørgensen <toke@...hat.com>
To: Simon Horman <horms@...nel.org>, Pablo Neira Ayuso
<pablo@...filter.org>, Jozsef Kadlecsik <kadlec@...filter.org>
Cc: "David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, Nathan Chancellor <nathan@...nel.org>, Nick
Desaulniers <ndesaulniers@...gle.com>, Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>, netfilter-devel@...r.kernel.org,
coreteam@...filter.org, netdev@...r.kernel.org, bpf@...r.kernel.org,
llvm@...ts.linux.dev
Subject: Re: [PATCH nf-next] netfilter: bpf: Pass string literal as format
argument of request_module()
Simon Horman <horms@...nel.org> writes:
> Both gcc-14 and clang-18 report that passing a non-string literal as the
> format argument of request_module() is potentially insecure.
>
> E.g. clang-18 says:
>
> .../nf_bpf_link.c:46:24: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
> 46 | err = request_module(mod);
> | ^~~
> .../kmod.h:25:55: note: expanded from macro 'request_module'
> 25 | #define request_module(mod...) __request_module(true, mod)
> | ^~~
> .../nf_bpf_link.c:46:24: note: treat the string as an argument to avoid this
> 46 | err = request_module(mod);
> | ^
> | "%s",
> .../kmod.h:25:55: note: expanded from macro 'request_module'
> 25 | #define request_module(mod...) __request_module(true, mod)
> | ^
>
> It is always the case where the contents of mod is safe to pass as the
> format argument. That is, in my understanding, it never contains any
> format escape sequences.
>
> But, it seems better to be safe than sorry. And, as a bonus, compiler
> output becomes less verbose by addressing this issue as suggested by
> clang-18.
>
> No functional change intended.
> Compile tested only.
>
> Signed-off-by: Simon Horman <horms@...nel.org>
Reviewed-by: Toke Høiland-Jørgensen <toke@...hat.com>
Powered by blists - more mailing lists