libbpf: Check the validity of size in user_ring_buffer__reserve()
authorHou Tao <houtao1@huawei.com>
Wed, 16 Nov 2022 07:23:51 +0000 (15:23 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 17 Nov 2022 23:49:59 +0000 (15:49 -0800)
commit05c1558bfcb63b95a9f530767c04c7db091560f2
treefa2ca7e67b027b642c4ed7cfb7872ab9b9106a29
parent64176bff2446cd825b163976ee451fb6e5cd851d
libbpf: Check the validity of size in user_ring_buffer__reserve()

The top two bits of size are used as busy and discard flags, so reject
the reservation that has any of these special bits in the size. With the
addition of validity check, these is also no need to check whether or
not total_size is overflowed.

Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20221116072351.1168938-5-houtao@huaweicloud.com
tools/lib/bpf/ringbuf.c