Re: [PATCH v2] bpf: Fix integer overflow involving bucket_size

From: patchwork-bot+netdevbpf
Date: Fri Aug 06 2021 - 19:10:11 EST


Hello:

This patch was applied to bpf/bpf.git (refs/heads/master):

On Sat, 7 Aug 2021 00:04:18 +0900 you wrote:
> In __htab_map_lookup_and_delete_batch(), hash buckets are iterated over
> to count the number of elements in each bucket (bucket_size).
> If bucket_size is large enough, the multiplication to calculate
> kvmalloc() size could overflow, resulting in out-of-bounds write
> as reported by KASAN.
>
> [...]
> [ 104.986052] BUG: KASAN: vmalloc-out-of-bounds in __htab_map_lookup_and_delete_batch+0x5ce/0xb60
> [ 104.986489] Write of size 4194224 at addr ffffc9010503be70 by task crash/112
> [ 104.986889]
> [ 104.987193] CPU: 0 PID: 112 Comm: crash Not tainted 5.14.0-rc4 #13
> [ 104.987552] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
> [ 104.988104] Call Trace:
> [ 104.988410] dump_stack_lvl+0x34/0x44
> [ 104.988706] print_address_description.constprop.0+0x21/0x140
> [ 104.988991] ? __htab_map_lookup_and_delete_batch+0x5ce/0xb60
> [ 104.989327] ? __htab_map_lookup_and_delete_batch+0x5ce/0xb60
> [ 104.989622] kasan_report.cold+0x7f/0x11b
> [ 104.989881] ? __htab_map_lookup_and_delete_batch+0x5ce/0xb60
> [ 104.990239] kasan_check_range+0x17c/0x1e0
> [ 104.990467] memcpy+0x39/0x60
> [ 104.990670] __htab_map_lookup_and_delete_batch+0x5ce/0xb60
> [ 104.990982] ? __wake_up_common+0x4d/0x230
> [ 104.991256] ? htab_of_map_free+0x130/0x130
> [ 104.991541] bpf_map_do_batch+0x1fb/0x220
> [...]
>
> [...]

Here is the summary with links:
- [v2] bpf: Fix integer overflow involving bucket_size
https://git.kernel.org/bpf/bpf/c/ccd37ad9ef0a

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html