libbpf: Change hash_combine parameters from long to unsigned long
authorSidong Yang <sidong.yang@furiosa.ai>
Sat, 16 Nov 2024 08:10:52 +0000 (17:10 +0900)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 16 Nov 2024 19:01:38 +0000 (11:01 -0800)
The hash_combine() could be trapped when compiled with sanitizer like "zig cc"
or clang with signed-integer-overflow option. This patch parameters and return
type to unsigned long to remove the potential overflow.

Signed-off-by: Sidong Yang <sidong.yang@furiosa.ai>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/r/20241116081054.65195-1-sidong.yang@furiosa.ai
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/btf.c

index 8befb81..12468ae 100644 (file)
@@ -3548,7 +3548,7 @@ struct btf_dedup {
        struct strset *strs_set;
 };
 
-static long hash_combine(long h, long value)
+static unsigned long hash_combine(unsigned long h, unsigned long value)
 {
        return h * 31 + value;
 }