[PATCH bpf-next] bpf: Fix a 'unused function' compilation error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Building the kernel with latest llvm18, I hit the following error:

 /home/yhs/work/bpf-next/kernel/bpf/verifier.c:4383:13: error: unused function '__is_scalar_unbounded' [-Werror,-Wunused-function]
  4383 | static bool __is_scalar_unbounded(struct bpf_reg_state *reg)
       |             ^~~~~~~~~~~~~~~~~~~~~
 1 error generated.

Patches [1] and [2] are in the same patch set. Patch [1] removed
the usage of __is_scalar_unbounded(), and patch [2] re-introduced
the usage of the function. Currently patch [1] is merged into
bpf-next while patch [2] does not, hence the above compilation
error is triggered.

To fix the compilation failure, let us temporarily make
__is_scalar_unbounded() not accessible through macro '#if 0'.
It can be re-introduced later when [2] is ready to merge.

  [1] https://lore.kernel.org/bpf/20240108205209.838365-11-maxtram95@xxxxxxxxx/
  [2] https://lore.kernel.org/bpf/20240108205209.838365-15-maxtram95@xxxxxxxxx/

Signed-off-by: Yonghong Song <yonghong.song@xxxxxxxxx>
---
 kernel/bpf/verifier.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 7ddad07ae928..e1f42082f32f 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -4380,6 +4380,7 @@ static u64 reg_const_value(struct bpf_reg_state *reg, bool subreg32)
 	return subreg32 ? tnum_subreg(reg->var_off).value : reg->var_off.value;
 }
 
+#if 0
 static bool __is_scalar_unbounded(struct bpf_reg_state *reg)
 {
 	return tnum_is_unknown(reg->var_off) &&
@@ -4388,6 +4389,7 @@ static bool __is_scalar_unbounded(struct bpf_reg_state *reg)
 	       reg->s32_min_value == S32_MIN && reg->s32_max_value == S32_MAX &&
 	       reg->u32_min_value == 0 && reg->u32_max_value == U32_MAX;
 }
+#endif
 
 static bool __is_pointer_value(bool allow_ptr_leaks,
 			       const struct bpf_reg_state *reg)
-- 
2.34.1





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux