From: Hou Tao Date: Wed, 18 Jan 2023 08:46:30 +0000 (+0800) Subject: bpf: Fix off-by-one error in bpf_mem_cache_idx() X-Git-Tag: v6.2-rc7~20^2~35^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=36024d023d139a0c8b552dc3b7f4dc7b4c139e8f;p=thirdparty%2Fkernel%2Flinux.git bpf: Fix off-by-one error in bpf_mem_cache_idx() According to the definition of sizes[NUM_CACHES], when the size passed to bpf_mem_cache_size() is 256, it should return 6 instead 7. Fixes: 7c8199e24fa0 ("bpf: Introduce any context BPF specific memory allocator.") Signed-off-by: Hou Tao Acked-by: Yonghong Song Link: https://lore.kernel.org/r/20230118084630.3750680-1-houtao@huaweicloud.com Signed-off-by: Alexei Starovoitov --- diff --git a/kernel/bpf/memalloc.c b/kernel/bpf/memalloc.c index ebcc3dd0fa19c..1db156405b68b 100644 --- a/kernel/bpf/memalloc.c +++ b/kernel/bpf/memalloc.c @@ -71,7 +71,7 @@ static int bpf_mem_cache_idx(size_t size) if (size <= 192) return size_index[(size - 1) / 8] - 1; - return fls(size - 1) - 1; + return fls(size - 1) - 2; } #define NUM_CACHES 11