Message ID | 20241030100516.3633640-1-houtao@huaweicloud.com (mailing list archive) |
---|---|
Headers | show |
Series | Fixes for bits iterator | expand |
Hello: This series was applied to bpf/bpf.git (master) by Alexei Starovoitov <ast@kernel.org>: On Wed, 30 Oct 2024 18:05:11 +0800 you wrote: > From: Hou Tao <houtao1@huawei.com> > > Hi, > > The patch set fixes several issues in bits iterator. Patch #1 fixes the > kmemleak problem of bits iterator. Patch #2~#3 fix the overflow problem > of nr_bits. Patch #4 fixes the potential stack corruption when bits > iterator is used on 32-bit host. Patch #5 adds more test cases for bits > iterator. > > [...] Here is the summary with links: - [bpf,v4,1/5] bpf: Free dynamically allocated bits in bpf_iter_bits_destroy() https://git.kernel.org/bpf/bpf/c/101ccfbabf47 - [bpf,v4,2/5] bpf: Add bpf_mem_alloc_check_size() helper https://git.kernel.org/bpf/bpf/c/62a898b07b83 - [bpf,v4,3/5] bpf: Check the validity of nr_words in bpf_iter_bits_new() https://git.kernel.org/bpf/bpf/c/393397fbdcad - [bpf,v4,4/5] bpf: Use __u64 to save the bits in bits iterator https://git.kernel.org/bpf/bpf/c/e13393836750 - [bpf,v4,5/5] selftests/bpf: Add three test cases for bits_iter https://git.kernel.org/bpf/bpf/c/ebafc1e535db You are awesome, thank you!
From: Hou Tao <houtao1@huawei.com> Hi, The patch set fixes several issues in bits iterator. Patch #1 fixes the kmemleak problem of bits iterator. Patch #2~#3 fix the overflow problem of nr_bits. Patch #4 fixes the potential stack corruption when bits iterator is used on 32-bit host. Patch #5 adds more test cases for bits iterator. Please see the individual patches for more details. And comments are always welcome. --- v4: * patch #1: add ack from Yafang * patch #3: revert code-churn like changes: (1) compute nr_bytes and nr_bits before the check of nr_words. (2) use nr_bits == 64 to check for single u64, preventing build warning on 32-bit hosts. * patch #4: use "BITS_PER_LONG == 32" instead of "!defined(CONFIG_64BIT)" v3: https://lore.kernel.org/bpf/20241025013233.804027-1-houtao@huaweicloud.com/T/#t * split the bits-iterator related patches from "Misc fixes for bpf" patch set * patch #1: use "!nr_bits || bits >= nr_bits" to stop the iteration * patch #2: add a new helper for the overflow problem * patch #3: decrease the limitation from 512 to 511 and check whether nr_bytes is too large for bpf memory allocator explicitly * patch #5: add two more test cases for bit iterator v2: http://lore.kernel.org/bpf/d49fa2f4-f743-c763-7579-c3cab4dd88cb@huaweicloud.com Hou Tao (5): bpf: Free dynamically allocated bits in bpf_iter_bits_destroy() bpf: Add bpf_mem_alloc_check_size() helper bpf: Check the validity of nr_words in bpf_iter_bits_new() bpf: Use __u64 to save the bits in bits iterator selftests/bpf: Add three test cases for bits_iter include/linux/bpf_mem_alloc.h | 3 + kernel/bpf/helpers.c | 54 +++++++++++++--- kernel/bpf/memalloc.c | 14 ++++- .../selftests/bpf/progs/verifier_bits_iter.c | 61 ++++++++++++++++++- 4 files changed, 118 insertions(+), 14 deletions(-)