bpf: Fix 'dubious one-bit signed bitfield' warnings
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Mon, 11 Jul 2022 08:12:00 +0000 (10:12 +0200)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 12 Jul 2022 04:18:55 +0000 (21:18 -0700)
Our CI[1] reported these warnings when using Sparse:

  $ touch net/mptcp/bpf.c
  $ make C=1 net/mptcp/bpf.o
  net/mptcp/bpf.c: note: in included file:
  include/linux/bpf_verifier.h:348:26: error: dubious one-bit signed bitfield
  include/linux/bpf_verifier.h:349:29: error: dubious one-bit signed bitfield

Set them as 'unsigned' to avoid warnings.

[1] https://github.com/multipath-tcp/mptcp_net-next/actions/runs/2643588487

Fixes: 1ade23711971 ("bpf: Inline calls to bpf_loop when callback is known")
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20220711081200.2081262-1-matthieu.baerts@tessares.net
include/linux/bpf_verifier.h

index 81b1966..2e3bad8 100644 (file)
@@ -345,10 +345,10 @@ struct bpf_verifier_state_list {
 };
 
 struct bpf_loop_inline_state {
-       int initialized:1; /* set to true upon first entry */
-       int fit_for_inline:1; /* true if callback function is the same
-                              * at each call and flags are always zero
-                              */
+       unsigned int initialized:1; /* set to true upon first entry */
+       unsigned int fit_for_inline:1; /* true if callback function is the same
+                                       * at each call and flags are always zero
+                                       */
        u32 callback_subprogno; /* valid when fit_for_inline is true */
 };