libbpf: fix potential overflow in ring__consume_n()
authorAndrii Nakryiko <andrii@kernel.org>
Tue, 30 Apr 2024 20:19:51 +0000 (13:19 -0700)
committerMartin KaFai Lau <martin.lau@kernel.org>
Thu, 2 May 2024 23:41:02 +0000 (16:41 -0700)
commit00f0e08f23fc007f4a5a71cd7e37fcdb15af0c1b
tree9bf2f7de3fb366f9cda9f3566132e53885be313c
parent29f38ca3e5ca5cacc33291f22c4848c6907b9d2b
libbpf: fix potential overflow in ring__consume_n()

ringbuf_process_ring() return int64_t, while ring__consume_n() assigns
it to int. It's highly unlikely, but possible for ringbuf_process_ring()
to return value larger than INT_MAX, so use int64_t. ring__consume_n()
does check INT_MAX before returning int result to the user.

Fixes: 4d22ea94ea33 ("libbpf: Add ring__consume_n / ring_buffer__consume_n")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20240430201952.888293-1-andrii@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
tools/lib/bpf/ringbuf.c